facebookbusiness 0.8.0.3 → 0.9.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +3 -0
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +22 -23
  4. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +22 -5
  8. data/lib/facebook_ads/ad_objects/ad_activity.rb +0 -1
  9. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +6 -0
  10. data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
  11. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +10 -2
  12. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative.rb +7 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +5 -0
  15. data/lib/facebook_ads/ad_objects/{offline_terms_of_service.rb → ad_creative_omnichannel_link_spec.rb} +5 -4
  16. data/lib/facebook_ads/ad_objects/ad_preview.rb +4 -0
  17. data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
  18. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
  19. data/lib/facebook_ads/ad_objects/ad_set.rb +5 -1
  20. data/lib/facebook_ads/ad_objects/ad_study.rb +0 -12
  21. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +1 -4
  22. data/lib/facebook_ads/ad_objects/ad_video.rb +7 -11
  23. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -0
  24. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  25. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +7 -0
  26. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +2 -0
  27. data/lib/facebook_ads/ad_objects/ads_insights.rb +2 -0
  28. data/lib/facebook_ads/ad_objects/ads_pixel.rb +5 -0
  29. data/lib/facebook_ads/ad_objects/album.rb +0 -10
  30. data/lib/facebook_ads/ad_objects/application.rb +2 -10
  31. data/lib/facebook_ads/ad_objects/automotive_model.rb +25 -0
  32. data/lib/facebook_ads/ad_objects/business.rb +29 -3
  33. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -1
  34. data/lib/facebook_ads/ad_objects/business_role_request.rb +4 -4
  35. data/lib/facebook_ads/ad_objects/business_unit.rb +0 -1
  36. data/lib/facebook_ads/ad_objects/business_user.rb +4 -4
  37. data/lib/facebook_ads/ad_objects/campaign.rb +10 -1
  38. data/lib/facebook_ads/ad_objects/catalog_item_channels_to_integrity_status.rb +38 -0
  39. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +3 -0
  40. data/lib/facebook_ads/ad_objects/comment.rb +1 -0
  41. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +3 -24
  42. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
  43. data/lib/facebook_ads/ad_objects/{ad_creative_instagram_branded_content.rb → contextual_bundling_spec.rb} +2 -1
  44. data/lib/facebook_ads/ad_objects/custom_audience.rb +8 -0
  45. data/lib/facebook_ads/ad_objects/extended_credit.rb +0 -1
  46. data/lib/facebook_ads/ad_objects/group.rb +26 -22
  47. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  48. data/lib/facebook_ads/ad_objects/ig_media.rb +0 -1
  49. data/lib/facebook_ads/ad_objects/ig_user.rb +6 -1
  50. data/lib/facebook_ads/ad_objects/image_copyright.rb +302 -0
  51. data/lib/facebook_ads/ad_objects/link.rb +0 -4
  52. data/lib/facebook_ads/ad_objects/live_video.rb +12 -12
  53. data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/page.rb +43 -15
  55. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  56. data/lib/facebook_ads/ad_objects/{friend_list.rb → page_commerce_eligibility.rb} +5 -5
  57. data/lib/facebook_ads/ad_objects/page_post.rb +0 -10
  58. data/lib/facebook_ads/ad_objects/{event_tour.rb → payment_engine_payment.rb} +35 -18
  59. data/lib/facebook_ads/ad_objects/payment_subscription.rb +3 -3
  60. data/lib/facebook_ads/ad_objects/photo.rb +0 -10
  61. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
  62. data/lib/facebook_ads/ad_objects/post.rb +46 -29
  63. data/lib/facebook_ads/ad_objects/product_catalog.rb +18 -9
  64. data/lib/facebook_ads/ad_objects/product_feed.rb +3 -1
  65. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +2 -0
  66. data/lib/facebook_ads/ad_objects/product_item.rb +8 -1
  67. data/lib/facebook_ads/ad_objects/{user_payment_methods_info.rb → product_item_ar_data.rb} +23 -8
  68. data/lib/facebook_ads/ad_objects/referral.rb +2 -0
  69. data/lib/facebook_ads/ad_objects/server_side/action_source.rb +48 -0
  70. data/lib/facebook_ads/ad_objects/server_side/content.rb +23 -4
  71. data/lib/facebook_ads/ad_objects/server_side/event.rb +32 -6
  72. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +1 -1
  73. data/lib/facebook_ads/ad_objects/server_side/util.rb +14 -1
  74. data/lib/facebook_ads/ad_objects/system_user.rb +4 -4
  75. data/lib/facebook_ads/ad_objects/targeting.rb +0 -2
  76. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +0 -1
  77. data/lib/facebook_ads/ad_objects/unified_thread.rb +0 -1
  78. data/lib/facebook_ads/ad_objects/user.rb +31 -18
  79. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -0
  80. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +3 -0
  81. data/lib/facebook_ads/ad_objects/{read_only_analytics_user_property_config.rb → whats_app_business_profile.rb} +2 -3
  82. data/lib/facebook_ads/edge.rb +2 -1
  83. data/lib/facebook_ads/session.rb +1 -1
  84. data/lib/facebook_ads/version.rb +2 -2
  85. metadata +12 -12
  86. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -71
  87. data/lib/facebook_ads/ad_objects/ad_account_roas.rb +0 -65
  88. data/lib/facebook_ads/ad_objects/user_payment_modules_options.rb +0 -40
