facebookbusiness 0.7.0.0 → 0.8.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +0 -1
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +17 -19
  4. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +23 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -1
  6. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +3 -0
  9. data/lib/facebook_ads/ad_objects/ad_activity.rb +8 -0
  10. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
  11. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -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 +2 -3
  14. data/lib/facebook_ads/ad_objects/{atlas_url.rb → ad_creative_instagram_branded_content.rb} +1 -2
  15. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
  17. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +2 -0
  18. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
  19. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  20. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
  21. data/lib/facebook_ads/ad_objects/ad_set.rb +2 -0
  22. data/lib/facebook_ads/ad_objects/ad_study.rb +2 -0
  23. data/lib/facebook_ads/ad_objects/ad_video.rb +12 -26
  24. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +4 -4
  25. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +4 -0
  26. data/lib/facebook_ads/ad_objects/{ads_interest.rb → adoptable_pet.rb} +19 -5
  27. data/lib/facebook_ads/ad_objects/ads_insights.rb +9 -0
  28. data/lib/facebook_ads/ad_objects/ads_pixel.rb +3 -0
  29. data/lib/facebook_ads/ad_objects/album.rb +7 -0
  30. data/lib/facebook_ads/ad_objects/application.rb +26 -0
  31. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +3 -3
  32. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  33. data/lib/facebook_ads/ad_objects/business.rb +66 -118
  34. data/lib/facebook_ads/ad_objects/{business_creative_folder_sharing_agreement.rb → business_agreement.rb} +2 -5
  35. data/lib/facebook_ads/ad_objects/business_asset_group.rb +2 -3
  36. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  37. data/lib/facebook_ads/ad_objects/business_role_request.rb +10 -0
  38. data/lib/facebook_ads/ad_objects/business_unit.rb +1 -1
  39. data/lib/facebook_ads/ad_objects/business_user.rb +10 -0
  40. data/lib/facebook_ads/ad_objects/campaign.rb +258 -0
  41. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +88 -0
  42. data/lib/facebook_ads/ad_objects/comment.rb +1 -0
  43. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +126 -0
  44. data/lib/facebook_ads/ad_objects/{client_transparency_status.rb → commerce_merchant_settings_setup_status.rb} +6 -5
  45. data/lib/facebook_ads/ad_objects/commerce_order.rb +153 -0
  46. data/lib/facebook_ads/ad_objects/{business_creative.rb → commerce_order_transaction_detail.rb} +14 -12
  47. data/lib/facebook_ads/ad_objects/commerce_payout.rb +41 -0
  48. data/lib/facebook_ads/ad_objects/{creative_asset_tag.rb → connections_targeting.rb} +2 -2
  49. data/lib/facebook_ads/ad_objects/{brand_audience.rb → cpas_advertiser_partnership_recommendation.rb} +8 -9
  50. data/lib/facebook_ads/ad_objects/cpas_collaboration_request.rb +50 -0
  51. data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
  52. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -4
  53. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/custom_conversion.rb +1 -0
  55. data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
  56. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  57. data/lib/facebook_ads/ad_objects/event.rb +12 -1
  58. data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -0
  59. data/lib/facebook_ads/ad_objects/external_event_source.rb +1 -0
  60. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  61. data/lib/facebook_ads/ad_objects/group.rb +10 -1
  62. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
  65. data/lib/facebook_ads/ad_objects/ig_user.rb +1 -0
  66. data/lib/facebook_ads/ad_objects/life_event.rb +0 -8
  67. data/lib/facebook_ads/ad_objects/link.rb +0 -6
  68. data/lib/facebook_ads/ad_objects/live_video.rb +12 -16
  69. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -1
  70. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
  71. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -6
  72. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
  73. data/lib/facebook_ads/ad_objects/page.rb +75 -81
  74. data/lib/facebook_ads/ad_objects/page_admin_note.rb +1 -0
  75. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +8 -0
  76. data/lib/facebook_ads/ad_objects/page_change_proposal.rb +2 -0
  77. data/lib/facebook_ads/ad_objects/page_post.rb +10 -0
  78. data/lib/facebook_ads/ad_objects/{request_history.rb → payment_subscription.rb} +24 -15
  79. data/lib/facebook_ads/ad_objects/photo.rb +6 -0
  80. data/lib/facebook_ads/ad_objects/post.rb +12 -2
  81. data/lib/facebook_ads/ad_objects/product_catalog.rb +50 -0
  82. data/lib/facebook_ads/ad_objects/product_feed.rb +31 -0
  83. data/lib/facebook_ads/ad_objects/{product_feed_upload_diagnostics.rb → product_feed_upload_diagnostics_report.rb} +2 -2
  84. data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
  85. data/lib/facebook_ads/ad_objects/product_item.rb +2 -0
  86. data/lib/facebook_ads/ad_objects/product_set.rb +4 -0
  87. data/lib/facebook_ads/ad_objects/{custom_audience_prefill_state.rb → product_set_metadata.rb} +4 -3
  88. data/lib/facebook_ads/ad_objects/profile.rb +2 -0
  89. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +4 -0
  90. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
  91. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  92. data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
  93. data/lib/facebook_ads/ad_objects/server_side/content.rb +75 -13
  94. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +45 -6
  95. data/lib/facebook_ads/ad_objects/server_side/delivery_category.rb +33 -0
  96. data/lib/facebook_ads/ad_objects/server_side/event.rb +62 -3
  97. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +86 -12
  98. data/lib/facebook_ads/ad_objects/{whats_app_business_profile.rb → server_side/event_request_async.rb} +9 -14
  99. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +151 -17
  100. data/lib/facebook_ads/ad_objects/server_side/util.rb +216 -149
  101. data/lib/facebook_ads/ad_objects/system_user.rb +10 -4
  102. data/lib/facebook_ads/ad_objects/targeting.rb +4 -3
  103. data/lib/facebook_ads/ad_objects/{user_influence.rb → targeting_relaxation.rb} +2 -4
  104. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +1 -0
  105. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  106. data/lib/facebook_ads/ad_objects/user.rb +9 -27
  107. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -0
  108. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  109. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +26 -0
  110. data/lib/facebook_ads/errors.rb +1 -1
  111. data/lib/facebook_ads/version.rb +2 -2
  112. metadata +67 -30
  113. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -79
  114. data/lib/facebook_ads/ad_objects/business_image.rb +0 -94
  115. data/lib/facebook_ads/ad_objects/iterative_split_test_config.rb +0 -43
  116. data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +0 -39
  117. data/lib/facebook_ads/ad_objects/open_graph_object.rb +0 -70
  118. data/lib/facebook_ads/ad_objects/page_about_story.rb +0 -39
  119. data/lib/facebook_ads/ad_objects/split_test_config.rb +0 -41
  120. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +0 -50
  121. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +0 -49
  122. data/lib/facebook_ads/ad_objects/video_game_show.rb +0 -39
