facebookbusiness 0.16.0.2 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -1
  3. data/lib/facebook_ads/ad_objects/ad.rb +7 -0
  4. data/lib/facebook_ads/ad_objects/ad_account.rb +35 -4
  5. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +22 -0
  6. data/lib/facebook_ads/ad_objects/{instant_article_insights_query_result.rb → ad_account_business_constraints.rb} +2 -26
  7. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +2 -1
  8. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +2 -0
  9. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +259 -0
  10. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +2 -1
  12. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats_unsupported_reasons.rb +1 -1
  13. data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_branded_content_ads.rb +41 -0
  15. data/lib/facebook_ads/ad_objects/ad_creative_facebook_branded_content.rb +39 -0
  16. data/lib/facebook_ads/ad_objects/ad_creative_insights.rb +1 -1
  17. data/lib/facebook_ads/ad_objects/{commerce_merchant_tos_acceptance.rb → ad_creative_instagram_branded_content.rb} +4 -3
  18. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
  19. data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +1 -1
  20. data/lib/facebook_ads/ad_objects/ad_preview.rb +6 -1
  21. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +2 -0
  22. data/lib/facebook_ads/ad_objects/ad_rule.rb +4 -0
  23. data/lib/facebook_ads/ad_objects/ad_set.rb +4 -2
  24. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +8 -0
  25. data/lib/facebook_ads/ad_objects/ad_video.rb +8 -0
  26. data/lib/facebook_ads/ad_objects/ads_insights.rb +8 -2
  27. data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +1 -1
  28. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  29. data/lib/facebook_ads/ad_objects/application.rb +7 -1
  30. data/lib/facebook_ads/ad_objects/brand_request.rb +55 -0
  31. data/lib/facebook_ads/ad_objects/business.rb +25 -0
  32. data/lib/facebook_ads/ad_objects/campaign.rb +0 -3
  33. data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +9 -1
  34. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +2 -2
  35. data/lib/facebook_ads/ad_objects/cpas_business_setup_config.rb +2 -2
  36. data/lib/facebook_ads/ad_objects/cpas_merchant_config.rb +2 -2
  37. data/lib/facebook_ads/ad_objects/custom_audience.rb +3 -0
  38. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -0
  39. data/lib/facebook_ads/ad_objects/{ad_account_custom_audience.rb → custom_audience_group.rb} +1 -1
  40. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +0 -1
  41. data/lib/facebook_ads/ad_objects/group.rb +0 -7
  42. data/lib/facebook_ads/ad_objects/ig_user.rb +1 -0
  43. data/lib/facebook_ads/ad_objects/instant_articles_stats.rb +3 -3
  44. data/lib/facebook_ads/ad_objects/job_opening.rb +91 -0
  45. data/lib/facebook_ads/ad_objects/lead.rb +1 -0
  46. data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -1
  47. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -11
  48. data/lib/facebook_ads/ad_objects/open_bridge_configuration.rb +39 -0
  49. data/lib/facebook_ads/ad_objects/page.rb +24 -42
  50. data/lib/facebook_ads/ad_objects/page_post_experiment.rb +1 -1
  51. data/lib/facebook_ads/ad_objects/product_catalog.rb +3 -22
  52. data/lib/facebook_ads/ad_objects/product_catalog_category.rb +1 -1
  53. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +1 -1
  54. data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +1 -1
  55. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -11
  56. data/lib/facebook_ads/ad_objects/product_item.rb +10 -5
  57. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +3 -0
  58. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +4 -4
  59. data/lib/facebook_ads/ad_objects/saved_audience.rb +0 -1
  60. data/lib/facebook_ads/ad_objects/server_side/event.rb +23 -3
  61. data/lib/facebook_ads/ad_objects/split_test_winner.rb +1 -1
  62. data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/url.rb +0 -2
  65. data/lib/facebook_ads/ad_objects/user.rb +3 -2
  66. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +8 -0
  67. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +18 -0
  68. data/lib/facebook_ads/ad_objects/{instant_article.rb → whats_app_business_pre_verified_phone_number.rb} +21 -16
  69. data/lib/facebook_ads/field_types/datetime.rb +1 -1
  70. data/lib/facebook_ads/helpers/shortcuts.rb +1 -1
  71. data/lib/facebook_ads/version.rb +2 -2
  72. metadata +11 -7
  73. data/lib/facebook_ads/ad_objects/jobs_job.rb +0 -85
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4f10d2cd1da0aae6374af9d499c3bce68acbbf34274da8ab8f31c7a3346779a
4
- data.tar.gz: 9191aedf5b076c1b19fb814cb3c81ec4d7889e69b5e6e64ee7d3a077f53a3484
3
+ metadata.gz: c4d9e51955bc8d3c4592195a8b80cfd694df759ddc72cb6874f9ca5880003672
4
+ data.tar.gz: 6aa6a840463105597faf9d78efce421b8f143a79ee568e9db9c66a910f1a0400
5
5
  SHA512:
6
- metadata.gz: d9601c88ca634566e4a93437543d76e030dc0a9d02753d7bbdd0b305f0199d91b7d15001d11d0f5d35fd6bffb961eea701309e890bb15196c1317a313914f67e
7
- data.tar.gz: cbeb1553b885405f126e87a623d3e315e4778f65154a8ec719f573b61ecfd6019db9decfc52efbd62bd32b11929f03e0126f47bdbe4cce534ce407868d02c92c
6
+ metadata.gz: 6c91672fb7c1b7f2099148e9846c7cff4b6eee52aa019d4e442ca303b22980b8d5d820d6b6e6aa251401e01dc5437c3357cfeb034c5bded3675e4296ee584053
7
+ data.tar.gz: ef397e116c23624b51f88dbf75c4c53664573573197fec116f2890b3a9e6008529e9e99d36caef325a1f3ca5cc4bc6d3020fbe52c2a6bee16596bad1226222fa
data/README.md CHANGED
@@ -1,8 +1,12 @@
1
1
  # Facebook Business SDK for Ruby
2
2
 
3
+ [![Packagist](https://img.shields.io/gem/v/facebookbusiness)](https://rubygems.org/gems/facebookbusiness)
4
+ [![License](https://img.shields.io/badge/license-Facebook%20Platform-blue.svg?style=flat-square)](https://github.com/facebook/facebook-ruby-business-sdk/blob/main/LICENSE.txt)
5
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/facebook/facebook-ruby-business-sdk/ci.yml)](https://github.com/facebook/facebook-ruby-business-sdk/actions/workflows/ci.yml)
6
+
3
7
  ### Introduction
4
8
 
5
- The Facebook <a href="https://developers.facebook.com/docs/business-sdk" target="_blank">Business SDK</a> is a one-stop shop to help our partners better serve their businesses. Partners are using multiple Facebook API's to server the needs of their clients. Adopting all these API's and keeping them up to date across the various platforms can be time consuming and ultimately prohibitive. For this reason Facebook has developed the Business SDK bundling many of its APIs into one SDK to ease implementation and upkeep. The Business SDK is an upgraded version of the Marketing API SDK that includes the Marketing API as well as many Facebook APIs from different platforms such as Pages, Business Manager, Instagram, etc.
9
+ The Facebook <a href="https://developers.facebook.com/docs/business-sdk" target="_blank">Business SDK</a> is a one-stop shop to help our partners better serve their businesses. Partners are using multiple Facebook API's to serve the needs of their clients. Adopting all these API's and keeping them up to date across the various platforms can be time consuming and ultimately prohibitive. For this reason Facebook has developed the Business SDK bundling many of its APIs into one SDK to ease implementation and upkeep. The Business SDK is an upgraded version of the Marketing API SDK that includes the Marketing API as well as many Facebook APIs from different platforms such as Pages, Business Manager, Instagram, etc.
6
10
 
7
11
  ## Quick Start
8
12
 
@@ -92,6 +92,11 @@ module FacebookAds
92
92
  "validate_only",
93
93
  ]
94
94
 
95
+ META_REWARD_ADGROUP_STATUS = [
96
+ "ACTIVE",
97
+ "INACTIVE",
98
+ ]
99
+
95
100
  OPERATOR = [
96
101
  "ALL",
97
102
  "ANY",
@@ -127,6 +132,7 @@ module FacebookAds
127
132
  field :id, 'string'
128
133
  field :issues_info, { list: 'AdgroupIssuesInfo' }
129
134
  field :last_updated_by_app_id, 'string'
135
+ field :meta_reward_adgroup_status, 'string'
130
136
  field :name, 'string'
131
137
  field :preview_shareable_link, 'string'
132
138
  field :priority, 'int'
@@ -232,6 +238,7 @@ module FacebookAds
232
238
  has_edge :previews do |edge|
233
239
  edge.get 'AdPreview' do |api|
234
240
  api.has_param :ad_format, { enum: -> { AdPreview::AD_FORMAT }}
241
+ api.has_param :creative_feature, { enum: -> { AdPreview::CREATIVE_FEATURE }}
235
242
  api.has_param :dynamic_asset_label, 'string'
236
243
  api.has_param :dynamic_creative_spec, 'object'
237
244
  api.has_param :dynamic_customization, 'object'
@@ -122,6 +122,7 @@ module FacebookAds
122
122
  SUBTYPE = [
123
123
  "APP",
124
124
  "BAG_OF_ACCOUNTS",
125
+ "BIDDING",
125
126
  "CLAIM",
126
127
  "CUSTOM",
127
128
  "ENGAGEMENT",
@@ -131,6 +132,7 @@ module FacebookAds
131
132
  "MEASUREMENT",
132
133
  "OFFLINE_CONVERSION",
133
134
  "PARTNER",
135
+ "PRIMARY",
134
136
  "REGULATED_CATEGORIES_AUDIENCE",
135
137
  "STUDY_RULE_AUDIENCE",
136
138
  "VIDEO",
@@ -163,7 +165,7 @@ module FacebookAds
163
165
  field :capabilities, { list: 'string' }
164
166
  field :created_time, 'datetime'
165
167
  field :currency, 'string'
166
- field :custom_audience_info, 'AdAccountCustomAudience'
168
+ field :custom_audience_info, 'CustomAudienceGroup'
167
169
  field :disable_reason, 'int'
168
170
  field :end_advertiser, 'string'
169
171
  field :end_advertiser_name, 'string'
@@ -173,7 +175,6 @@ module FacebookAds
173
175
  field :fb_entity, 'int'
174
176
  field :funding_source, 'string'
175
177
  field :funding_source_details, 'FundingSourceDetails'
176
- field :has_advertiser_opted_in_odax, 'bool'
177
178
  field :has_migrated_permissions, 'bool'
178
179
  field :has_page_authorized_adaccount, 'bool'
179
180
  field :id, 'string'
@@ -212,6 +213,13 @@ module FacebookAds
212
213
  field :viewable_business, 'Business'
213
214
  has_no_delete
214
215
 
216
+ has_edge :account_controls do |edge|
217
+ edge.get 'AdAccountBusinessConstraints'
218
+ edge.post 'AdAccountBusinessConstraints' do |api|
219
+ api.has_param :audience_controls, 'object'
220
+ end
221
+ end
222
+
215
223
  has_edge :activities do |edge|
216
224
  edge.get 'AdActivity' do |api|
217
225
  api.has_param :add_children, 'bool'
@@ -270,6 +278,7 @@ module FacebookAds
270
278
  api.has_param :asset_feed_spec, 'object'
271
279
  api.has_param :authorization_category, { enum: -> { AdCreative::AUTHORIZATION_CATEGORY }}
272
280
  api.has_param :body, 'string'
281
+ api.has_param :branded_content, 'hash'
273
282
  api.has_param :branded_content_sponsor_page_id, 'string'
274
283
  api.has_param :bundle_folder_id, 'string'
275
284
  api.has_param :call_to_action, 'object'
@@ -279,11 +288,13 @@ module FacebookAds
279
288
  api.has_param :destination_set_id, 'string'
280
289
  api.has_param :dynamic_ad_voice, { enum: -> { AdCreative::DYNAMIC_AD_VOICE }}
281
290
  api.has_param :enable_launch_instant_app, 'bool'
291
+ api.has_param :facebook_branded_content, 'hash'
282
292
  api.has_param :image_crops, 'hash'
283
293
  api.has_param :image_file, 'string'
284
294
  api.has_param :image_hash, 'string'
285
295
  api.has_param :image_url, 'string'
286
296
  api.has_param :instagram_actor_id, 'string'
297
+ api.has_param :instagram_branded_content, 'hash'
287
298
  api.has_param :instagram_permalink_url, 'string'
288
299
  api.has_param :instagram_user_id, 'string'
289
300
  api.has_param :interactive_components_spec, 'hash'
@@ -403,6 +414,7 @@ module FacebookAds
403
414
  api.has_param :engagement_audience, 'bool'
404
415
  api.has_param :execution_options, { list: { enum: -> { Ad::EXECUTION_OPTIONS }} }
405
416
  api.has_param :include_demolink_hashes, 'bool'
417
+ api.has_param :meta_reward_adgroup_status, { enum: -> { Ad::META_REWARD_ADGROUP_STATUS }}
406
418
  api.has_param :name, 'string'
407
419
  api.has_param :priority, 'int'
408
420
  api.has_param :source_ad_id, 'string'
@@ -412,6 +424,14 @@ module FacebookAds
412
424
  end
413
425
  end
414
426
 
427
+ has_edge :ads_conversion_goal do |edge|
428
+ edge.post do |api|
429
+ api.has_param :description, 'string'
430
+ api.has_param :goal_name, 'string'
431
+ api.has_param :single_channel_conversion_events, { list: 'hash' }
432
+ end
433
+ end
434
+
415
435
  has_edge :ads_reporting_mmm_reports do |edge|
416
436
  edge.get do |api|
417
437
  api.has_param :filtering, { list: 'hash' }
@@ -443,6 +463,7 @@ module FacebookAds
443
463
  api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} }
444
464
  api.has_param :is_completed, 'bool'
445
465
  api.has_param :time_range, 'object'
466
+ api.has_param :updated_since, 'int'
446
467
  end
447
468
  edge.post 'AdSet' do |api|
448
469
  api.has_param :adlabels, { list: 'object' }
@@ -462,6 +483,8 @@ module FacebookAds
462
483
  api.has_param :daily_spend_cap, 'int'
463
484
  api.has_param :date_format, 'string'
464
485
  api.has_param :destination_type, { enum: -> { AdSet::DESTINATION_TYPE }}
486
+ api.has_param :dsa_beneficiary, 'string'
487
+ api.has_param :dsa_payor, 'string'
465
488
  api.has_param :end_time, 'datetime'
466
489
  api.has_param :execution_options, { list: { enum: -> { AdSet::EXECUTION_OPTIONS }} }
467
490
  api.has_param :existing_customer_budget_percentage, 'int'
@@ -491,7 +514,6 @@ module FacebookAds
491
514
  api.has_param :time_stop, 'datetime'
492
515
  api.has_param :topline_id, 'string'
493
516
  api.has_param :tune_for_category, { enum: -> { AdSet::TUNE_FOR_CATEGORY }}
494
- api.has_param :upstream_events, 'hash'
495
517
  end
496
518
  end
497
519
 
@@ -717,7 +739,6 @@ module FacebookAds
717
739
  api.has_param :status, { enum: -> { Campaign::STATUS }}
718
740
  api.has_param :stop_time, 'datetime'
719
741
  api.has_param :topline_id, 'string'
720
- api.has_param :upstream_events, 'hash'
721
742
  end
722
743
  end
723
744
 
@@ -732,9 +753,14 @@ module FacebookAds
732
753
  edge.get 'IgUser'
733
754
  end
734
755
 
756
+ has_edge :conversion_goals do |edge|
757
+ edge.get
758
+ end
759
+
735
760
  has_edge :customaudiences do |edge|
736
761
  edge.get 'CustomAudience' do |api|
737
762
  api.has_param :business_id, 'string'
763
+ api.has_param :fetch_primary_audience, 'bool'
738
764
  api.has_param :fields, { list: 'string' }
739
765
  api.has_param :filtering, { list: 'object' }
740
766
  api.has_param :pixel_id, 'string'
@@ -772,6 +798,7 @@ module FacebookAds
772
798
  api.has_param :rule, 'string'
773
799
  api.has_param :rule_aggregation, 'string'
774
800
  api.has_param :subtype, { enum: -> { CustomAudience::SUBTYPE }}
801
+ api.has_param :use_in_campaigns, 'bool'
775
802
  api.has_param :video_group_ids, { list: 'string' }
776
803
  end
777
804
  end
@@ -815,6 +842,7 @@ module FacebookAds
815
842
  edge.get 'AdPreview' do |api|
816
843
  api.has_param :ad_format, { enum: -> { AdPreview::AD_FORMAT }}
817
844
  api.has_param :creative, 'AdCreative'
845
+ api.has_param :creative_feature, { enum: -> { AdPreview::CREATIVE_FEATURE }}
818
846
  api.has_param :dynamic_asset_label, 'string'
819
847
  api.has_param :dynamic_creative_spec, 'object'
820
848
  api.has_param :dynamic_customization, 'object'
@@ -1059,6 +1087,7 @@ module FacebookAds
1059
1087
  api.has_param :is_exclusion, 'bool'
1060
1088
  api.has_param :limit_type, { enum: -> { AdAccountTargetingUnified::LIMIT_TYPE }}
1061
1089
  api.has_param :regulated_categories, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_CATEGORIES }} }