@@ -29,6 +29,7 @@ module FacebookAds
29
29
  ADACCOUNT_TASKS = [
30
30
  "ADVERTISE",
31
31
  "ANALYZE",
32
+ "DRAFT",
32
33
  "MANAGE",
33
34
  ]
34
35
 
@@ -55,7 +56,6 @@ module FacebookAds
55
56
  "PROFILE_PLUS_ADVERTISE",
56
57
  "PROFILE_PLUS_ANALYZE",
57
58
  "PROFILE_PLUS_CREATE_CONTENT",
58
- "PROFILE_PLUS_LIVE_STREAM_MODERATION",
59
59
  "PROFILE_PLUS_MANAGE",
60
60
  "PROFILE_PLUS_MESSAGING",
61
61
  "PROFILE_PLUS_MODERATE",
@@ -29,14 +29,14 @@ module FacebookAds
29
29
  ROLE = [
30
30
  "ADMIN",
31
31
  "ADS_RIGHTS_REVIEWER",
32
+ "DEFAULT",
32
33
  "DEVELOPER",
33
34
  "EMPLOYEE",
34
35
  "FINANCE_ANALYST",
36
+ "FINANCE_EDIT",
35
37
  "FINANCE_EDITOR",
36
- "FINANCE_EDIT_TASK",
37
- "FINANCE_VIEW_TASK",
38
- "MODERATE_TASK",
39
- "OPERATE_TASK",
38
+ "FINANCE_VIEW",
39
+ "MANAGE",
40
40
  "PARTNER_CENTER_ADMIN",
41
41
  "PARTNER_CENTER_ANALYST",
42
42
  "PARTNER_CENTER_EDUCATION",
@@ -112,7 +112,6 @@ module FacebookAds
112
112
  has_edge :reports do |edge|
113
113
  edge.get do |api|
114
114
  api.has_param :filter_by, 'string'
115
- api.has_param :metric_scope, 'hash'
116
115
  api.has_param :order_by, 'string'
117
116
  end
118
117
  end
@@ -29,14 +29,14 @@ module FacebookAds
29
29
  ROLE = [
30
30
  "ADMIN",
31
31
  "ADS_RIGHTS_REVIEWER",
32
+ "DEFAULT",
32
33
  "DEVELOPER",
33
34
  "EMPLOYEE",
34
35
  "FINANCE_ANALYST",
36
+ "FINANCE_EDIT",
35
37
  "FINANCE_EDITOR",
36
- "FINANCE_EDIT_TASK",
37
- "FINANCE_VIEW_TASK",
38
- "MODERATE_TASK",
39
- "OPERATE_TASK",
38
+ "FINANCE_VIEW",
39
+ "MANAGE",
40
40
  "PARTNER_CENTER_ADMIN",
41
41
  "PARTNER_CENTER_ANALYST",
42
42
  "PARTNER_CENTER_EDUCATION",
@@ -30,7 +30,6 @@ module FacebookAds
30
30
  "COST_CAP",
31
31
  "LOWEST_COST_WITHOUT_CAP",
32
32
  "LOWEST_COST_WITH_BID_CAP",
33
- "TARGET_COST",
34
33
  ]
35
34
 
36
35
  CONFIGURED_STATUS = [
@@ -101,6 +100,11 @@ module FacebookAds
101
100
  "VIDEO_VIEWS",
102
101
  ]
103
102
 
103
+ SMART_PROMOTION_TYPE = [
104
+ "GUIDED_CREATION",
105
+ "SMART_APP_PROMOTION",
106
+ ]
107
+
104
108
  SPECIAL_AD_CATEGORIES = [
105
109
  "CREDIT",
106
110
  "EMPLOYMENT",
@@ -384,6 +388,7 @@ module FacebookAds
384
388
 
385
389
 
386
390
  field :account_id, 'string'
391
+ field :ad_strategy_id, 'string'
387
392
  field :adlabels, { list: 'AdLabel' }
388
393
  field :bid_strategy, { enum: -> { BID_STRATEGY }}
389
394
  field :boosted_object_id, 'string'
@@ -398,6 +403,7 @@ module FacebookAds
398
403
  field :daily_budget, 'string'
399
404
  field :effective_status, { enum: -> { EFFECTIVE_STATUS }}
400
405
  field :id, 'string'
406
+ field :is_skadnetwork_attribution, 'bool'
401
407
  field :issues_info, { list: 'AdCampaignIssuesInfo' }
402
408
  field :last_budget_toggling_time, 'datetime'
403
409
  field :lifetime_budget, 'string'
@@ -406,6 +412,7 @@ module FacebookAds
406
412
  field :pacing_type, { list: 'string' }
407
413
  field :promoted_object, 'AdPromotedObject'
408
414
  field :recommendations, { list: 'AdRecommendation' }
415
+ field :smart_promotion_type, 'string'
409
416
  field :source_campaign, 'Campaign'
410
417
  field :source_campaign_id, 'string'
411
418
  field :special_ad_categories, { list: 'string' }
@@ -506,6 +513,7 @@ module FacebookAds
506
513
  api.has_param :time_range, 'object'
507
514
  api.has_param :time_ranges, { list: 'object' }
508
515
  api.has_param :use_account_attribution_setting, 'bool'
516
+ api.has_param :use_unified_attribution_setting, 'bool'
509
517
  end
510
518
  edge.post 'AdReportRun' do |api|
511
519
  api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
@@ -528,6 +536,7 @@ module FacebookAds
528
536
  api.has_param :time_range, 'object'
529
537
  api.has_param :time_ranges, { list: 'object' }
530
538
  api.has_param :use_account_attribution_setting, 'bool'
539
+ api.has_param :use_unified_attribution_setting, 'bool'
531
540
  end
532
541
  end
533
542
 
@@ -0,0 +1,38 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class CatalogItemChannelsToIntegrityStatus < AdObject
29
+
30
+ field :channels, { list: 'string' }
31
+ field :rejection_information, 'object'
32
+ has_no_id
33
+ has_no_get
34
+ has_no_post
35
+ has_no_delete
36
+
37
+ end
38
+ end
@@ -44,6 +44,7 @@ module FacebookAds
44
44
  field :computers_and_tablets, 'object'
45
45
  field :computers_laptops_and_tablets, 'object'
46
46
  field :diapering_and_potty_training, 'object'
47
+ field :digital_product_offer, 'object'
47
48
  field :electronic_accessories_and_cables, 'object'
48
49
  field :electronics_accessories, 'object'
49
50
  field :furniture, 'object'
@@ -53,6 +54,8 @@ module FacebookAds
53
54
  field :household_and_cleaning_supplies, 'object'
54
55
  field :jewelry, 'object'
55
56
  field :large_appliances, 'object'
57
+ field :local_service_business_item, 'object'
58
+ field :local_service_business_restaurant, 'object'
56
59
  field :loyalty_offer, 'object'
57
60
  field :meetup_space, 'object'
58
61
  field :nursery, 'object'
@@ -32,6 +32,7 @@ module FacebookAds
32
32
  "FRIENDS_ONLY",
33
33
  "GRAPHQL_MULTIPLE_VALUE_HACK_DO_NOT_USE",
34
34
  "OWNER_OR_COMMENTER",
35
+ "PENDING_APPROVAL",
35
36
  "SIDE_CONVERSATION",
36
37
  "SIDE_CONVERSATION_AND_POST_OWNER",
37
38
  ]
@@ -26,16 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class CommerceMerchantSettings < AdObject
29
- CTA = [
30
- "CONTACT_MERCHANT",
31
- "OFFSITE_LINK",
32
- ]
33
-
34
- MERCHANT_STATUS = [
35
- "ENABLED",
36
- "EXTERNALLY_DISABLED",
37
- ]
38
-
39
29
 
40
30
  field :braintree_merchant_id, 'string'
41
31
  field :checkout_message, 'string'
@@ -43,8 +33,10 @@ module FacebookAds
43
33
  field :cta, 'string'
44
34
  field :disable_checkout_urls, 'bool'
45
35
  field :display_name, 'string'
36
+ field :external_merchant_id, 'string'
46
37
  field :facebook_channel, 'object'
47
38
  field :has_discount_code, 'bool'
39
+ field :has_onsite_intent, 'bool'
48
40
  field :id, 'string'
49
41
  field :instagram_channel, 'object'
50
42
  field :merchant_alert_email, 'string'
@@ -60,22 +52,9 @@ module FacebookAds
60
52
  field :terms, 'string'
61
53
  field :terms_url_by_locale, 'hash'
62
54
  field :whatsapp_channel, 'object'
55
+ has_no_post
63
56
  has_no_delete
64
57
 
65
- has_edge :facebook_channel do |edge|
66
- edge.post 'CommerceMerchantSettings' do |api|
67
- api.has_param :pages, { list: 'string' }
68
- end
69
- end
70
-
71
- has_edge :instagram_channel do |edge|
72
- edge.delete
73
- edge.post 'CommerceMerchantSettings' do |api|
74
- api.has_param :instagram_business_accounts, { list: 'string' }
75
- api.has_param :instagram_users, { list: 'string' }
76
- end
77
- end
78
-
79
58
  has_edge :order_management_apps do |edge|
80
59
  edge.get 'Application'
81
60
  edge.post 'CommerceMerchantSettings'
@@ -31,6 +31,7 @@ module FacebookAds
31
31
  field :marketplace_approval_status, 'string'
32
32
  field :marketplace_approval_status_details, 'object'
33
33
  field :payment_setup, 'string'
34
+ field :review_status, 'object'
34
35
  field :shop_setup, 'string'
35
36
  has_no_id
36
37
  has_no_get
@@ -25,8 +25,9 @@ module FacebookAds
25
25
  # on github and we'll fix in our codegen framework. We'll not be able to accept
26
26
  # pull request for this class.
27
27
 
28
- class AdCreativeInstagramBrandedContent < AdObject
28
+ class ContextualBundlingSpec < AdObject
29
29
 
30
+ field :status, 'string'
30
31
  has_no_id
31
32
  has_no_get
32
33
  has_no_post
@@ -190,5 +190,13 @@ module FacebookAds
190
190
  end
191
191
  end
192
192
 
193
+ has_edge :usersreplace do |edge|
194
+ edge.post 'CustomAudience' do |api|
195
+ api.has_param :namespace, 'string'
196
+ api.has_param :payload, 'object'
197
+ api.has_param :session, 'object'
198
+ end
199
+ end
200
+
193
201
  end
194
202
  end
@@ -34,7 +34,6 @@ module FacebookAds
34
34
  field :id, 'string'
35
35
  field :is_access_revoked, 'bool'
36
36
  field :is_automated_experience, 'bool'
37
- field :last_payment_time, 'datetime'
38
37
  field :legal_entity_name, 'string'
39
38
  field :liable_biz_name, 'string'
40
39
  field :max_balance, 'CurrencyAmount'
@@ -48,6 +48,7 @@ module FacebookAds
48
48
  "DEALS",
49
49
  "EPHEMERAL",
50
50
  "EVENT_PLANNING",
51
+ "FAITH",
51
52
  "FAMILY",
52
53
  "FITNESS",
53
54
  "FOR_SALE",
@@ -70,6 +71,7 @@ module FacebookAds
70
71
  "SCHOOL_CLASS",
71
72
  "SORORITY",
72
73
  "SPORTS",
74
+ "STREAMER",
73
75
  "STUDY_GROUP",
74
76
  "SUPPORT",
75
77
  "TEAMMATES",
@@ -103,6 +105,7 @@ module FacebookAds
103
105
  "DEALS",
104
106
  "EPHEMERAL",
105
107
  "EVENT_PLANNING",
108
+ "FAITH",
106
109
  "FAMILY",
107
110
  "FITNESS",
108
111
  "FOR_SALE",
@@ -125,6 +128,7 @@ module FacebookAds
125
128
  "SCHOOL_CLASS",
126
129
  "SORORITY",
127
130
  "SPORTS",
131
+ "STREAMER",
128
132
  "STUDY_GROUP",
129
133
  "SUPPORT",
130
134
  "TEAMMATES",
@@ -148,15 +152,6 @@ module FacebookAds
148
152
  "WORK_VC_CALL",
149
153
  ]