@@ -30,6 +30,7 @@ module FacebookAds
30
30
  "CONTINUOUS_LIFT_CONFIG",
31
31
  "GEO_LIFT",
32
32
  "LIFT",
33
+ "PRIVATE_LIFT",
33
34
  "SPLIT_TEST",
34
35
  ]
35
36
 
@@ -69,6 +70,7 @@ module FacebookAds
69
70
  api.has_param :name, 'string'
70
71
  api.has_param :offline_conversion_data_sets, { list: 'object' }
71
72
  api.has_param :offsitepixels, { list: 'object' }
73
+ api.has_param :product_catalogs, { list: 'object' }
72
74
  api.has_param :product_sets, { list: 'object' }
73
75
  api.has_param :type, { enum: -> { AdStudyObjective::TYPE }}
74
76
  end
@@ -77,6 +77,7 @@ module FacebookAds
77
77
  "HEURISTIC_CLUSTER_VIDEO",
78
78
  "HEURISTIC_PREVIEW",
79
79
  "HIGHLIGHT_CLIP_VIDEO",
80
+ "IG_STORIES_READER",
80
81
  "INSPIRATION_VIDEO",
81
82
  "INSTAGRAM_VIDEO_COPY",
82
83
  "INSTANT_APPLICATION_PREVIEW",
@@ -97,6 +98,7 @@ module FacebookAds
97
98
  "MOMENTS_VIDEO",
98
99
  "NEO_ASYNC_GAME_VIDEO",
99
100
  "NO_STORY",
101
+ "NO_STORY_WITH_ENTPOST",
100
102
  "OCULUS_CREATOR_PORTAL",
101
103
  "OCULUS_VENUES_BROADCAST",
102
104
  "OFFERS_VIDEO",
@@ -133,7 +135,9 @@ module FacebookAds
133
135
  "VIDEO_COMMENT",
134
136
  "VIDEO_CREATIVE_EDITOR_AUTOGEN_AD_VIDEO",
135
137
  "VIDEO_SUPERRES",
138
+ "VU_GENERATED_VIDEO",
136
139
  "WOODHENGE",
140
+ "WORK_KNOWLEDGE_VIDEO",
137
141
  "YOUR_DAY",
138
142
  ]
139
143
 
@@ -165,7 +169,6 @@ module FacebookAds
165
169
 
166
170
  ORIGINAL_PROJECTION_TYPE = [
167
171
  "cubemap",
168
- "equiangular_cubemap",
169
172
  "equirectangular",
170
173
  "half_equirectangular",
171
174
  ]
@@ -191,28 +194,6 @@ module FacebookAds
191
194
  "transfer",
192
195
  ]
193
196
 
