facebookbusiness 0.7.0.2 → 0.8.0.4

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +21 -22
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +24 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +22 -5
  7. data/lib/facebook_ads/ad_objects/ad_activity.rb +7 -1
  8. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +5 -0
  9. data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
  10. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +4 -2
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  12. data/lib/facebook_ads/ad_objects/ad_creative.rb +4 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
  17. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
  18. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
  19. data/lib/facebook_ads/ad_objects/ad_set.rb +2 -0
  20. data/lib/facebook_ads/ad_objects/ad_study.rb +2 -1
  21. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  22. data/lib/facebook_ads/ad_objects/ad_video.rb +15 -27
  23. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +4 -0
  24. data/lib/facebook_ads/ad_objects/{user_taggable_friend.rb → adoptable_pet.rb} +27 -14
  25. data/lib/facebook_ads/ad_objects/ads_insights.rb +5 -0
  26. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  27. data/lib/facebook_ads/ad_objects/application.rb +27 -0
  28. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +3 -3
  29. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  30. data/lib/facebook_ads/ad_objects/business.rb +55 -119
  31. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -3
  32. data/lib/facebook_ads/ad_objects/business_role_request.rb +9 -0
  33. data/lib/facebook_ads/ad_objects/business_unit.rb +1 -1
  34. data/lib/facebook_ads/ad_objects/business_user.rb +9 -0
  35. data/lib/facebook_ads/ad_objects/campaign.rb +258 -0
  36. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +88 -0
  37. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +24 -19
  38. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
  39. data/lib/facebook_ads/ad_objects/commerce_order.rb +6 -0
  40. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +4 -0
  41. data/lib/facebook_ads/ad_objects/{creative_asset_tag.rb → connections_targeting.rb} +2 -2
  42. data/lib/facebook_ads/ad_objects/{business_creative_folder_sharing_agreement.rb → cpas_advertiser_partnership_recommendation.rb} +8 -11
  43. data/lib/facebook_ads/ad_objects/{brand_audience.rb → cpas_collaboration_request.rb} +15 -9
  44. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  45. data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
  46. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/event.rb +12 -1
  48. data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -0
  49. data/lib/facebook_ads/ad_objects/external_event_source.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/group.rb +12 -1
  52. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  53. data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  55. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
  56. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  57. data/lib/facebook_ads/ad_objects/link.rb +6 -6
  58. data/lib/facebook_ads/ad_objects/live_video.rb +12 -16
  59. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -1
  60. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
  61. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
  62. data/lib/facebook_ads/ad_objects/page.rb +52 -72
  63. data/lib/facebook_ads/ad_objects/page_admin_note.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  65. data/lib/facebook_ads/ad_objects/page_change_proposal.rb +2 -0
  66. data/lib/facebook_ads/ad_objects/page_post.rb +2 -0
  67. data/lib/facebook_ads/ad_objects/{business_creative.rb → payment_subscription.rb} +24 -16
  68. data/lib/facebook_ads/ad_objects/photo.rb +6 -0
  69. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
  70. data/lib/facebook_ads/ad_objects/post.rb +49 -2
  71. data/lib/facebook_ads/ad_objects/product_catalog.rb +44 -7
  72. data/lib/facebook_ads/ad_objects/product_feed.rb +32 -0
  73. data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
  74. data/lib/facebook_ads/ad_objects/product_item.rb +3 -0
  75. data/lib/facebook_ads/ad_objects/product_set.rb +4 -0
  76. data/lib/facebook_ads/ad_objects/{user_influence.rb → product_set_metadata.rb} +5 -4
  77. data/lib/facebook_ads/ad_objects/profile.rb +1 -0
  78. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +4 -0
  79. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
  80. data/lib/facebook_ads/ad_objects/referral.rb +2 -0
  81. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  82. data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
  83. data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
  84. data/lib/facebook_ads/ad_objects/server_side/content.rb +75 -13
  85. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +45 -6
  86. data/lib/facebook_ads/ad_objects/server_side/delivery_category.rb +33 -0
  87. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +134 -13
  88. data/lib/facebook_ads/ad_objects/{client_transparency_status.rb → server_side/event_request_async.rb} +20 -17
  89. data/lib/facebook_ads/ad_objects/{whats_app_business_profile.rb → server_side/http_method.rb} +7 -15
  90. data/lib/facebook_ads/ad_objects/{ads_interest.rb → server_side/http_service_interface.rb} +10 -18
  91. data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
  92. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +145 -17
  93. data/lib/facebook_ads/ad_objects/server_side/util.rb +216 -149
  94. data/lib/facebook_ads/ad_objects/system_user.rb +9 -4
  95. data/lib/facebook_ads/ad_objects/targeting.rb +4 -3
  96. data/lib/facebook_ads/ad_objects/{atlas_url.rb → targeting_relaxation.rb} +2 -2
  97. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  98. data/lib/facebook_ads/ad_objects/user.rb +30 -24
  99. data/lib/facebook_ads/ad_objects/vehicle.rb +2 -0
  100. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  101. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -0
  102. data/lib/facebook_ads/errors.rb +1 -1
  103. data/lib/facebook_ads/session.rb +1 -1
  104. data/lib/facebook_ads/version.rb +2 -2
  105. metadata +63 -25
  106. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -79
  107. data/lib/facebook_ads/ad_objects/business_image.rb +0 -95
  108. data/lib/facebook_ads/ad_objects/iterative_split_test_config.rb +0 -43
  109. data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +0 -39
  110. data/lib/facebook_ads/ad_objects/page_about_story.rb +0 -39
  111. data/lib/facebook_ads/ad_objects/split_test_config.rb +0 -41
  112. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +0 -51