150
154
 
151
- SUGGESTION_CATEGORY = [
152
- "EVENT",
153
- "MESSENGER",
154
- "WORK",
155
- "WORKPLACE",
156
- "WORKPLACE_1_1",
157
- "WORKPLACE_MANAGER",
158
- ]
159
-
160
155
 
161
156
  field :archived, 'bool'
162
157
  field :cover, 'CoverPhoto'
@@ -169,7 +164,6 @@ module FacebookAds
169
164
  field :member_count, 'int'
170
165
  field :member_request_count, 'int'
171
166
  field :name, 'string'
172
- field :owner, 'object'
173
167
  field :parent, 'object'
174
168
  field :permissions, { list: 'string' }
175
169
  field :privacy, 'string'
@@ -214,7 +208,15 @@ module FacebookAds
214
208
  end
215
209
 
216
210
  has_edge :feed do |edge|
217
- edge.post do |api|
211
+ edge.get 'Post' do |api|
212
+ api.has_param :include_hidden, 'bool'
213
+ api.has_param :q, 'string'
214
+ api.has_param :show_expired, 'bool'
215
+ api.has_param :since, 'datetime'
216
+ api.has_param :until, 'datetime'
217
+ api.has_param :with, 'string'
218
+ end
219
+ edge.post 'Post' do |api|
218
220
  api.has_param :actions, 'object'