1090
+ api.has_param :regulated_countries, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_COUNTRIES }} }
1062
1091
  api.has_param :whitelisted_types, { list: { enum: -> { AdAccountTargetingUnified::WHITELISTED_TYPES }} }
1063
1092
  end
1064
1093
  end
@@ -1074,6 +1103,7 @@ module FacebookAds
1074
1103
  api.has_param :promoted_object, 'object'
1075
1104
  api.has_param :q, 'string'
1076
1105
  api.has_param :regulated_categories, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_CATEGORIES }} }
1106
+ api.has_param :regulated_countries, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_COUNTRIES }} }
1077
1107
  api.has_param :session_id, 'int'
1078
1108
  api.has_param :targeting_list, { list: 'object' }
1079
1109
  api.has_param :whitelisted_types, { list: { enum: -> { AdAccountTargetingUnified::WHITELISTED_TYPES }} }
@@ -1098,6 +1128,7 @@ module FacebookAds
1098
1128
  api.has_param :objective, { enum: -> { AdAccountTargetingUnified::OBJECTIVE }}
1099
1129
  api.has_param :objects, 'object'
1100
1130
  api.has_param :regulated_categories, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_CATEGORIES }} }
1131
+ api.has_param :regulated_countries, { list: { enum: -> { AdAccountTargetingUnified::REGULATED_COUNTRIES }} }
1101
1132
  api.has_param :session_id, 'int'