@@ -38,7 +38,6 @@ module FacebookAds
38
38
  field :id, 'string'
39
39
  field :insights_section, 'object'
40
40
  field :name, 'string'
41
- field :report_schedule, 'object'
42
41
  field :report_schedule_id, 'string'
43
42
  field :sort_by, 'string'
44
43
  field :sort_dir, 'string'
@@ -27,15 +27,19 @@ module FacebookAds
27
27
 
28
28
  class AdRuleExecutionSpec < AdObject
29
29
  EXECUTION_TYPE = [
30
+ "ADD_INTEREST_RELAXATION",
31
+ "ADD_QUESTIONNAIRE_INTERESTS",
30
32
  "CHANGE_BID",
31
33
  "CHANGE_BUDGET",
32
34
  "CHANGE_CAMPAIGN_BUDGET",
35
+ "INCREASE_RADIUS",
33
36
  "NOTIFICATION",
34
37
  "PAUSE",
35
38
  "PING_ENDPOINT",
36
39
  "REBALANCE_BUDGET",
37
40
  "ROTATE",
38
41
  "UNPAUSE",
42
+ "UPDATE_CREATIVE",
39
43
  ]
40
44
 
41
45
 
@@ -81,6 +81,7 @@ module FacebookAds
81
81
  "PAGE_ENGAGEMENT",
82
82
  "PAGE_LIKES",
83
83
  "POST_ENGAGEMENT",
84
+ "QUALITY_LEAD",
84
85
  "REACH",
85
86
  "REPLIES",
86
87
  "SOCIAL_IMPRESSIONS",
@@ -163,6 +164,7 @@ module FacebookAds
163
164
  "CREDIT",
164
165
  "EMPLOYMENT",
165
166
  "HOUSING",
167
+ "ISSUES_ELECTIONS_POLITICS",
166
168
  "NONE",
167
169
  ]
168
170
 
@@ -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
 
@@ -68,7 +69,7 @@ module FacebookAds
68
69
  api.has_param :is_primary, 'bool'
69
70
  api.has_param :name, 'string'
70
71
  api.has_param :offline_conversion_data_sets, { list: 'object' }
71
- api.has_param :offsitepixels, { list: 'object' }
72
+ api.has_param :product_catalogs, { list: 'object' }
72
73
  api.has_param :product_sets, { list: 'object' }
73
74
  api.has_param :type, { enum: -> { AdStudyObjective::TYPE }}
74
75
  end
@@ -66,10 +66,6 @@ module FacebookAds
66
66
  edge.get 'OfflineConversionDataSet'
67
67
  end
68
68
 
69
- has_edge :offsitepixels do |edge|
70
- edge.get 'OffsitePixel'
71
- end
72
-
73
69
  has_edge :partnerstudies do |edge|