219
221
  api.has_param :adaptive_type, 'string'
220
222
  api.has_param :album_id, 'string'
@@ -228,10 +230,10 @@ module FacebookAds
228
230
  api.has_param :attached_media, { list: 'object' }
229
231
  api.has_param :audience_exp, 'bool'
230
232
  api.has_param :backdated_time, 'datetime'
231
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
233
+ api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }}
232
234
  api.has_param :call_to_action, 'object'
233
235
  api.has_param :caption, 'string'
234
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
236
+ api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }}
235
237
  api.has_param :child_attachments, { list: 'object' }
236
238
  api.has_param :client_mutation_id, 'string'
237
239
  api.has_param :composer_entry_picker, 'string'
@@ -251,7 +253,7 @@ module FacebookAds
251
253
  api.has_param :expanded_height, 'int'
252
254
  api.has_param :expanded_width, 'int'
253
255
  api.has_param :feed_targeting, 'object'
254
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
256
+ api.has_param :formatting, { enum: -> { Post::FORMATTING }}
255
257
  api.has_param :fun_fact_prompt_id, 'int'
256
258
  api.has_param :fun_fact_toastee_id, 'int'
257
259
  api.has_param :has_nickname, 'bool'
@@ -288,11 +290,11 @@ module FacebookAds
288
290
  api.has_param :page_recommendation, 'string'