1102
1133
  api.has_param :targeting_list, { list: 'object' }
1103
1134
  api.has_param :whitelisted_types, { list: { enum: -> { AdAccountTargetingUnified::WHITELISTED_TYPES }} }
@@ -27,7 +27,12 @@ module FacebookAds
27
27
 
28
28
  class AdAccountAdVolume < AdObject
29
29
  RECOMMENDATION_TYPE = [
30
+ "AB_TEST",
30
31
  "ACO_TOGGLE",
32
+ "ADS_REPORTING",
33
+ "ADVANTAGE_PLUS_CREATIVE",
34
+ "AD_OBJECTIVE",
35
+ "AEM_V2_INELIGIBLE",
31
36
  "AGGREGATED_BID_LIMITED",
32
37
  "AGGREGATED_BUDGET_LIMITED",
33
38
  "AGGREGATED_COST_LIMITED",
@@ -36,25 +41,42 @@ module FacebookAds
36
41
  "AUDIENCE_EXPANSION",
37
42
  "AUTOFLOW_OPT_IN",
38
43
  "AUTOMATIC_PLACEMENTS",
44
+ "AUTO_BID",
45
+ "BROAD_TARGETING",
39
46
  "CAPI",
47
+ "CONNECT_FACEBOOK_PAGE_TO_INSTAGRAM",
48
+ "CONNECT_FACEBOOK_PAGE_TO_WHATSAPP",
40
49
  "COST_GOAL",
41
50
  "COST_GOAL_BUDGET_LIMITED",
42
51
  "COST_GOAL_CPA_LIMITED",
43
52
  "CREATIVE_BADGE",
44
53
  "CREATIVE_FATIGUE",
54
+ "CREATIVE_FATIGUE_HOURLY",
45
55
  "CREATIVE_LIMITED",
56
+ "CREATIVE_LIMITED_HOURLY",
46
57
  "DEAD_LINK",
47
58
  "ECOSYSTEM_BID_REDUCE_L1_CARDINALITY",
48
59
  "FRAGMENTATION",
60
+ "GES_TEST",
49
61
  "LEARNING_LIMITED",
50
62
  "LOW_OUTCOME",
51
63
  "MMT_CAROUSEL_TO_VIDEO",
64
+ "MOBILE_FIRST_VIDEO",
52
65
  "MULTI_TEXT",
53
66
  "MUSIC",
67
+ "OPTIMAL_SPEND",
68
+ "PAYMENT_METHOD",
69
+ "PFR_L1_INLINE_MMT",
54
70
  "PREDICTIVE_CREATIVE_LIMITED",
71
+ "PREDICTIVE_CREATIVE_LIMITED_HOURLY",
55
72
  "REVERT",
73
+ "SCALE_GOOD_CAMPAIGN",
56
74
  "SEMANTIC_BASED_AUDIENCE_EXPANSION",
75
+ "SETUP_PIXEL",
76
+ "SHOPS_ADS",
57
77
  "SIGNALS_GROWTH_CAPI",
78
+ "SIX_PLUS_MANUAL_PLACEMENTS",
79
+ "SPEND_LIMIT",
58
80
  "SYD_TEST_MODE",
59
81
  "TOP_ADSETS_WITH_ADS_UNDER_CAP",
60
82
  "TOP_CAMPAIGNS_WITH_ADS_UNDER_CAP",
@@ -25,33 +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 InstantArticleInsightsQueryResult < AdObject
29
- BREAKDOWN = [
30
- "age",
31
- "country",
32
- "gender",
33
- "gender_and_age",
34
- "is_organic",
35
- "is_shared_by_ia_owner",
36
- "no_breakdown",
37
- "platform",
38
- "region",
39
- ]
28
+ class AdAccountBusinessConstraints < AdObject
40
29
 
41
- PERIOD = [
42
- "day",
43
- "days_28",
44
- "lifetime",
45
- "month",
46
- "total_over_range",
47
- "week",
48
- ]
49
-
50
-
51
- field :breakdowns, 'hash'
52
- field :name, 'string'
53
- field :time, 'datetime'
54
- field :value, 'string'
30
+ field :audience_controls, 'object'
55
31
  has_no_id
56
32
  has_no_get
57
33
  has_no_post
@@ -48,6 +48,7 @@ module FacebookAds
48
48
  "QUALITY_CALL",
49
49
  "QUALITY_LEAD",
50
50
  "REACH",
51
+ "SUBSCRIBERS",
51
52
  "THRUPLAY",
52
53
  "VALUE",
53
54
  "VISIT_INSTAGRAM_PROFILE",
@@ -59,7 +60,7 @@ module FacebookAds
59
60
  field :estimate_mau_lower_bound, 'int'
60
61
  field :estimate_mau_upper_bound, 'int'
61
62
  field :estimate_ready, 'bool'
62
- field :targeting_optimization_types, 'hash'
63
+ field :targeting_optimization_types, { list: 'hash' }
63
64
  has_no_id
64
65
  has_no_get
65
66
  has_no_post
@@ -42,6 +42,8 @@ module FacebookAds
42
42
  "INSTANT_GAME",
43
43
  "ITUNES",
44
44
  "ITUNES_IPAD",
45
+ "NEON_ANDROID_STORE",
46
+ "NONE",
45
47
  "OCULUS_APP_STORE",
46
48
  "OPPO",
47
49
  "ROKU_STORE",
@@ -64,16 +64,273 @@ module FacebookAds
64
64
  "ONLINE_GAMBLING_AND_GAMING",
65
65
  ]