74
70
  edge.get 'PartnerStudy'
75
71
  end
@@ -43,6 +43,7 @@ module FacebookAds
43
43
  "CANDIDATE_VIDEOS",
44
44
  "CANVAS",
45
45
  "CFC_VIDEO",
46
+ "CMS_MEDIA_MANAGER",
46
47
  "CONTAINED_POST_ATTACHMENT",
47
48
  "CONTAINED_POST_AUDIO_BROADCAST",
48
49
  "CONTAINED_POST_BROADCAST",
@@ -77,6 +78,8 @@ module FacebookAds
77
78
  "HEURISTIC_CLUSTER_VIDEO",
78
79
  "HEURISTIC_PREVIEW",
79
80
  "HIGHLIGHT_CLIP_VIDEO",
81
+ "IG_REELS_XPV",
82
+ "IG_STORIES_READER",
80
83
  "INSPIRATION_VIDEO",
81
84
  "INSTAGRAM_VIDEO_COPY",
82
85
  "INSTANT_APPLICATION_PREVIEW",
@@ -97,6 +100,7 @@ module FacebookAds
97
100
  "MOMENTS_VIDEO",
98
101
  "NEO_ASYNC_GAME_VIDEO",
99
102
  "NO_STORY",
103
+ "NO_STORY_WITH_ENTPOST",
100
104
  "OCULUS_CREATOR_PORTAL",
101
105
  "OCULUS_VENUES_BROADCAST",
102
106
  "OFFERS_VIDEO",
@@ -127,13 +131,16 @@ module FacebookAds
127
131
  "STORYLINE_WITH_EXTERNAL_MUSIC",
128
132
  "STORY_ARCHIVE_VIDEO",
129
133
  "STORY_CARD_TEMPLATE",
134
+ "STREAM_HIGHLIGHTS_VIDEO",
130
135
  "TAROT_DIGEST",
131
136
  "TEMP_MULTIMEDIA_POST",
132
137
  "UNLISTED",
133
138
  "VIDEO_COMMENT",
134
139
  "VIDEO_CREATIVE_EDITOR_AUTOGEN_AD_VIDEO",
135
140
  "VIDEO_SUPERRES",
141
+ "VU_GENERATED_VIDEO",
136
142
  "WOODHENGE",
143
+ "WORK_KNOWLEDGE_VIDEO",
137
144
  "YOUR_DAY",
138
145
  ]
139
146
 
@@ -165,7 +172,6 @@ module FacebookAds
165
172
 
166
173
  ORIGINAL_PROJECTION_TYPE = [
167
174
  "cubemap",
168
- "equiangular_cubemap",
169
175
  "equirectangular",
170
176
  "half_equirectangular",
171
177
  ]
@@ -191,29 +197,6 @@ module FacebookAds
191
197
  "transfer",
192
198
  ]