194
- VALIDATION_AD_PLACEMENTS = [
195
- "AUDIENCE_NETWORK_INSTREAM_VIDEO",
196
- "AUDIENCE_NETWORK_INSTREAM_VIDEO_MOBILE",
197
- "AUDIENCE_NETWORK_REWARDED_VIDEO",
198
- "DESKTOP_FEED_STANDARD",
199
- "FACEBOOK_STORY_MOBILE",
200
- "INSTAGRAM_STANDARD",
201
- "INSTAGRAM_STORY",
202
- "INSTANT_ARTICLE_STANDARD",
203
- "INSTREAM_VIDEO_DESKTOP",
204
- "INSTREAM_VIDEO_MOBILE",
205
- "MESSENGER_MOBILE_INBOX_MEDIA",
206
- "MESSENGER_MOBILE_STORY_MEDIA",
207
- "MOBILE_FEED_STANDARD",
208
- "MOBILE_FULLWIDTH",
209
- "MOBILE_INTERSTITIAL",
210
- "MOBILE_MEDIUM_RECTANGLE",
211
- "MOBILE_NATIVE",
212
- "RIGHT_COLUMN_STANDARD",
213
- "SUGGESTED_VIDEO_MOBILE",
214
- ]
215
-
216
197
  TYPE = [
217
198
  "tagged",
218
199
  "uploaded",
@@ -283,6 +264,7 @@ module FacebookAds
283
264
  field :composer_source_surface, 'string'
284
265
  field :composer_type, 'string'
285
266
  field :container_type, { enum: -> { CONTAINER_TYPE }}
267
+ field :creative_tools, 'string'
286
268
  field :end_offset, 'int'
287
269
  field :fbuploader_video_file_chunk, 'string'
288
270
  field :file_size, 'int'
@@ -331,11 +313,9 @@ module FacebookAds
331
313
  field :upload_session_id, 'string'
332
314
  field :upload_setting_properties, 'string'
333
315
  field :video_file_chunk, 'string'
316
+ field :video_id_original, 'string'
334
317
  field :video_start_time_ms, 'int'
335
318
  field :waterfall_id, 'string'
336
- field :ad_placements_validation_only, 'bool'
337
- field :creative_folder_id, 'string'
338
- field :validation_ad_placements, { list: { enum: -> { VALIDATION_AD_PLACEMENTS }} }
339
319
 
340
320
  has_edge :captions do |edge|
341
321
  edge.get
@@ -401,6 +381,12 @@ module FacebookAds
401
381
  end
402
382
  end
403
383
 
384
+ has_edge :reactions do |edge|
385
+ edge.get 'Profile' do |api|
386
+ api.has_param :type, { enum: -> { Profile::TYPE }}
387
+ end
388
+ end
389
+
404
390
  has_edge :sharedposts do |edge|
405
391
  edge.get 'Post'
406
392
  end
@@ -69,8 +69,8 @@ module FacebookAds
69
69
  ]
70
70
 
71
71
 
72
- field :ad_creative_id_new, 'string'
73
- field :ad_creative_id_old, 'string'
72
+ field :ad_creative_id_new, 'AdCreative'
73
+ field :ad_creative_id_old, 'AdCreative'
74
74
  field :asset_feed_id_new, 'string'
75
75
  field :asset_feed_id_old, 'string'
76
76
  field :bid_amount_new, 'int'
@@ -105,8 +105,8 @@ module FacebookAds
105
105
  field :reason_old, 'string'
106
106
  field :run_status_new, 'string'
107
107
  field :run_status_old, 'string'
108
- field :source_adgroup_id_new, 'string'
109
- field :source_adgroup_id_old, 'string'
108
+ field :source_adgroup_id_new, 'Ad'
109
+ field :source_adgroup_id_old, 'Ad'
110
110
  field :start_time_new, 'datetime'
111
111
  field :start_time_old, 'datetime'
112
112
  field :stop_time_new, 'datetime'
@@ -29,12 +29,16 @@ module FacebookAds
29
29
 
30
30
  field :account_admin, 'hash'
31
31
  field :ad, 'hash'
32
+ field :ads_conversion_experiences, 'hash'
32
33
  field :b2c, 'hash'
34
+ field :b2c_commerce_unified, 'hash'
33
35
  field :bsg, 'hash'
34
36
  field :city_community, 'hash'
37
+ field :commerce, 'hash'
35
38
  field :daily_deals, 'hash'
36
39
  field :daily_deals_legacy, 'hash'
37
40
  field :dpa, 'hash'
41
+ field :dri_copyright, 'hash'
38
42
  field :dri_counterfeit, 'hash'
39
43
  field :facebook, 'hash'
40
44
  field :facebook_pages_live_shopping, 'hash'
@@ -25,15 +25,29 @@ 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 AdsInterest < AdObject
28
+ class AdoptablePet < AdObject
29
29
 