289
291
  api.has_param :picture, 'string'
290
292
  api.has_param :place, 'object'
291
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
293
+ api.has_param :place_attachment_setting, { enum: -> { Post::PLACE_ATTACHMENT_SETTING }}
292
294
  api.has_param :place_list, 'string'
293
295
  api.has_param :place_list_data, { list: 'string' }
294
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
295
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
296
+ api.has_param :post_surfaces_blacklist, { list: { enum: -> { Post::POST_SURFACES_BLACKLIST }} }
297
+ api.has_param :posting_to_redspace, { enum: -> { Post::POSTING_TO_REDSPACE }}
296
298
  api.has_param :privacy, 'string'
297
299
  api.has_param :prompt_id, 'string'
298
300
  api.has_param :prompt_tracking_string, 'string'
@@ -312,7 +314,7 @@ module FacebookAds
312
314
  api.has_param :sponsor_relationship, 'int'
313
315
  api.has_param :suggested_place_id, 'object'
314
316
  api.has_param :tags, { list: 'int' }
315
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
317
+ api.has_param :target_surface, { enum: -> { Post::TARGET_SURFACE }}
316
318
  api.has_param :targeting, 'object'
317
319
  api.has_param :text_format_metadata, 'string'
318
320
  api.has_param :text_format_preset_id, 'string'