66
66
 
67
+ REGULATED_COUNTRIES = [
68
+ "AD",
69
+ "AE",
70
+ "AF",
71
+ "AG",
72
+ "AI",
73
+ "AL",
74
+ "AM",
75
+ "AN",
76
+ "AO",
77
+ "AQ",
78
+ "AR",
79
+ "AS",
80
+ "AT",
81
+ "AU",
82
+ "AW",
83
+ "AX",
84
+ "AZ",
85
+ "BA",
86
+ "BB",
87
+ "BD",
88
+ "BE",
89
+ "BF",
90
+ "BG",
91
+ "BH",
92
+ "BI",
93
+ "BJ",
94
+ "BL",
95
+ "BM",
96
+ "BN",
97
+ "BO",
98
+ "BQ",
99
+ "BR",
100
+ "BS",
101
+ "BT",
102
+ "BV",
103
+ "BW",
104
+ "BY",
105
+ "BZ",
106
+ "CA",
107
+ "CC",
108
+ "CD",
109
+ "CF",
110
+ "CG",
111
+ "CH",
112
+ "CI",
113
+ "CK",
114
+ "CL",
115
+ "CM",
116
+ "CN",
117
+ "CO",
118
+ "CR",
119
+ "CU",
120
+ "CV",
121
+ "CW",
122
+ "CX",
123
+ "CY",
124
+ "CZ",
125
+ "DE",
126
+ "DJ",
127
+ "DK",
128
+ "DM",
129
+ "DO",
130
+ "DZ",
131
+ "EC",
132
+ "EE",
133
+ "EG",
134
+ "EH",
135
+ "ER",
136
+ "ES",
137
+ "ET",
138
+ "FI",
139
+ "FJ",
140
+ "FK",
141
+ "FM",
142
+ "FO",
143
+ "FR",
144
+ "GA",
145
+ "GB",
146
+ "GD",
147
+ "GE",
148
+ "GF",
149
+ "GG",
150
+ "GH",
151
+ "GI",
152
+ "GL",
153
+ "GM",
154
+ "GN",
155
+ "GP",
156
+ "GQ",
157
+ "GR",
158
+ "GS",
159
+ "GT",
160
+ "GU",
161
+ "GW",
162
+ "GY",
163
+ "HK",
164
+ "HM",
165
+ "HN",
166
+ "HR",
167
+ "HT",
168
+ "HU",
169
+ "ID",
170
+ "IE",
171
+ "IL",
172
+ "IM",
173
+ "IN",
174
+ "IO",
175
+ "IQ",
176
+ "IR",
177
+ "IS",
178
+ "IT",
179
+ "JE",
180
+ "JM",
181
+ "JO",
182
+ "JP",
183
+ "KE",
184
+ "KG",
185
+ "KH",
186
+ "KI",
187
+ "KM",
188
+ "KN",
189
+ "KP",
190
+ "KR",
191
+ "KW",
192
+ "KY",
193
+ "KZ",
194
+ "LA",
195
+ "LB",
196
+ "LC",
197
+ "LI",
198
+ "LK",
199
+ "LR",
200
+ "LS",
201
+ "LT",
202
+ "LU",
203
+ "LV",
204
+ "LY",
205
+ "MA",
206
+ "MC",
207
+ "MD",
208
+ "ME",
209
+ "MF",
210
+ "MG",
211
+ "MH",
212
+ "MK",
213
+ "ML",
214
+ "MM",
215
+ "MN",
216
+ "MO",
217
+ "MP",
218
+ "MQ",
219
+ "MR",
220
+ "MS",
221
+ "MT",
222
+ "MU",
223
+ "MV",
224
+ "MW",
225
+ "MX",
226
+ "MY",
227
+ "MZ",
228
+ "NA",
229
+ "NC",
230
+ "NE",
231
+ "NF",
232
+ "NG",
233
+ "NI",
234
+ "NL",
235
+ "NO",
236
+ "NP",
237
+ "NR",
238
+ "NU",
239
+ "NZ",
240
+ "OM",
241
+ "PA",
242
+ "PE",
243
+ "PF",
244
+ "PG",
245
+ "PH",
246
+ "PK",
247
+ "PL",
248
+ "PM",
249
+ "PN",
250
+ "PR",
251
+ "PS",
252
+ "PT",
253
+ "PW",
254
+ "PY",
255
+ "QA",
256
+ "RE",
257
+ "RO",
258
+ "RS",
259
+ "RU",
260
+ "RW",
261
+ "SA",
262
+ "SB",
263
+ "SC",
264
+ "SD",
265
+ "SE",
266
+ "SG",
267
+ "SH",
268
+ "SI",
269
+ "SJ",
270
+ "SK",
271
+ "SL",
272
+ "SM",
273
+ "SN",
274
+ "SO",
275
+ "SR",
276
+ "SS",
277
+ "ST",
278
+ "SV",
279
+ "SX",
280
+ "SY",
281
+ "SZ",
282
+ "TC",
283
+ "TD",
284
+ "TF",
285
+ "TG",
286
+ "TH",
287
+ "TJ",
288
+ "TK",
289
+ "TL",
290
+ "TM",
291
+ "TN",
292
+ "TO",
293
+ "TR",
294
+ "TT",
295
+ "TV",
296
+ "TW",
297
+ "TZ",
298
+ "UA",
299
+ "UG",
300
+ "UM",
301
+ "US",
302
+ "UY",
303
+ "UZ",
304
+ "VA",
305
+ "VC",
306
+ "VE",
307
+ "VG",
308
+ "VI",
309
+ "VN",
310
+ "VU",
311
+ "WF",
312
+ "WS",
313
+ "XK",
314
+ "YE",
315
+ "YT",
316
+ "ZA",
317
+ "ZM",
318
+ "ZW",
319
+ ]
320
+
67
321
  WHITELISTED_TYPES = [
68
322
  "adgroup_id",
69
323
  "age_max",
70
324
  "age_min",
325
+ "age_range",
71
326
  "alternate_auto_targeting_option",
72
327
  "app_install_state",
73
328
  "audience_network_positions",
74
329
  "behaviors",
75
330
  "brand_safety_content_filter_levels",
76
331
  "brand_safety_content_severity_levels",
332
+ "cafe_ca_contraction_targeting_signal",
333
+ "cafe_ca_expansion_targeting_signal",
77
334
  "catalog_based_targeting",
78
335
  "cities",
79
336
  "city_keys",
@@ -205,6 +462,8 @@ module FacebookAds
205
462
  "instant_game",
206
463
  "itunes",
207
464
  "itunes_ipad",
465
+ "neon_android_store",
466
+ "none",
208
467
  "oculus_app_store",
209
468
  "oppo",
210
469
  "roku_channel_store",
@@ -51,9 +51,11 @@ module FacebookAds
51
51
  "GET_DIRECTIONS",
52
52
  "GET_OFFER",
53
53
  "GET_OFFER_VIEW",
54
+ "GET_PROMOTIONS",
54
55
  "GET_QUOTE",
55
56
  "GET_SHOWTIMES",
56
57
  "GET_STARTED",
58
+ "INQUIRE_NOW",
57
59
  "INSTALL_APP",
58
60
  "INSTALL_MOBILE_APP",
59
61
  "LEARN_MORE",
@@ -104,6 +106,7 @@ module FacebookAds
104
106
 
105
107
  field :ad_formats, { list: 'string' }
106
108
  field :additional_data, 'object'
109
+ field :app_product_page_id, 'string'
107
110
  field :asset_customization_rules, { list: 'object' }
108
111
  field :autotranslate, { list: 'string' }
109
112
  field :bodies, { list: 'AdAssetFeedSpecBody' }
@@ -48,6 +48,7 @@ module FacebookAds
48
48
  "QUALITY_CALL",
49
49
  "QUALITY_LEAD",
50
50
  "REACH",
51
+ "SUBSCRIBERS",
51
52
  "THRUPLAY",
52
53
  "VALUE",
53
54
  "VISIT_INSTAGRAM_PROFILE",
@@ -59,7 +60,7 @@ module FacebookAds
59
60
  field :estimate_mau_lower_bound, 'int'
60
61
  field :estimate_mau_upper_bound, 'int'
61
62
  field :estimate_ready, 'bool'
62
- field :targeting_optimization_types, 'hash'
63
+ field :targeting_optimization_types, { list: 'hash' }
63
64
  has_no_id
64
65
  has_no_get
65
66
  has_no_post
@@ -27,7 +27,7 @@ module FacebookAds
27
27
 
28
28
  class AdCampaignDeliveryStatsUnsupportedReasons < AdObject
29
29
 
30
- field :reason_data, 'hash'
30
+ field :reason_data, { list: 'hash' }
31
31
  field :reason_type, 'string'
32
32
  has_no_id
33
33
  has_no_get