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.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/lib/facebook_ads/ad_objects/ad.rb +7 -0
- data/lib/facebook_ads/ad_objects/ad_account.rb +35 -4
- data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +22 -0
- data/lib/facebook_ads/ad_objects/{instant_article_insights_query_result.rb → ad_account_business_constraints.rb} +2 -26
- data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +2 -1
- data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +259 -0
- data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +2 -1
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats_unsupported_reasons.rb +1 -1
- data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -0
- data/lib/facebook_ads/ad_objects/ad_creative_branded_content_ads.rb +41 -0
- data/lib/facebook_ads/ad_objects/ad_creative_facebook_branded_content.rb +39 -0
- data/lib/facebook_ads/ad_objects/ad_creative_insights.rb +1 -1
- data/lib/facebook_ads/ad_objects/{commerce_merchant_tos_acceptance.rb → ad_creative_instagram_branded_content.rb} +4 -3
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +1 -1
- data/lib/facebook_ads/ad_objects/ad_preview.rb +6 -1
- data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_rule.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +4 -2
- data/lib/facebook_ads/ad_objects/ad_study_objective.rb +8 -0
- data/lib/facebook_ads/ad_objects/ad_video.rb +8 -0
- data/lib/facebook_ads/ad_objects/ads_insights.rb +8 -2
- data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +1 -1
- data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
- data/lib/facebook_ads/ad_objects/application.rb +7 -1
- data/lib/facebook_ads/ad_objects/brand_request.rb +55 -0
- data/lib/facebook_ads/ad_objects/business.rb +25 -0
- data/lib/facebook_ads/ad_objects/campaign.rb +0 -3
- data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +9 -1
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +2 -2
- data/lib/facebook_ads/ad_objects/cpas_business_setup_config.rb +2 -2
- data/lib/facebook_ads/ad_objects/cpas_merchant_config.rb +2 -2
- data/lib/facebook_ads/ad_objects/custom_audience.rb +3 -0
- data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -0
- data/lib/facebook_ads/ad_objects/{ad_account_custom_audience.rb → custom_audience_group.rb} +1 -1
- data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +0 -1
- data/lib/facebook_ads/ad_objects/group.rb +0 -7
- data/lib/facebook_ads/ad_objects/ig_user.rb +1 -0
- data/lib/facebook_ads/ad_objects/instant_articles_stats.rb +3 -3
- data/lib/facebook_ads/ad_objects/job_opening.rb +91 -0
- data/lib/facebook_ads/ad_objects/lead.rb +1 -0
- data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -1
- data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -11
- data/lib/facebook_ads/ad_objects/open_bridge_configuration.rb +39 -0
- data/lib/facebook_ads/ad_objects/page.rb +24 -42
- data/lib/facebook_ads/ad_objects/page_post_experiment.rb +1 -1
- data/lib/facebook_ads/ad_objects/product_catalog.rb +3 -22
- data/lib/facebook_ads/ad_objects/product_catalog_category.rb +1 -1
- data/lib/facebook_ads/ad_objects/product_feed_rule.rb +1 -1
- data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +1 -1
- data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -11
- data/lib/facebook_ads/ad_objects/product_item.rb +10 -5
- data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +3 -0
- data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +4 -4
- data/lib/facebook_ads/ad_objects/saved_audience.rb +0 -1
- data/lib/facebook_ads/ad_objects/server_side/event.rb +23 -3
- data/lib/facebook_ads/ad_objects/split_test_winner.rb +1 -1
- data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +1 -0
- data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
- data/lib/facebook_ads/ad_objects/url.rb +0 -2
- data/lib/facebook_ads/ad_objects/user.rb +3 -2
- data/lib/facebook_ads/ad_objects/vehicle_offer.rb +8 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +18 -0
- data/lib/facebook_ads/ad_objects/{instant_article.rb → whats_app_business_pre_verified_phone_number.rb} +21 -16
- data/lib/facebook_ads/field_types/datetime.rb +1 -1
- data/lib/facebook_ads/helpers/shortcuts.rb +1 -1
- data/lib/facebook_ads/version.rb +2 -2
- metadata +11 -7
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4d9e51955bc8d3c4592195a8b80cfd694df759ddc72cb6874f9ca5880003672
|
4
|
+
data.tar.gz: 6aa6a840463105597faf9d78efce421b8f143a79ee568e9db9c66a910f1a0400
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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, '
|
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
|
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
|
-
|
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
|
@@ -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
|