30
- field :audience_size, 'int'
30
+ field :address, 'object'
31
+ field :adoptable_pet_id, 'string'
32
+ field :adoption_application_form_url, 'string'
33
+ field :age_bucket, 'string'
34
+ field :animal_type, 'string'
35
+ field :applinks, 'CatalogItemAppLinks'
36
+ field :availability, 'string'
37
+ field :breed, 'string'
38
+ field :category_specific_fields, 'CatalogSubVerticalList'
39
+ field :currency, 'string'
31
40
  field :description, 'string'
32
- field :disambiguation_category, 'string'
41
+ field :gender, 'string'
33
42
  field :id, 'string'
43
+ field :images, { list: 'string' }
34
44
  field :name, 'string'
35
- field :path, { list: 'string' }
36
- field :topic, 'string'
45
+ field :price, 'string'
46
+ field :sanitized_images, { list: 'string' }
47
+ field :shelter_name, 'string'
48
+ field :shelter_page_id, 'Page'
49
+ field :size, 'string'
50
+ field :url, 'string'
37
51
  has_no_post
38
52
  has_no_delete
39
53
 
@@ -33,6 +33,7 @@ module FacebookAds
33
33
  "28d_view",
34
34
  "7d_click",
35
35
  "7d_view",
36
+ "dda",
36
37
  "default",
37
38
  ]
38
39
 
@@ -152,10 +153,17 @@ module FacebookAds
152
153
  field :campaign_name, 'string'
153
154
  field :canvas_avg_view_percent, 'string'
154
155
  field :canvas_avg_view_time, 'string'
156
+ field :catalog_segment_actions, { list: 'AdsActionStats' }
157
+ field :catalog_segment_value, { list: 'AdsActionStats' }
158
+ field :catalog_segment_value_mobile_purchase_roas, { list: 'AdsActionStats' }
159
+ field :catalog_segment_value_omni_purchase_roas, { list: 'AdsActionStats' }
160
+ field :catalog_segment_value_website_purchase_roas, { list: 'AdsActionStats' }
155
161
  field :clicks, 'string'
156
162
  field :conversion_rate_ranking, 'string'
157
163
  field :conversion_values, { list: 'AdsActionStats' }
158
164
  field :conversions, { list: 'AdsActionStats' }
165
+ field :converted_product_quantity, { list: 'AdsActionStats' }
166
+ field :converted_product_value, { list: 'AdsActionStats' }
159
167
  field :cost_per_15_sec_video_view, { list: 'AdsActionStats' }
160
168
  field :cost_per_2_sec_continuous_video_view, { list: 'AdsActionStats' }
161
169
  field :cost_per_action_type, { list: 'AdsActionStats' }
@@ -200,6 +208,7 @@ module FacebookAds
200
208
  field :instant_experience_clicks_to_open, 'string'
201
209
  field :instant_experience_clicks_to_start, 'string'
202
210
  field :instant_experience_outbound_clicks, 'string'
211
+ field :interactive_component_tap, { list: 'AdsActionStats' }
203
212
  field :labels, 'string'
204
213
  field :location, 'string'
205
214
  field :mobile_app_purchase_roas, { list: 'AdsActionStats' }
@@ -32,7 +32,9 @@ module FacebookAds
32
32
  ]
33
33
 