193
199
 
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_IMAGE",
205
- "INSTREAM_VIDEO_MOBILE",
206
- "MESSENGER_MOBILE_INBOX_MEDIA",
207
- "MESSENGER_MOBILE_STORY_MEDIA",
208
- "MOBILE_FEED_STANDARD",
209
- "MOBILE_FULLWIDTH",
210
- "MOBILE_INTERSTITIAL",
211
- "MOBILE_MEDIUM_RECTANGLE",
212
- "MOBILE_NATIVE",
213
- "RIGHT_COLUMN_STANDARD",
214
- "SUGGESTED_VIDEO_MOBILE",
215
- ]
216
-
217
200
  TYPE = [
218
201
  "tagged",
219
202
  "uploaded",
@@ -284,6 +267,7 @@ module FacebookAds
284
267
  field :composer_source_surface, 'string'
285
268
  field :composer_type, 'string'
286
269
  field :container_type, { enum: -> { CONTAINER_TYPE }}
270
+ field :creative_tools, 'string'
287
271
  field :end_offset, 'int'
288
272
  field :fbuploader_video_file_chunk, 'string'
289
273
  field :file_size, 'int'
@@ -332,11 +316,9 @@ module FacebookAds
332
316
  field :upload_session_id, 'string'
333
317
  field :upload_setting_properties, 'string'
334
318
  field :video_file_chunk, 'string'
319
+ field :video_id_original, 'string'
335
320
  field :video_start_time_ms, 'int'
336
321
  field :waterfall_id, 'string'
337
- field :ad_placements_validation_only, 'bool'
338
- field :creative_folder_id, 'string'
339
- field :validation_ad_placements, { list: { enum: -> { VALIDATION_AD_PLACEMENTS }} }
340
322
 
341
323
  has_edge :captions do |edge|
342
324
  edge.get
@@ -402,6 +384,12 @@ module FacebookAds
402
384
  end
403
385
  end
404
386
 
387
+ has_edge :reactions do |edge|
388
+ edge.get 'Profile' do |api|
389
+ api.has_param :type, { enum: -> { Profile::TYPE }}
390
+ end
391
+ end
392
+
405
393
  has_edge :sharedposts do |edge|
406
394
  edge.get 'Post'
407
395
  end
@@ -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,25 +25,38 @@ 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 UserTaggableFriend < AdObject
28
+ class AdoptablePet < AdObject
29
29
 
30
- field :first_name, 'string'
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 :coat_length, 'string'
40
+ field :color, 'string'
41
+ field :currency, 'string'
42
+ field :description, 'string'
43
+ field :features, { list: 'string' }
44
+ field :gender, 'string'
31
45
  field :id, 'string'
32
- field :last_name, 'string'
33
- field :middle_name, 'string'
46
+ field :images, { list: 'string' }
34
47
  field :name, 'string'
35
- has_no_get
48
+ field :price, 'string'
49
+ field :sanitized_images, { list: 'string' }
50
+ field :secondary_color, 'string'
51
+ field :shelter_email, 'string'
52
+ field :shelter_name, 'string'
53
+ field :shelter_page_id, 'Page'
54
+ field :shelter_phone, 'string'
55
+ field :size, 'string'
56
+ field :tertiary_color, 'string'
57
+ field :url, 'string'
36
58
  has_no_post
37
59
  has_no_delete
38
60
 
39
- has_edge :picture do |edge|
40
- edge.get 'ProfilePictureSource' do |api|
41
- api.has_param :height, 'int'
42
- api.has_param :redirect, 'bool'
43
- api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
44
- api.has_param :width, 'int'
45
- end
46
- end
47
-
48
61
  end
49
62
  end
@@ -53,6 +53,7 @@ module FacebookAds
53
53
  ACTION_REPORT_TIME = [
54
54
  "conversion",
55
55
  "impression",
56
+ "mixed",
56
57
  ]
57
58
 
58
59
  BREAKDOWNS = [
@@ -153,6 +154,7 @@ module FacebookAds
153
154
  field :campaign_name, 'string'
154
155
  field :canvas_avg_view_percent, 'string'
155
156
  field :canvas_avg_view_time, 'string'
157
+ field :catalog_segment_actions, { list: 'AdsActionStats' }
156
158
  field :catalog_segment_value, { list: 'AdsActionStats' }
157
159
  field :catalog_segment_value_mobile_purchase_roas, { list: 'AdsActionStats' }
158
160
  field :catalog_segment_value_omni_purchase_roas, { list: 'AdsActionStats' }
@@ -161,6 +163,8 @@ module FacebookAds
161
163
  field :conversion_rate_ranking, 'string'
162
164
  field :conversion_values, { list: 'AdsActionStats' }
163
165
  field :conversions, { list: 'AdsActionStats' }
166
+ field :converted_product_quantity, { list: 'AdsActionStats' }
167
+ field :converted_product_value, { list: 'AdsActionStats' }
164
168
  field :cost_per_15_sec_video_view, { list: 'AdsActionStats' }
165
169
  field :cost_per_2_sec_continuous_video_view, { list: 'AdsActionStats' }
166
170
  field :cost_per_action_type, { list: 'AdsActionStats' }
@@ -205,6 +209,7 @@ module FacebookAds
205
209
  field :instant_experience_clicks_to_open, 'string'
206
210
  field :instant_experience_clicks_to_start, 'string'
207
211
  field :instant_experience_outbound_clicks, 'string'
212
+ field :interactive_component_tap, { list: 'AdsActionStats' }
208
213
  field :labels, 'string'
209
214
  field :location, 'string'
210
215
  field :mobile_app_purchase_roas, { list: 'AdsActionStats' }
@@ -32,8 +32,11 @@ module FacebookAds
32
32
  ]
33
33
 
34
34
  AUTOMATIC_MATCHING_FIELDS = [
35
+ "country",
35
36
  "ct",
37
+ "db",
36
38
  "em",
39
+ "external_id",
37
40
  "fn",
38
41
  "ge",
39
42
  "ln",
@@ -90,6 +93,7 @@ module FacebookAds
90
93
  has_edge :da_checks do |edge|
91
94
  edge.get 'DaCheck' do |api|
92
95
  api.has_param :checks, { list: 'string' }
96
+ api.has_param :connection_method, { enum: -> { DaCheck::CONNECTION_METHOD }}
93
97
  end
94
98
  end
95
99
 
@@ -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",
@@ -99,6 +100,7 @@ module FacebookAds
99
100
  field :android_key_hash, { list: 'string' }
100
101
  field :android_sdk_error_categories, { list: 'object' }
101
102
  field :app_domains, { list: 'string' }
103
+ field :app_events_config, 'object'
102
104
  field :app_events_feature_bitmask, 'int'
103
105
  field :app_events_session_timeout, 'int'
104
106
  field :app_install_tracked, 'bool'
@@ -226,15 +228,20 @@ module FacebookAds
226
228
  api.has_param :bundle_id, 'string'
227
229
  api.has_param :bundle_short_version, 'string'
228
230
  api.has_param :bundle_version, 'string'
231
+ api.has_param :click_id, 'string'
229
232
  api.has_param :consider_views, 'bool'
230
233
  api.has_param :custom_events, { list: 'object' }
231
234
  api.has_param :custom_events_file, 'file'
235
+ api.has_param :data_processing_options, { list: 'string' }
236
+ api.has_param :data_processing_options_country, 'int'
237
+ api.has_param :data_processing_options_state, 'int'
232
238
  api.has_param :device_token, 'string'
233
239
  api.has_param :event, { enum: %w{CUSTOM_APP_EVENTS DEFERRED_APP_LINK MOBILE_APP_INSTALL }}
234
240
  api.has_param :extinfo, 'object'
235
241
  api.has_param :include_dwell_data, 'bool'
236
242
  api.has_param :include_video_data, 'bool'
237
243
  api.has_param :install_referrer, 'string'
244
+ api.has_param :install_timestamp, 'int'
238
245
  api.has_param :installer_package, 'string'
239
246
  api.has_param :limited_data_use, 'bool'
240
247
  api.has_param :migration_bundle, 'string'
@@ -284,6 +291,18 @@ module FacebookAds
284
291
  edge.get 'Business'
285
292
  end
286
293
 
294
+ has_edge :aggregate_revenue do |edge|
295
+ edge.post do |api|
296
+ api.has_param :ecpms, { list: 'string' }
297
+ api.has_param :query_ids, { list: 'string' }
298
+ api.has_param :request_id, 'string'
299
+ end
300
+ end
301
+
302
+ has_edge :android_dialog_configs do |edge|
303
+ edge.get
304
+ end
305
+
287
306
  has_edge :app_event_types do |edge|
288
307
  edge.get
289
308
  end
@@ -385,6 +404,7 @@ module FacebookAds
385
404
  has_edge :da_checks do |edge|
386
405
  edge.get 'DaCheck' do |api|
387
406
  api.has_param :checks, { list: 'string' }
407
+ api.has_param :connection_method, { enum: -> { DaCheck::CONNECTION_METHOD }}
388
408
  end
389
409
  end
390
410
 
@@ -451,6 +471,12 @@ module FacebookAds
451
471
  end
452
472
  end
453
473
 
474
+ has_edge :live_videos do |edge|
475
+ edge.get 'LiveVideo' do |api|
476
+ api.has_param :broadcast_status, { enum: -> { LiveVideo::BROADCAST_STATUS }}
477
+ end
478
+ end
479
+
454
480
  has_edge :mmp_auditing do |edge|
455
481
  edge.post do |api|
456
482
  api.has_param :advertiser_id, 'string'
@@ -474,6 +500,7 @@ module FacebookAds
474
500
  edge.get do |api|
475
501
  api.has_param :device_id, 'string'
476
502
  api.has_param :extinfo, 'object'
503
+ api.has_param :os_version, 'string'
477
504
  api.has_param :platform, { enum: %w{ANDROID IOS }}
478
505
  api.has_param :sdk_version, 'string'
479
506
  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",
@@ -120,11 +118,18 @@ module FacebookAds
120
118
  has_edge :access_token do |edge|
121
119
  edge.post 'Business' do |api|
122
120
  api.has_param :app_id, 'string'
121
+ api.has_param :fbe_external_business_id, 'string'
123
122
  api.has_param :scope, { list: 'Permission' }
124
123
  api.has_param :system_user_name, 'string'
125
124
  end
126
125
  end
127
126
 
127
+ has_edge :ad_accounts do |edge|
128
+ edge.delete do |api|
129
+ api.has_param :adaccount_id, 'string'
130
+ end
131
+ end
132
+
128
133
  has_edge :ad_studies do |edge|
129
134
  edge.get 'AdStudy'
130
135
  edge.post 'AdStudy' do |api|
@@ -210,15 +215,16 @@ module FacebookAds
210
215
  edge.get 'Business'
211
216
  end
212
217
 
213
- has_edge :an_placements do |edge|
214
- edge.get 'AdPlacement'
218
+ has_edge :aggregate_revenue do |edge|
219
+ edge.post do |api|
220
+ api.has_param :ecpms, { list: 'string' }
221
+ api.has_param :query_ids, { list: 'string' }
222
+ api.has_param :request_id, 'string'
223
+ end
215
224
  end
216
225
 
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
226
+ has_edge :an_placements do |edge|
227
+ edge.get 'AdPlacement'
222
228
  end
223
229
 
224
230
  has_edge :block_list_drafts do |edge|
@@ -295,6 +301,10 @@ module FacebookAds
295
301
  edge.get 'ProductCatalog'
296
302
  end
297
303
 
304
+ has_edge :client_whatsapp_business_accounts do |edge|
305
+ edge.get 'WhatsAppBusinessAccount'
306
+ end
307
+
298
308
  has_edge :clients do |edge|
299
309
  edge.delete do |api|
300
310
  api.has_param :business, 'string'
@@ -302,6 +312,26 @@ module FacebookAds
302
312
  edge.get 'Business'
303
313
  end
304
314
 
315
+ has_edge :collaborative_ads_collaboration_requests do |edge|
316
+ edge.get 'CpasCollaborationRequest' do |api|
317
+ api.has_param :status, 'string'
318
+ end
319
+ edge.post 'CpasCollaborationRequest' do |api|
320
+ api.has_param :brands, { list: 'string' }
321
+ api.has_param :contact_email, 'string'
322
+ api.has_param :contact_first_name, 'string'
323
+ api.has_param :contact_last_name, 'string'
324
+ api.has_param :phone_number, 'string'
325
+ api.has_param :receiver_business, 'string'
326
+ api.has_param :requester_agency_or_brand, { enum: -> { CpasCollaborationRequest::REQUESTER_AGENCY_OR_BRAND }}
327
+ api.has_param :sender_client_business, 'string'
328
+ end
329
+ end
330
+
331
+ has_edge :collaborative_ads_suggested_partners do |edge|
332
+ edge.get 'CpasAdvertiserPartnershipRecommendation'
333
+ end
334
+
305
335
  has_edge :commerce_merchant_settings do |edge|
306
336
  edge.get 'CommerceMerchantSettings'
307
337
  end
@@ -317,22 +347,11 @@ module FacebookAds
317
347
  end
318
348
  end
319
349
 
320
- has_edge :creative_asset_tags do |edge|
321
- edge.get 'CreativeAssetTag'
322
- end
323
-
324
- has_edge :creative_folders do |edge|
325
- edge.get 'BusinessCreativeFolder'
326
- edge.post 'BusinessCreativeFolder' do |api|
327
- api.has_param :description, 'string'
350
+ has_edge :create_and_apply_publisher_block_list do |edge|
351
+ edge.post do |api|
352
+ api.has_param :is_auto_blocking_on, 'bool'
328
353
  api.has_param :name, 'string'
329
- api.has_param :parent_folder_id, 'string'
330
- end
331
- end
332
-
333
- has_edge :creatives do |edge|
334
- edge.get 'BusinessCreative' do |api|
335
- api.has_param :creative_folder_id, 'string'
354
+ api.has_param :publisher_urls, { list: 'string' }
336
355
  end
337
356
  end
338
357
 
@@ -362,16 +381,6 @@ module FacebookAds
362
381
  end
363
382
  end
364
383
 
365
- has_edge :images do |edge|
366
- edge.post 'BusinessImage' do |api|
367
- api.has_param :ad_placements_validation_only, 'bool'
368
- api.has_param :bytes, 'object'
369
- api.has_param :creative_folder_id, 'string'
370
- api.has_param :name, 'string'
371
- api.has_param :validation_ad_placements, { list: { enum: -> { BusinessImage::VALIDATION_AD_PLACEMENTS }} }
372
- end
373
- end
374
-
375
384
  has_edge :initiated_audience_sharing_requests do |edge|
376
385
  edge.get 'BusinessAssetSharingAgreement' do |api|
377
386
  api.has_param :recipient_id, 'string'
@@ -398,6 +407,7 @@ module FacebookAds
398
407
  api.has_param :existing_client_business_id, 'string'
399
408
  end
400
409
  edge.post 'Business' do |api|
410
+ api.has_param :child_business_external_id, 'string'
401
411
  api.has_param :existing_client_business_id, 'string'
402
412
  api.has_param :name, 'string'
403
413
  api.has_param :sales_rep_email, 'string'
@@ -446,9 +456,11 @@ module FacebookAds
446
456
  api.has_param :client_id, 'string'
447
457
  end
448
458
  edge.get 'Business' do |api|
459
+ api.has_param :child_business_external_id, 'string'
449
460
  api.has_param :client_user_id, 'int'
450
461
  end
451
462
  edge.post 'Business' do |api|
463
+ api.has_param :child_business_external_id, 'string'
452
464
  api.has_param :name, 'string'
453
465
  api.has_param :page_permitted_tasks, { list: { enum: -> { Business::PAGE_PERMITTED_TASKS }} }
454
466
  api.has_param :sales_rep_email, 'string'
@@ -480,17 +492,22 @@ module FacebookAds
480
492
  has_edge :owned_product_catalogs do |edge|
481
493
  edge.get 'ProductCatalog'
482
494
  edge.post 'ProductCatalog' do |api|
483
- api.has_param :commerce_merchant_settings, 'object'
495
+ api.has_param :catalog_segment_filter, 'object'
496
+ api.has_param :catalog_segment_product_set_id, 'string'
484
497
  api.has_param :da_display_settings, 'object'
485
498
  api.has_param :destination_catalog_settings, 'hash'
486
499
  api.has_param :flight_catalog_settings, 'hash'
487
500
  api.has_param :name, 'string'
488
- api.has_param :onsite_commerce_merchant, 'object'
501
+ api.has_param :parent_catalog_id, 'string'
489
502
  api.has_param :store_catalog_settings, 'hash'
490
503
  api.has_param :vertical, { enum: -> { ProductCatalog::VERTICAL }}
491
504
  end
492
505
  end
493
506
 
507
+ has_edge :owned_whatsapp_business_accounts do |edge|
508
+ edge.get 'WhatsAppBusinessAccount'
509
+ end
510
+
494
511
  has_edge :pages do |edge|
495
512
  edge.delete do |api|
496
513
  api.has_param :page_id, 'int'
@@ -517,10 +534,6 @@ module FacebookAds
517
534
  edge.get 'BusinessPageRequest'
518
535
  end
519
536
 
520
- has_edge :pending_shared_creative_folders do |edge|
521
- edge.get 'BusinessCreativeFolder'
522
- end
523
-
524
537
  has_edge :pending_users do |edge|
525
538
  edge.get 'BusinessRoleRequest' do |api|
526
539
  api.has_param :email, 'string'
@@ -529,6 +542,7 @@ module FacebookAds
529
542
 
530
543
  has_edge :picture do |edge|
531
544
  edge.get 'ProfilePictureSource' do |api|
545
+ api.has_param :breaking_change, { enum: -> { ProfilePictureSource::BREAKING_CHANGE }}
532
546
  api.has_param :height, 'int'
533
547
  api.has_param :redirect, 'bool'
534
548
  api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
@@ -580,83 +594,5 @@ module FacebookAds
580
594
  end
581
595
  end
582
596
 
583
- has_edge :videos do |edge|
584
- edge.post 'AdVideo' do |api|
585
- api.has_param :ad_placements_validation_only, 'bool'
586
- api.has_param :adaptive_type, 'string'
587
- api.has_param :animated_effect_id, 'int'
588
- api.has_param :application_id, 'string'
589
- api.has_param :asked_fun_fact_prompt_id, 'int'
590
- api.has_param :attribution_app_id, 'string'
591
- api.has_param :audio_story_wave_animation_handle, 'string'
592
- api.has_param :chunk_session_id, 'string'
593
- api.has_param :composer_entry_picker, 'string'
594
- api.has_param :composer_entry_point, 'string'
595
- api.has_param :composer_entry_time, 'int'
596
- api.has_param :composer_session_events_log, 'string'
597
- api.has_param :composer_session_id, 'string'
598
- api.has_param :composer_source_surface, 'string'
599
- api.has_param :composer_type, 'string'
600
- api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
601
- api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
602
- api.has_param :creative_folder_id, 'string'
603
- api.has_param :description, 'string'
604
- api.has_param :embeddable, 'bool'
605
- api.has_param :end_offset, 'int'
606
- api.has_param :fbuploader_video_file_chunk, 'string'
607
- api.has_param :file_size, 'int'
608
- api.has_param :file_url, 'string'
609
- api.has_param :fisheye_video_cropped, 'bool'
610
- api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
611
- api.has_param :fov, 'int'
612
- api.has_param :front_z_rotation, 'double'
613
- api.has_param :fun_fact_prompt_id, 'int'
614
- api.has_param :fun_fact_toastee_id, 'int'
615
- api.has_param :guide, { list: { list: 'int' } }
616
- api.has_param :guide_enabled, 'bool'
617
- api.has_param :has_nickname, 'bool'
618
- api.has_param :holiday_card, 'string'
619
- api.has_param :initial_heading, 'int'
620
- api.has_param :initial_pitch, 'int'
621
- api.has_param :instant_game_entry_point_data, 'string'
622
- api.has_param :is_boost_intended, 'bool'
623
- api.has_param :is_group_linking_post, 'bool'
624
- api.has_param :is_voice_clip, 'bool'
625
- api.has_param :location_source_id, 'string'
626
- api.has_param :offer_like_post_id, 'int'
627
- api.has_param :og_action_type_id, 'string'
628
- api.has_param :og_icon_id, 'string'
629
- api.has_param :og_object_id, 'string'
630
- api.has_param :og_phrase, 'string'
631
- api.has_param :og_suggestion_mechanism, 'string'
632
- api.has_param :original_fov, 'int'
633
- api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
634
- api.has_param :publish_event_id, 'int'
635
- api.has_param :react_mode_metadata, 'string'
636
- api.has_param :referenced_sticker_id, 'string'
637
- api.has_param :replace_video_id, 'string'
638
- api.has_param :sales_promo_id, 'int'
639
- api.has_param :slideshow_spec, 'hash'
640
- api.has_param :source, 'string'
641
- api.has_param :spherical, 'bool'
642
- api.has_param :start_offset, 'int'
643
- api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
644
- api.has_param :text_format_metadata, 'string'
645
- api.has_param :throwback_camera_roll_media, 'string'
646
- api.has_param :thumb, 'file'
647
- api.has_param :time_since_original_post, 'int'
648
- api.has_param :title, 'string'
649
- api.has_param :transcode_setting_properties, 'string'
650
- api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
651
- api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
652
- api.has_param :upload_session_id, 'string'
653
- api.has_param :upload_setting_properties, 'string'
654
- api.has_param :validation_ad_placements, { list: { enum: -> { AdVideo::VALIDATION_AD_PLACEMENTS }} }
655
- api.has_param :video_file_chunk, 'string'
656
- api.has_param :video_start_time_ms, 'int'
657
- api.has_param :waterfall_id, 'string'
658
- end
659
- end
660
-
661
597
  end
662
598
  end