@@ -322,7 +324,7 @@ module FacebookAds
322
324
  api.has_param :time_since_original_post, 'int'
323
325
  api.has_param :title, 'string'
324
326
  api.has_param :tracking_info, 'string'
325
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
327
+ api.has_param :unpublished_content_type, { enum: -> { Post::UNPUBLISHED_CONTENT_TYPE }}
326
328
  api.has_param :user_selected_tags, 'bool'
327
329
  api.has_param :video_start_time_ms, 'int'
328
330
  api.has_param :viewer_coordinates, 'object'
@@ -330,6 +332,10 @@ module FacebookAds
330
332
  end
331
333
  end
332
334
 
335
+ has_edge :files do |edge|
336
+ edge.get
337
+ end
338
+
333
339
  has_edge :groups do |edge|
334
340
  edge.get 'Group'
335
341
  edge.post 'Group' do |api|
@@ -344,8 +350,6 @@ module FacebookAds
344
350
  api.has_param :post_requires_admin_approval, 'bool'
345
351
  api.has_param :privacy, 'string'
346
352
  api.has_param :ref, 'string'
347
- api.has_param :suggestion_category, { enum: -> { Group::SUGGESTION_CATEGORY }}
348
- api.has_param :suggestion_identifier, 'string'
349
353
  end
350
354
  end
351
355
 
@@ -473,7 +477,6 @@ module FacebookAds
473
477
  api.has_param :animated_effect_id, 'int'
474
478
  api.has_param :application_id, 'string'
475
479
  api.has_param :asked_fun_fact_prompt_id, 'int'
476
- api.has_param :attribution_app_id, 'string'
477
480
  api.has_param :audio_story_wave_animation_handle, 'string'
478
481
  api.has_param :composer_entry_picker, 'string'
479
482
  api.has_param :composer_entry_point, 'string'
@@ -526,6 +529,7 @@ module FacebookAds
526
529
  api.has_param :scheduled_publish_time, 'int'
527
530
  api.has_param :slideshow_spec, 'hash'
528
531
  api.has_param :source, 'string'
532
+ api.has_param :source_instagram_media_id, 'string'
529
533
  api.has_param :spherical, 'bool'
530
534
  api.has_param :start_offset, 'int'
531
535
  api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
@@ -38,6 +38,7 @@ module FacebookAds
38
38
  field :room_id, 'string'
39
39
  field :sale_price, 'string'
40
40
  field :url, 'string'
41
+ has_no_delete
41
42
 
42
43
  has_edge :pricing_variables do |edge|
43
44
  edge.get 'DynamicPriceConfigByDate'