34
34
  AUTOMATIC_MATCHING_FIELDS = [
35
+ "country",
35
36
  "ct",
37
+ "db",
36
38
  "em",
37
39
  "fn",
38
40
  "ge",
@@ -90,6 +92,7 @@ module FacebookAds
90
92
  has_edge :da_checks do |edge|
91
93
  edge.get 'DaCheck' do |api|
92
94
  api.has_param :checks, { list: 'string' }
95
+ api.has_param :connection_method, { enum: -> { DaCheck::CONNECTION_METHOD }}
93
96
  end
94
97
  end
95
98
 
@@ -78,6 +78,7 @@ module FacebookAds
78
78
  end
79
79
 
80
80
  has_edge :likes do |edge|
81
+ edge.get 'Profile'
81
82
  edge.post 'Album' do |api|
82
83
  api.has_param :feedback_source, 'string'
83
84
  api.has_param :nectar_module, 'string'
@@ -151,6 +152,12 @@ module FacebookAds
151
152
  end
152
153
  end
153
154
 
155
+ has_edge :reactions do |edge|
156
+ edge.get 'Profile' do |api|
157
+ api.has_param :type, { enum: -> { Profile::TYPE }}
158
+ end
159
+ end
160
+
154
161
  has_edge :sharedposts do |edge|
155
162
  edge.get 'Post'
156
163
  end
@@ -35,6 +35,7 @@ module FacebookAds
35
35
  "IPAD",
36
36
  "IPHONE",
37
37
  "MOBILE_WEB",
38
+ "OCULUS",
38
39
  "SUPPLEMENTARY_IMAGES",
39
40
  "WEB",
40
41
  "WINDOWS",
@@ -226,15 +227,20 @@ module FacebookAds
226
227
  api.has_param :bundle_id, 'string'
227
228
  api.has_param :bundle_short_version, 'string'
228
229
  api.has_param :bundle_version, 'string'
230
+ api.has_param :click_id, 'string'
229
231
  api.has_param :consider_views, 'bool'
230
232
  api.has_param :custom_events, { list: 'object' }
231
233
  api.has_param :custom_events_file, 'file'
234
+ api.has_param :data_processing_options, { list: 'string' }
235
+ api.has_param :data_processing_options_country, 'int'
236
+ api.has_param :data_processing_options_state, 'int'
232
237
  api.has_param :device_token, 'string'
233
238
  api.has_param :event, { enum: %w{CUSTOM_APP_EVENTS DEFERRED_APP_LINK MOBILE_APP_INSTALL }}
234
239
  api.has_param :extinfo, 'object'
235
240
  api.has_param :include_dwell_data, 'bool'
236
241
  api.has_param :include_video_data, 'bool'
237
242
  api.has_param :install_referrer, 'string'
243
+ api.has_param :install_timestamp, 'int'
238
244
  api.has_param :installer_package, 'string'
239
245
  api.has_param :limited_data_use, 'bool'
240
246
  api.has_param :migration_bundle, 'string'
@@ -284,6 +290,18 @@ module FacebookAds
284
290
  edge.get 'Business'
285
291
  end
286
292
 
293
+ has_edge :aggregate_revenue do |edge|
294
+ edge.post do |api|
295
+ api.has_param :ecpms, { list: 'string' }
296
+ api.has_param :query_ids, { list: 'string' }
297
+ api.has_param :request_id, 'string'
298
+ end
299
+ end
300
+
301
+ has_edge :android_dialog_configs do |edge|
302
+ edge.get
303
+ end
304
+
287
305
  has_edge :app_event_types do |edge|
288
306
  edge.get
289
307
  end
@@ -385,6 +403,7 @@ module FacebookAds
385
403
  has_edge :da_checks do |edge|
386
404
  edge.get 'DaCheck' do |api|
387
405
  api.has_param :checks, { list: 'string' }
406
+ api.has_param :connection_method, { enum: -> { DaCheck::CONNECTION_METHOD }}
388
407
  end
389
408
  end
390
409
 
@@ -451,6 +470,12 @@ module FacebookAds
451
470
  end
452
471
  end
453
472
 
473
+ has_edge :live_videos do |edge|
474
+ edge.get 'LiveVideo' do |api|
475
+ api.has_param :broadcast_status, { enum: -> { LiveVideo::BROADCAST_STATUS }}
476
+ end
477
+ end
478
+
454
479
  has_edge :mmp_auditing do |edge|
455
480
  edge.post do |api|
456
481
  api.has_param :advertiser_id, 'string'
@@ -474,6 +499,7 @@ module FacebookAds
474
499
  edge.get do |api|
475
500
  api.has_param :device_id, 'string'
476
501
  api.has_param :extinfo, 'object'
502
+ api.has_param :os_version, 'string'
477
503
  api.has_param :platform, { enum: %w{ANDROID IOS }}
478
504
  api.has_param :sdk_version, 'string'
479
505
  end
@@ -142,10 +142,10 @@ module FacebookAds
142
142
 
143
143
  has_edge :metrics_breakdown do |edge|
144
144
  edge.get do |api|
145
- api.has_param :dimensions, { list: { enum: %w{DEVICE_TYPE SOURCE_CHANNEL }} }
146
- api.has_param :granularity, { enum: %w{DAY HOUR MONTH WEEK YEAR }}
145
+ api.has_param :dimensions, { list: { enum: %w{AD_ID AD_SET_ID CAMPAIGN_ID DEVICE_TYPE SOURCE_CHANNEL }} }
146
+ api.has_param :granularity, { enum: %w{DAY HOUR MONTH WEEK_SUNDAY YEAR }}
147
147
  api.has_param :metric_scope, 'hash'
148
- api.has_param :order_by, { list: 'string' }
148
+ api.has_param :order_by, { list: 'hash' }
149
149
  end
150
150
  end
151
151
 
@@ -31,6 +31,7 @@ module FacebookAds
31
31
  field :automotive_model_id, 'string'
32
32
  field :availability, 'string'
33
33
  field :body_style, 'string'
34
+ field :category_specific_fields, 'CatalogSubVerticalList'
34
35
  field :currency, 'string'
35
36
  field :custom_label_0, 'string'
36
37
  field :description, 'string'
@@ -60,9 +60,6 @@ module FacebookAds
60
60
  PERMITTED_TASKS = [
61
61
  "ADVERTISE",
62
62
  "ANALYZE",
63
- "CREATIVE",
64
- "DRAFT",
65
- "FB_EMPLOYEE_DSO_ADVERTISE",
66
63
  "MANAGE",
67
64
  ]
68
65
 
@@ -81,6 +78,7 @@ module FacebookAds
81
78
  "MANAGE",
82
79
  "MANAGE_JOBS",
83
80
  "MANAGE_LEADS",
81
+ "MESSAGING",
84
82
  "MODERATE",
85
83
  "MODERATE_COMMUNITY",
86
84
  "PAGES_MESSAGING",
@@ -88,6 +86,7 @@ module FacebookAds
88
86
  "PROFILE_PLUS_ADVERTISE",
89
87
  "PROFILE_PLUS_ANALYZE",
90
88
  "PROFILE_PLUS_CREATE_CONTENT",
89
+ "PROFILE_PLUS_LIVE_STREAM_MODERATION",
91
90
  "PROFILE_PLUS_MANAGE",
92
91
  "PROFILE_PLUS_MESSAGING",
93
92
  "PROFILE_PLUS_MODERATE",
@@ -120,6 +119,7 @@ module FacebookAds
120
119
  has_edge :access_token do |edge|
121
120
  edge.post 'Business' do |api|
122
121
  api.has_param :app_id, 'string'
122
+ api.has_param :fbe_external_business_id, 'string'
123
123
  api.has_param :scope, { list: 'Permission' }
124
124
  api.has_param :system_user_name, 'string'
125
125
  end
@@ -210,15 +210,16 @@ module FacebookAds
210
210
  edge.get 'Business'
211
211
  end
212
212
 
213
- has_edge :an_placements do |edge|
214
- edge.get 'AdPlacement'
213
+ has_edge :aggregate_revenue do |edge|
214
+ edge.post do |api|
215
+ api.has_param :ecpms, { list: 'string' }
216
+ api.has_param :query_ids, { list: 'string' }
217
+ api.has_param :request_id, 'string'
218
+ end
215
219
  end
216
220
 
217
- has_edge :attempted_sharing_agreements do |edge|
218
- edge.get 'BusinessCreativeFolderSharingAgreement' do |api|
219
- api.has_param :request_status, { enum: -> { BusinessCreativeFolderSharingAgreement::REQUEST_STATUS }}
220
- api.has_param :requesting_business_id, 'string'
221
- end
221
+ has_edge :an_placements do |edge|
222
+ edge.get 'AdPlacement'
222
223
  end
223
224
 
224
225
  has_edge :block_list_drafts do |edge|
@@ -295,6 +296,10 @@ module FacebookAds
295
296
  edge.get 'ProductCatalog'
296
297
  end
297
298
 
299
+ has_edge :client_whatsapp_business_accounts do |edge|
300
+ edge.get 'WhatsAppBusinessAccount'
301
+ end
302
+
298
303
  has_edge :clients do |edge|
299
304
  edge.delete do |api|
300
305
  api.has_param :business, 'string'
@@ -302,6 +307,30 @@ module FacebookAds
302
307
  edge.get 'Business'
303
308
  end
304
309
 
310
+ has_edge :collaborative_ads_collaboration_requests do |edge|
311
+ edge.get 'CpasCollaborationRequest' do |api|
312
+ api.has_param :status, 'string'
313
+ end
314
+ edge.post 'CpasCollaborationRequest' do |api|
315
+ api.has_param :brands, { list: 'string' }
316
+ api.has_param :contact_email, 'string'
317
+ api.has_param :contact_first_name, 'string'
318
+ api.has_param :contact_last_name, 'string'
319
+ api.has_param :phone_number, 'string'
320
+ api.has_param :receiver_business, 'string'
321
+ api.has_param :requester_agency_or_brand, { enum: -> { CpasCollaborationRequest::REQUESTER_AGENCY_OR_BRAND }}
322
+ api.has_param :sender_client_business, 'string'
323
+ end
324
+ end
325
+
326
+ has_edge :collaborative_ads_suggested_partners do |edge|
327
+ edge.get 'CpasAdvertiserPartnershipRecommendation'
328
+ end
329
+
330
+ has_edge :commerce_merchant_settings do |edge|
331
+ edge.get 'CommerceMerchantSettings'
332
+ end
333
+
305
334
  has_edge :content_delivery_report do |edge|
306
335
  edge.get 'ContentDeliveryReport' do |api|
307
336
  api.has_param :end_date, 'datetime'
@@ -313,22 +342,11 @@ module FacebookAds
313
342
  end
314
343
  end
315
344
 
316
- has_edge :creative_asset_tags do |edge|
317
- edge.get 'CreativeAssetTag'
318
- end
319
-
320
- has_edge :creative_folders do |edge|
321
- edge.get 'BusinessCreativeFolder'
322
- edge.post 'BusinessCreativeFolder' do |api|
323
- api.has_param :description, 'string'
345
+ has_edge :create_and_apply_publisher_block_list do |edge|
346
+ edge.post do |api|
347
+ api.has_param :is_auto_blocking_on, 'bool'
324
348
  api.has_param :name, 'string'
325
- api.has_param :parent_folder_id, 'string'
326
- end
327
- end
328
-
329
- has_edge :creatives do |edge|
330
- edge.get 'BusinessCreative' do |api|
331
- api.has_param :creative_folder_id, 'string'
349
+ api.has_param :publisher_urls, { list: 'string' }
332
350
  end
333
351
  end
334
352
 
@@ -358,16 +376,6 @@ module FacebookAds
358
376
  end
359
377
  end
360
378
 
361
- has_edge :images do |edge|
362
- edge.post 'BusinessImage' do |api|
363
- api.has_param :ad_placements_validation_only, 'bool'
364
- api.has_param :bytes, 'object'
365
- api.has_param :creative_folder_id, 'string'
366
- api.has_param :name, 'string'
367
- api.has_param :validation_ad_placements, { list: { enum: -> { BusinessImage::VALIDATION_AD_PLACEMENTS }} }
368
- end
369
- end
370
-
371
379
  has_edge :initiated_audience_sharing_requests do |edge|
372
380
  edge.get 'BusinessAssetSharingAgreement' do |api|
373
381
  api.has_param :recipient_id, 'string'
@@ -375,6 +383,13 @@ module FacebookAds
375
383
  end
376
384
  end
377
385
 
386
+ has_edge :initiated_sharing_agreements do |edge|
387
+ edge.get 'BusinessAgreement' do |api|
388
+ api.has_param :receiving_business_id, 'string'
389
+ api.has_param :request_status, { enum: -> { BusinessAgreement::REQUEST_STATUS }}
390
+ end
391
+ end
392
+
378
393
  has_edge :instagram_accounts do |edge|
379
394
  edge.delete do |api|
380
395
  api.has_param :instagram_account, 'string'
@@ -387,6 +402,7 @@ module FacebookAds
387
402
  api.has_param :existing_client_business_id, 'string'
388
403
  end
389
404
  edge.post 'Business' do |api|
405
+ api.has_param :child_business_external_id, 'string'
390
406
  api.has_param :existing_client_business_id, 'string'
391
407
  api.has_param :name, 'string'
392
408
  api.has_param :sales_rep_email, 'string'
@@ -435,9 +451,11 @@ module FacebookAds
435
451
  api.has_param :client_id, 'string'
436
452
  end
437
453
  edge.get 'Business' do |api|
454
+ api.has_param :child_business_external_id, 'string'
438
455
  api.has_param :client_user_id, 'int'
439
456
  end
440
457
  edge.post 'Business' do |api|
458
+ api.has_param :child_business_external_id, 'string'
441
459
  api.has_param :name, 'string'
442
460
  api.has_param :page_permitted_tasks, { list: { enum: -> { Business::PAGE_PERMITTED_TASKS }} }
443
461
  api.has_param :sales_rep_email, 'string'
@@ -458,7 +476,6 @@ module FacebookAds
458
476
  edge.get 'Page'
459
477
  edge.post 'Business' do |api|
460
478
  api.has_param :code, 'string'
461
- api.has_param :ig_password, 'string'
462
479
  api.has_param :page_id, 'int'
463
480
  end
464
481
  end
@@ -470,10 +487,15 @@ module FacebookAds
470
487
  has_edge :owned_product_catalogs do |edge|
471
488
  edge.get 'ProductCatalog'
472
489
  edge.post 'ProductCatalog' do |api|
490
+ api.has_param :catalog_segment_filter, 'object'
491
+ api.has_param :catalog_segment_product_set_id, 'string'
492
+ api.has_param :commerce_merchant_settings, 'object'
473
493
  api.has_param :da_display_settings, 'object'
474
494
  api.has_param :destination_catalog_settings, 'hash'
475
495
  api.has_param :flight_catalog_settings, 'hash'
476
496
  api.has_param :name, 'string'
497
+ api.has_param :onsite_commerce_merchant, 'object'
498
+ api.has_param :parent_catalog_id, 'string'
477
499
  api.has_param :store_catalog_settings, 'hash'
478
500
  api.has_param :vertical, { enum: -> { ProductCatalog::VERTICAL }}
479
501
  end
@@ -505,10 +527,6 @@ module FacebookAds
505
527
  edge.get 'BusinessPageRequest'
506
528
  end
507
529
 
508
- has_edge :pending_shared_creative_folders do |edge|
509
- edge.get 'BusinessCreativeFolder'
510
- end
511
-
512
530
  has_edge :pending_users do |edge|
513
531
  edge.get 'BusinessRoleRequest' do |api|
514
532
  api.has_param :email, 'string'
@@ -517,6 +535,7 @@ module FacebookAds
517
535
 
518
536
  has_edge :picture do |edge|
519
537
  edge.get 'ProfilePictureSource' do |api|
538
+ api.has_param :breaking_change, { enum: -> { ProfilePictureSource::BREAKING_CHANGE }}
520
539
  api.has_param :height, 'int'
521
540
  api.has_param :redirect, 'bool'
522
541
  api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
@@ -535,6 +554,13 @@ module FacebookAds
535
554
  end
536
555
  end
537
556
 
557
+ has_edge :received_sharing_agreements do |edge|
558
+ edge.get 'BusinessAgreement' do |api|
559
+ api.has_param :request_status, { enum: -> { BusinessAgreement::REQUEST_STATUS }}
560
+ api.has_param :requesting_business_id, 'string'
561
+ end
562
+ end
563
+
538
564
  has_edge :system_users do |edge|
539
565
  edge.get 'SystemUser'
540
566
  edge.post 'SystemUser' do |api|
@@ -561,83 +587,5 @@ module FacebookAds
561
587
  end
562
588
  end
563
589
 
564
- has_edge :videos do |edge|
565
- edge.post 'AdVideo' do |api|
566
- api.has_param :ad_placements_validation_only, 'bool'
567
- api.has_param :adaptive_type, 'string'
568
- api.has_param :animated_effect_id, 'int'
569
- api.has_param :application_id, 'string'
570
- api.has_param :asked_fun_fact_prompt_id, 'int'
571
- api.has_param :attribution_app_id, 'string'
572
- api.has_param :audio_story_wave_animation_handle, 'string'
573
- api.has_param :chunk_session_id, 'string'
574
- api.has_param :composer_entry_picker, 'string'
575
- api.has_param :composer_entry_point, 'string'
576
- api.has_param :composer_entry_time, 'int'
577
- api.has_param :composer_session_events_log, 'string'
578
- api.has_param :composer_session_id, 'string'
579
- api.has_param :composer_source_surface, 'string'
580
- api.has_param :composer_type, 'string'
581
- api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
582
- api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
583
- api.has_param :creative_folder_id, 'string'
584
- api.has_param :description, 'string'
585
- api.has_param :embeddable, 'bool'
586
- api.has_param :end_offset, 'int'
587
- api.has_param :fbuploader_video_file_chunk, 'string'
588
- api.has_param :file_size, 'int'
589
- api.has_param :file_url, 'string'
590
- api.has_param :fisheye_video_cropped, 'bool'
591
- api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
592
- api.has_param :fov, 'int'
593
- api.has_param :front_z_rotation, 'double'
594
- api.has_param :fun_fact_prompt_id, 'int'
595
- api.has_param :fun_fact_toastee_id, 'int'
596
- api.has_param :guide, { list: { list: 'int' } }
597
- api.has_param :guide_enabled, 'bool'
598
- api.has_param :has_nickname, 'bool'
599
- api.has_param :holiday_card, 'string'
600
- api.has_param :initial_heading, 'int'
601
- api.has_param :initial_pitch, 'int'
602
- api.has_param :instant_game_entry_point_data, 'string'
603
- api.has_param :is_boost_intended, 'bool'
604
- api.has_param :is_group_linking_post, 'bool'
605
- api.has_param :is_voice_clip, 'bool'
606
- api.has_param :location_source_id, 'string'
607
- api.has_param :offer_like_post_id, 'int'
608
- api.has_param :og_action_type_id, 'string'
609
- api.has_param :og_icon_id, 'string'
610
- api.has_param :og_object_id, 'string'
611
- api.has_param :og_phrase, 'string'
612
- api.has_param :og_suggestion_mechanism, 'string'
613
- api.has_param :original_fov, 'int'
614
- api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
615
- api.has_param :publish_event_id, 'int'
616
- api.has_param :react_mode_metadata, 'string'
617
- api.has_param :referenced_sticker_id, 'string'
618
- api.has_param :replace_video_id, 'string'
619
- api.has_param :sales_promo_id, 'int'
620
- api.has_param :slideshow_spec, 'hash'
621
- api.has_param :source, 'string'
622
- api.has_param :spherical, 'bool'
623
- api.has_param :start_offset, 'int'
624
- api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
625
- api.has_param :text_format_metadata, 'string'
626
- api.has_param :throwback_camera_roll_media, 'string'
627
- api.has_param :thumb, 'file'
628
- api.has_param :time_since_original_post, 'int'
629
- api.has_param :title, 'string'
630
- api.has_param :transcode_setting_properties, 'string'
631
- api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
632
- api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
633
- api.has_param :upload_session_id, 'string'
634
- api.has_param :upload_setting_properties, 'string'
635
- api.has_param :validation_ad_placements, { list: { enum: -> { AdVideo::VALIDATION_AD_PLACEMENTS }} }
636
- api.has_param :video_file_chunk, 'string'
637
- api.has_param :video_start_time_ms, 'int'
638
- api.has_param :waterfall_id, 'string'
639
- end
640
- end
641
-
642
590
  end
643
591
  end