001// Generated by delombok at Fri Nov 22 22:30:55 CET 2019
002/**
003 * Copyright (c) 2010-2019 Mark Allen, Norbert Bartels.
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023package com.restfb.types.ads;
024
025import java.util.List;
026import com.restfb.Facebook;
027
028/**
029 * Represents the <a href="https://developers.facebook.com/docs/marketing-api/adcreative/">AdGroup Creative type</a>.
030 */
031public class AdCreative extends NamedAdsObject {
032  private static final long serialVersionUID = 1L;
033  /**
034   * The actor ID (Page ID) of this creative.
035   *
036   * This field is available only for mobile app ads created before 2015
037   */
038  @Facebook("actor_id")
039  private String actorId;
040  /**
041   * The image used for actor's icon.
042   *
043   * This field is available only for mobile app ads created before 2015
044   */
045  @Facebook("actor_image_hash")
046  private String actorImageHash;
047  /**
048   * The URL of the icon for the actor (Page ID) of this creative.
049   *
050   * This field is only available for mobile app ads created before 2015
051   */
052  @Facebook("actor_image_url")
053  private String actorImageUrl;
054  /**
055   * The title text used for actor.
056   *
057   * This field is available only for mobile app ads created before 2015
058   */
059  @Facebook("actor_name")
060  private String actorName;
061  /**
062   * Ad Labels that are associated with this creative
063   */
064  @Facebook("adlabels")
065  private List<AdLabel> adlabels;
066  /**
067   * Deep link fallback behavior for dynamic product ads if the app is not installed.
068   */
069  @Facebook("applink_treatment")
070  private String applinkTreatment;
071  /**
072   * The body of the ad
073   */
074  @Facebook
075  private String body;
076  /**
077   * The call to action button text and header text of legacy ads.
078   */
079  @Facebook("call_to_action_type")
080  private String callToActionType;
081  /**
082   * A JSON object defining crop dimensions for the image specified.
083   *
084   * See image crop reference for more details
085   */
086  @Facebook("image_crops")
087  private AdsImageCrops imageCrops;
088  /**
089   * Image hash for an image you can use in creatives.
090   *
091   * See image library for more details
092   */
093  @Facebook("image_hash")
094  private String imageHash;
095  /**
096   * A URL for the image for this creative.
097   *
098   * The image specified at this URL will be saved into the ad account's image library
099   */
100  @Facebook("image_url")
101  private String imageUrl;
102  /**
103   * Instagram actor ID
104   */
105  @Facebook("instagram_actor_id")
106  private String instagramActorId;
107  /**
108   * Instagram permalink
109   */
110  @Facebook("instagram_permalink_url")
111  private String instagramPermalinkUrl;
112  /**
113   * Instagram Story ID
114   *
115   * -- GETTER
116   */
117  @Facebook("instagram_story_id")
118  private String instagramStoryId;
119  @Facebook("interactive_components_spec")
120  private AdCreativeInteractiveComponentsSpec interactiveComponentsSpec;
121  /**
122   * The Open Graph (OG) ID for the link in this creative if the landing page has OG tags
123   */
124  @Facebook("link_og_id")
125  private String linkOgId;
126  /**
127   * Used to identify a specific landing tab on the Page (e.g. a Page tab app) by the Page tab's URL.
128   *
129   * See connection objects for retrieving Page tabs' URLs. app_data parameters may be added to the url to pass data to
130   * a tab app
131   */
132  @Facebook("link_url")
133  private String linkUrl;
134  /**
135   * The ID of the promoted_object or object that is relevant to the ad and ad type
136   */
137  @Facebook("object_id")
138  private String objectId;
139  /**
140   * The ID of a page post to use in an ad.
141   *
142   * This ID can be retrieved by using the graph API to query the posts of the page. If an image is used in the post, it
143   * will be downloaded and available in your account's image library
144   */
145  @Facebook("object_story_id")
146  private String objectStoryId;
147  /**
148   * The page id and the content to create a new unpublished page post specified using one of link_data, photo_data,
149   * video_data, offer_data, text_data or template_data
150   */
151  @Facebook("object_story_spec")
152  private AdCreativeObjectStorySpec objectStorySpec;
153  /**
154   * The type of object that is being advertised.
155   *
156   * Allowed values are:
157   * <ul>
158   * <li>PAGE</li>
159   * <li>DOMAIN</li>
160   * <li>EVENT</li>
161   * <li>STORE_ITEM: refers to an iTunes or Google Play store destination</li>
162   * <li>OFFER</li>
163   * <li>SHARE: from a page</li>
164   * <li>PHOTO</li>
165   * <li>STATUS: of a page</li>
166   * <li>VIDEO</li>
167   * <li>APPLICATION: app on Facebook</li>
168   * <li>INVALID: when an invalid object_id was specified such as a deleted object or if you do not have permission to
169   * see the object. In very few cases, this field may be empty if Facebook is unable to identify the type of advertised
170   * object</li>
171   * </ul>
172   */
173  @Facebook("object_type")
174  private String objectType;
175  /**
176   * Destination URL for a link ads not connected to a page
177   */
178  @Facebook("object_url")
179  private String objectUrl;
180  /**
181   * Use this field to customize the media for different Facebook placements.
182   *
183   * Currently you can use this field for customizing images only. The media specified here replaces the original media
184   * defined in the ad creative when the ad displays on those placements. For example, if you define a media here for
185   * the instagram key, Facebook uses that media instead of the media defined in the ad creative when showing the ad on
186   * Instagram.
187   */
188  @Facebook("platform_customizations")
189  private String platformCustomizations;
190  /**
191   * The ID of the product set for this creative. See dynamic product ads for more detail
192   */
193  @Facebook("product_set_id")
194  private String productSetId;
195  /**
196   * The run status of this creative.
197   *
198   * Allowed values are:
199   * <ul>
200   * <li>ACTIVE</li>
201   * <li>DELETED</li>
202   * </ul>
203   */
204  @Facebook("run_status")
205  private String runStatus;
206  /**
207   * The Tracking URL for dynamic product ads.
208   *
209   * See dynamic product ads for more detail
210   */
211  @Facebook("template_url")
212  private String templateUrl;
213  /**
214   * The URL to a thumbnail for this creative.
215   *
216   * You can optionally request dimensions of this thumbnail by providing the thumbnail_width and thumbnail_height
217   * parameters. See example for more detail
218   */
219  @Facebook("thumbnail_url")
220  private String thumbnailUrl;
221  /**
222   * Title for a link ad (not connected to a Page)
223   */
224  @Facebook("title")
225  private String title;
226  /**
227   * A set of query string parameters which will replace or be appended to urls clicked from page post ads, and canvas
228   * app install creatives only
229   */
230  @Facebook("url_tags")
231  private String urlTags;
232  @Facebook("use_page_actor_override")
233  private Boolean usePageActorOverride;
234  @Facebook("video_id")
235  private String videoId;
236  @Facebook("creative_id")
237  private String creativeId;
238
239  /**
240   * @return The actor ID (Page ID) of this creative.
241   */
242  @java.lang.SuppressWarnings("all")
243  public String getActorId() {
244    return this.actorId;
245  }
246
247  /**
248   * The actor ID (Page ID) of this creative.
249   *
250   * This field is available only for mobile app ads created before 2015
251   */
252  @java.lang.SuppressWarnings("all")
253  public void setActorId(final String actorId) {
254    this.actorId = actorId;
255  }
256
257  /**
258   * @return The image used for actor's icon.
259   */
260  @java.lang.SuppressWarnings("all")
261  public String getActorImageHash() {
262    return this.actorImageHash;
263  }
264
265  /**
266   * The image used for actor's icon.
267   *
268   * This field is available only for mobile app ads created before 2015
269   */
270  @java.lang.SuppressWarnings("all")
271  public void setActorImageHash(final String actorImageHash) {
272    this.actorImageHash = actorImageHash;
273  }
274
275  /**
276   * @return The URL of the icon for the actor (Page ID) of this creative.
277   */
278  @java.lang.SuppressWarnings("all")
279  public String getActorImageUrl() {
280    return this.actorImageUrl;
281  }
282
283  /**
284   * The URL of the icon for the actor (Page ID) of this creative.
285   *
286   * This field is only available for mobile app ads created before 2015
287   */
288  @java.lang.SuppressWarnings("all")
289  public void setActorImageUrl(final String actorImageUrl) {
290    this.actorImageUrl = actorImageUrl;
291  }
292
293  /**
294   * @return The title text used for actor.
295   */
296  @java.lang.SuppressWarnings("all")
297  public String getActorName() {
298    return this.actorName;
299  }
300
301  /**
302   * The title text used for actor.
303   *
304   * This field is available only for mobile app ads created before 2015
305   */
306  @java.lang.SuppressWarnings("all")
307  public void setActorName(final String actorName) {
308    this.actorName = actorName;
309  }
310
311  /**
312   * @return Ad Labels that are associated with this creative
313   */
314  @java.lang.SuppressWarnings("all")
315  public List<AdLabel> getAdlabels() {
316    return this.adlabels;
317  }
318
319  /**
320   * Ad Labels that are associated with this creative
321   */
322  @java.lang.SuppressWarnings("all")
323  public void setAdlabels(final List<AdLabel> adlabels) {
324    this.adlabels = adlabels;
325  }
326
327  /**
328   * Deep link fallback behavior for dynamic product ads if the app is not installed.
329   */
330  @java.lang.SuppressWarnings("all")
331  public String getApplinkTreatment() {
332    return this.applinkTreatment;
333  }
334
335  /**
336   * Deep link fallback behavior for dynamic product ads if the app is not installed.
337   */
338  @java.lang.SuppressWarnings("all")
339  public void setApplinkTreatment(final String applinkTreatment) {
340    this.applinkTreatment = applinkTreatment;
341  }
342
343  /**
344   * @return The body of the ad
345   */
346  @java.lang.SuppressWarnings("all")
347  public String getBody() {
348    return this.body;
349  }
350
351  /**
352   * The body of the ad
353   */
354  @java.lang.SuppressWarnings("all")
355  public void setBody(final String body) {
356    this.body = body;
357  }
358
359  /**
360   * @return The call to action button text and header text of legacy ads.
361   */
362  @java.lang.SuppressWarnings("all")
363  public String getCallToActionType() {
364    return this.callToActionType;
365  }
366
367  /**
368   * The call to action button text and header text of legacy ads.
369   */
370  @java.lang.SuppressWarnings("all")
371  public void setCallToActionType(final String callToActionType) {
372    this.callToActionType = callToActionType;
373  }
374
375  /**
376   * @return A JSON object defining crop dimensions for the image specified.
377   */
378  @java.lang.SuppressWarnings("all")
379  public AdsImageCrops getImageCrops() {
380    return this.imageCrops;
381  }
382
383  /**
384   * A JSON object defining crop dimensions for the image specified.
385   *
386   * See image crop reference for more details
387   */
388  @java.lang.SuppressWarnings("all")
389  public void setImageCrops(final AdsImageCrops imageCrops) {
390    this.imageCrops = imageCrops;
391  }
392
393  /**
394   * @return Image hash for an image you can use in creatives.
395   */
396  @java.lang.SuppressWarnings("all")
397  public String getImageHash() {
398    return this.imageHash;
399  }
400
401  /**
402   * Image hash for an image you can use in creatives.
403   *
404   * See image library for more details
405   */
406  @java.lang.SuppressWarnings("all")
407  public void setImageHash(final String imageHash) {
408    this.imageHash = imageHash;
409  }
410
411  /**
412   * @return A URL for the image for this creative.
413   */
414  @java.lang.SuppressWarnings("all")
415  public String getImageUrl() {
416    return this.imageUrl;
417  }
418
419  /**
420   * A URL for the image for this creative.
421   *
422   * The image specified at this URL will be saved into the ad account's image library
423   */
424  @java.lang.SuppressWarnings("all")
425  public void setImageUrl(final String imageUrl) {
426    this.imageUrl = imageUrl;
427  }
428
429  /**
430   * @return Instagram actor ID
431   */
432  @java.lang.SuppressWarnings("all")
433  public String getInstagramActorId() {
434    return this.instagramActorId;
435  }
436
437  /**
438   * Instagram actor ID
439   */
440  @java.lang.SuppressWarnings("all")
441  public void setInstagramActorId(final String instagramActorId) {
442    this.instagramActorId = instagramActorId;
443  }
444
445  /**
446   * @return Instagram permalink
447   */
448  @java.lang.SuppressWarnings("all")
449  public String getInstagramPermalinkUrl() {
450    return this.instagramPermalinkUrl;
451  }
452
453  /**
454   * Instagram permalink
455   */
456  @java.lang.SuppressWarnings("all")
457  public void setInstagramPermalinkUrl(final String instagramPermalinkUrl) {
458    this.instagramPermalinkUrl = instagramPermalinkUrl;
459  }
460
461  /**
462   * Instagram Story ID
463   *
464   * -- GETTER
465   *
466   * @return Instagram Story ID
467   */
468  @java.lang.SuppressWarnings("all")
469  public String getInstagramStoryId() {
470    return this.instagramStoryId;
471  }
472
473  /**
474   * Instagram Story ID
475   *
476   * -- GETTER
477   */
478  @java.lang.SuppressWarnings("all")
479  public void setInstagramStoryId(final String instagramStoryId) {
480    this.instagramStoryId = instagramStoryId;
481  }
482
483  @java.lang.SuppressWarnings("all")
484  public AdCreativeInteractiveComponentsSpec getInteractiveComponentsSpec() {
485    return this.interactiveComponentsSpec;
486  }
487
488  @java.lang.SuppressWarnings("all")
489  public void setInteractiveComponentsSpec(final AdCreativeInteractiveComponentsSpec interactiveComponentsSpec) {
490    this.interactiveComponentsSpec = interactiveComponentsSpec;
491  }
492
493  /**
494   * @return The Open Graph (OG) ID for the link in this creative if the landing page has OG tags
495   */
496  @java.lang.SuppressWarnings("all")
497  public String getLinkOgId() {
498    return this.linkOgId;
499  }
500
501  /**
502   * The Open Graph (OG) ID for the link in this creative if the landing page has OG tags
503   */
504  @java.lang.SuppressWarnings("all")
505  public void setLinkOgId(final String linkOgId) {
506    this.linkOgId = linkOgId;
507  }
508
509  /**
510   * @return Used to identify a specific landing tab on the Page (e.g. a Page tab app) by the Page tab's URL.
511   */
512  @java.lang.SuppressWarnings("all")
513  public String getLinkUrl() {
514    return this.linkUrl;
515  }
516
517  /**
518   * Used to identify a specific landing tab on the Page (e.g. a Page tab app) by the Page tab's URL.
519   *
520   * See connection objects for retrieving Page tabs' URLs. app_data parameters may be added to the url to pass data to
521   * a tab app
522   */
523  @java.lang.SuppressWarnings("all")
524  public void setLinkUrl(final String linkUrl) {
525    this.linkUrl = linkUrl;
526  }
527
528  /**
529   * @return The ID of the promoted_object or object that is relevant to the ad and ad type
530   */
531  @java.lang.SuppressWarnings("all")
532  public String getObjectId() {
533    return this.objectId;
534  }
535
536  /**
537   * The ID of the promoted_object or object that is relevant to the ad and ad type
538   */
539  @java.lang.SuppressWarnings("all")
540  public void setObjectId(final String objectId) {
541    this.objectId = objectId;
542  }
543
544  /**
545   * @return The ID of a page post to use in an ad.
546   */
547  @java.lang.SuppressWarnings("all")
548  public String getObjectStoryId() {
549    return this.objectStoryId;
550  }
551
552  /**
553   * The ID of a page post to use in an ad.
554   *
555   * This ID can be retrieved by using the graph API to query the posts of the page. If an image is used in the post, it
556   * will be downloaded and available in your account's image library
557   */
558  @java.lang.SuppressWarnings("all")
559  public void setObjectStoryId(final String objectStoryId) {
560    this.objectStoryId = objectStoryId;
561  }
562
563  /**
564   * @return The page id and the content to create a new unpublished page post
565   */
566  @java.lang.SuppressWarnings("all")
567  public AdCreativeObjectStorySpec getObjectStorySpec() {
568    return this.objectStorySpec;
569  }
570
571  /**
572   * The page id and the content to create a new unpublished page post specified using one of link_data, photo_data,
573   * video_data, offer_data, text_data or template_data
574   */
575  @java.lang.SuppressWarnings("all")
576  public void setObjectStorySpec(final AdCreativeObjectStorySpec objectStorySpec) {
577    this.objectStorySpec = objectStorySpec;
578  }
579
580  /**
581   * @return The type of object that is being advertised.
582   */
583  @java.lang.SuppressWarnings("all")
584  public String getObjectType() {
585    return this.objectType;
586  }
587
588  /**
589   * The type of object that is being advertised.
590   *
591   * Allowed values are:
592   * <ul>
593   * <li>PAGE</li>
594   * <li>DOMAIN</li>
595   * <li>EVENT</li>
596   * <li>STORE_ITEM: refers to an iTunes or Google Play store destination</li>
597   * <li>OFFER</li>
598   * <li>SHARE: from a page</li>
599   * <li>PHOTO</li>
600   * <li>STATUS: of a page</li>
601   * <li>VIDEO</li>
602   * <li>APPLICATION: app on Facebook</li>
603   * <li>INVALID: when an invalid object_id was specified such as a deleted object or if you do not have permission to
604   * see the object. In very few cases, this field may be empty if Facebook is unable to identify the type of advertised
605   * object</li>
606   * </ul>
607   */
608  @java.lang.SuppressWarnings("all")
609  public void setObjectType(final String objectType) {
610    this.objectType = objectType;
611  }
612
613  /**
614   * @return Destination URL for a link ads not connected to a page
615   */
616  @java.lang.SuppressWarnings("all")
617  public String getObjectUrl() {
618    return this.objectUrl;
619  }
620
621  /**
622   * Destination URL for a link ads not connected to a page
623   */
624  @java.lang.SuppressWarnings("all")
625  public void setObjectUrl(final String objectUrl) {
626    this.objectUrl = objectUrl;
627  }
628
629  /**
630   * @return Use this field to customize the media for different Facebook placements.
631   */
632  @java.lang.SuppressWarnings("all")
633  public String getPlatformCustomizations() {
634    return this.platformCustomizations;
635  }
636
637  /**
638   * Use this field to customize the media for different Facebook placements.
639   *
640   * Currently you can use this field for customizing images only. The media specified here replaces the original media
641   * defined in the ad creative when the ad displays on those placements. For example, if you define a media here for
642   * the instagram key, Facebook uses that media instead of the media defined in the ad creative when showing the ad on
643   * Instagram.
644   */
645  @java.lang.SuppressWarnings("all")
646  public void setPlatformCustomizations(final String platformCustomizations) {
647    this.platformCustomizations = platformCustomizations;
648  }
649
650  /**
651   * @return The ID of the product set for this creative. See dynamic product ads for more detail
652   */
653  @java.lang.SuppressWarnings("all")
654  public String getProductSetId() {
655    return this.productSetId;
656  }
657
658  /**
659   * The ID of the product set for this creative. See dynamic product ads for more detail
660   */
661  @java.lang.SuppressWarnings("all")
662  public void setProductSetId(final String productSetId) {
663    this.productSetId = productSetId;
664  }
665
666  /**
667   * @return The run status of this creative.
668   */
669  @java.lang.SuppressWarnings("all")
670  public String getRunStatus() {
671    return this.runStatus;
672  }
673
674  /**
675   * The run status of this creative.
676   *
677   * Allowed values are:
678   * <ul>
679   * <li>ACTIVE</li>
680   * <li>DELETED</li>
681   * </ul>
682   */
683  @java.lang.SuppressWarnings("all")
684  public void setRunStatus(final String runStatus) {
685    this.runStatus = runStatus;
686  }
687
688  /**
689   * @return The Tracking URL for dynamic product ads.
690   */
691  @java.lang.SuppressWarnings("all")
692  public String getTemplateUrl() {
693    return this.templateUrl;
694  }
695
696  /**
697   * The Tracking URL for dynamic product ads.
698   *
699   * See dynamic product ads for more detail
700   */
701  @java.lang.SuppressWarnings("all")
702  public void setTemplateUrl(final String templateUrl) {
703    this.templateUrl = templateUrl;
704  }
705
706  /**
707   * @return The URL to a thumbnail for this creative.
708   */
709  @java.lang.SuppressWarnings("all")
710  public String getThumbnailUrl() {
711    return this.thumbnailUrl;
712  }
713
714  /**
715   * The URL to a thumbnail for this creative.
716   *
717   * You can optionally request dimensions of this thumbnail by providing the thumbnail_width and thumbnail_height
718   * parameters. See example for more detail
719   */
720  @java.lang.SuppressWarnings("all")
721  public void setThumbnailUrl(final String thumbnailUrl) {
722    this.thumbnailUrl = thumbnailUrl;
723  }
724
725  /**
726   * @return Title for a link ad (not connected to a Page)
727   */
728  @java.lang.SuppressWarnings("all")
729  public String getTitle() {
730    return this.title;
731  }
732
733  /**
734   * Title for a link ad (not connected to a Page)
735   */
736  @java.lang.SuppressWarnings("all")
737  public void setTitle(final String title) {
738    this.title = title;
739  }
740
741  /**
742   * @return A set of query string parameters
743   */
744  @java.lang.SuppressWarnings("all")
745  public String getUrlTags() {
746    return this.urlTags;
747  }
748
749  /**
750   * A set of query string parameters which will replace or be appended to urls clicked from page post ads, and canvas
751   * app install creatives only
752   */
753  @java.lang.SuppressWarnings("all")
754  public void setUrlTags(final String urlTags) {
755    this.urlTags = urlTags;
756  }
757
758  @java.lang.SuppressWarnings("all")
759  public Boolean getUsePageActorOverride() {
760    return this.usePageActorOverride;
761  }
762
763  @java.lang.SuppressWarnings("all")
764  public void setUsePageActorOverride(final Boolean usePageActorOverride) {
765    this.usePageActorOverride = usePageActorOverride;
766  }
767
768  @java.lang.SuppressWarnings("all")
769  public String getVideoId() {
770    return this.videoId;
771  }
772
773  @java.lang.SuppressWarnings("all")
774  public void setVideoId(final String videoId) {
775    this.videoId = videoId;
776  }
777
778  @java.lang.SuppressWarnings("all")
779  public String getCreativeId() {
780    return this.creativeId;
781  }
782
783  @java.lang.SuppressWarnings("all")
784  public void setCreativeId(final String creativeId) {
785    this.creativeId = creativeId;
786  }
787}