facebookbusiness 0.13.0.0 → 0.15.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +34 -32
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_rules_history.rb +1 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +10 -0
  5. data/lib/facebook_ads/ad_objects/{native_offer_discount.rb → ad_account_custom_audience.rb} +4 -7
  6. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_activity.rb +1 -0
  9. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
  10. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +3 -0
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  12. data/lib/facebook_ads/ad_objects/ad_creative.rb +3 -6
  13. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +3 -0
  14. data/lib/facebook_ads/ad_objects/ad_image.rb +1 -0
  15. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_network_analytics_async_query_result.rb +1 -0
  17. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -1
  18. data/lib/facebook_ads/ad_objects/ad_placement.rb +1 -0
  19. data/lib/facebook_ads/ad_objects/ad_preview.rb +8 -0
  20. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +1 -0
  21. data/lib/facebook_ads/ad_objects/ad_rule.rb +1 -1
  22. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +1 -0
  23. data/lib/facebook_ads/ad_objects/ad_rule_history.rb +1 -0
  24. data/lib/facebook_ads/ad_objects/ad_set.rb +17 -15
  25. data/lib/facebook_ads/ad_objects/ad_study.rb +14 -1
  26. data/lib/facebook_ads/ad_objects/ad_video.rb +24 -2
  27. data/lib/facebook_ads/ad_objects/adgroup_metadata.rb +41 -0
  28. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  29. data/lib/facebook_ads/ad_objects/ads_insights.rb +4 -0
  30. data/lib/facebook_ads/ad_objects/ads_pixel.rb +6 -1
  31. data/lib/facebook_ads/ad_objects/application.rb +14 -7
  32. data/lib/facebook_ads/ad_objects/audio_copyright.rb +4 -0
  33. data/lib/facebook_ads/ad_objects/automotive_model.rb +0 -26
  34. data/lib/facebook_ads/ad_objects/business.rb +33 -25
  35. data/lib/facebook_ads/ad_objects/business_asset_group.rb +2 -0
  36. data/lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb +1 -0
  37. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  38. data/lib/facebook_ads/ad_objects/business_partner_premium_options.rb +39 -0
  39. data/lib/facebook_ads/ad_objects/business_user.rb +1 -0
  40. data/lib/facebook_ads/ad_objects/campaign.rb +3 -11
  41. data/lib/facebook_ads/ad_objects/canvas.rb +2 -1
  42. data/lib/facebook_ads/ad_objects/{page_admin_note.rb → canvas_dynamic_setting.rb} +3 -5
  43. data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +6 -0
  44. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +11 -0
  45. data/lib/facebook_ads/ad_objects/commerce_order.rb +8 -0
  46. data/lib/facebook_ads/ad_objects/copyright_audio_asset.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/credit_card.rb +55 -0
  48. data/lib/facebook_ads/ad_objects/crm_address.rb +48 -0
  49. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/event.rb +29 -35
  52. data/lib/facebook_ads/ad_objects/event_source_group.rb +1 -0
  53. data/lib/facebook_ads/ad_objects/experience.rb +1 -1
  54. data/lib/facebook_ads/ad_objects/extended_credit.rb +3 -0
  55. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +3 -0
  56. data/lib/facebook_ads/ad_objects/fundraiser_person_to_charity.rb +4 -0
  57. data/lib/facebook_ads/ad_objects/game_item.rb +48 -0
  58. data/lib/facebook_ads/ad_objects/group.rb +19 -67
  59. data/lib/facebook_ads/ad_objects/home_listing.rb +4 -1
  60. data/lib/facebook_ads/ad_objects/ig_media.rb +13 -0
  61. data/lib/facebook_ads/ad_objects/ig_user.rb +25 -0
  62. data/lib/facebook_ads/ad_objects/{dynamic_content_set.rb → igbc_ads_permission.rb} +3 -3
  63. data/lib/facebook_ads/ad_objects/instagram_insights_result.rb +5 -0
  64. data/lib/facebook_ads/ad_objects/instagram_user.rb +1 -0
  65. data/lib/facebook_ads/ad_objects/jobs_job.rb +7 -0
  66. data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -0
  67. data/lib/facebook_ads/ad_objects/live_video.rb +17 -17
  68. data/lib/facebook_ads/ad_objects/local_service_business.rb +5 -0
  69. data/lib/facebook_ads/ad_objects/{adoptable_pet.rb → media_title.rb} +16 -22
  70. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +2 -0
  71. data/lib/facebook_ads/ad_objects/page.rb +117 -54
  72. data/lib/facebook_ads/ad_objects/page_post.rb +2 -2
  73. data/lib/facebook_ads/ad_objects/{canvas_template.rb → page_post_experiment.rb} +11 -12
  74. data/lib/facebook_ads/ad_objects/post.rb +2 -2
  75. data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +3 -0
  76. data/lib/facebook_ads/ad_objects/product_catalog.rb +19 -15
  77. data/lib/facebook_ads/ad_objects/product_catalog_data_source.rb +46 -0
  78. data/lib/facebook_ads/ad_objects/product_catalog_diagnostic_group.rb +16 -0
  79. data/lib/facebook_ads/ad_objects/product_feed.rb +18 -10
  80. data/lib/facebook_ads/ad_objects/product_feed_missing_feed_item_replacement.rb +0 -1
  81. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +8 -0
  82. data/lib/facebook_ads/ad_objects/product_feed_upload.rb +3 -1
  83. data/lib/facebook_ads/ad_objects/product_feed_upload_error.rb +6 -0
  84. data/lib/facebook_ads/ad_objects/product_group.rb +7 -7
  85. data/lib/facebook_ads/ad_objects/product_item.rb +85 -0
  86. data/lib/facebook_ads/ad_objects/product_item_error.rb +40 -0
  87. data/lib/facebook_ads/ad_objects/product_set.rb +9 -0
  88. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +1 -0
  89. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +4 -0
  90. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  91. data/lib/facebook_ads/ad_objects/shadow_ig_media_product_tags.rb +47 -0
  92. data/lib/facebook_ads/ad_objects/shop.rb +1 -0
  93. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  94. data/lib/facebook_ads/ad_objects/user.rb +13 -4
  95. data/lib/facebook_ads/ad_objects/user_page_one_time_opt_in_token_settings.rb +44 -0
  96. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -0
  97. data/lib/facebook_ads/ad_objects/video_copyright.rb +4 -0
  98. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +14 -13
  99. data/lib/facebook_ads/ad_objects/{third_party_measurement_report_dataset.rb → whats_app_business_pre_verified_phone_number.rb} +4 -5
  100. data/lib/facebook_ads/version.rb +2 -2
  101. metadata +17 -14
  102. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +0 -63
  103. data/lib/facebook_ads/ad_objects/ad_campaign_group_activity.rb +0 -99
  104. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +0 -128
  105. data/lib/facebook_ads/ad_objects/content_delivery_report.rb +0 -92
  106. data/lib/facebook_ads/ad_objects/native_offer.rb +0 -122
  107. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -53
@@ -96,7 +96,9 @@ module FacebookAds
96
96
 
97
97
 
98
98
  field :business, 'Business'
99
+ field :catalog_store, 'StoreCatalogSettings'
99
100
  field :commerce_merchant_settings, 'CommerceMerchantSettings'
101
+ field :creator_user, 'User'
100
102
  field :da_display_settings, 'ProductCatalogImageSettings'
101
103
  field :default_image_url, 'string'
102
104
  field :fallback_image_url, { list: 'string' }
@@ -104,6 +106,7 @@ module FacebookAds
104
106
  field :id, 'string'
105
107
  field :is_catalog_segment, 'bool'
106
108
  field :name, 'string'
109
+ field :owner_business, 'Business'
107
110
  field :product_count, 'int'
108
111
  field :store_catalog_settings, 'StoreCatalogSettings'
109
112
  field :vertical, 'string'
@@ -151,19 +154,6 @@ module FacebookAds
151
154
  api.has_param :bulk_pagination, 'bool'
152
155
  api.has_param :filter, 'object'
153
156
  end
154
- edge.post 'AutomotiveModel' do |api|
155
- api.has_param :automotive_model_id, 'string'
156
- api.has_param :body_style, { enum: -> { AutomotiveModel::BODY_STYLE }}
157
- api.has_param :currency, 'string'
158
- api.has_param :description, 'string'
159
- api.has_param :images, { list: 'object' }
160
- api.has_param :make, 'string'
161
- api.has_param :model, 'string'
162
- api.has_param :price, 'int'
163
- api.has_param :title, 'string'
164
- api.has_param :url, 'string'
165
- api.has_param :year, 'int'
166
- end
167
157
  end
168
158
 
169
159
  has_edge :batch do |edge|
@@ -192,6 +182,7 @@ module FacebookAds
192
182
 
193
183
  has_edge :check_batch_request_status do |edge|
194
184
  edge.get 'CheckBatchRequestStatus' do |api|
185
+ api.has_param :error_priority, { enum: -> { CheckBatchRequestStatus::ERROR_PRIORITY }}
195
186
  api.has_param :handle, 'string'
196
187
  api.has_param :load_ids_of_invalid_requests, 'bool'
197
188
  end
@@ -213,6 +204,12 @@ module FacebookAds
213
204
  end
214
205
  end
215
206
 
207
+ has_edge :data_sources do |edge|
208
+ edge.get 'ProductCatalogDataSource' do |api|
209
+ api.has_param :ingestion_source_type, { enum: -> { ProductCatalogDataSource::INGESTION_SOURCE_TYPE }}
210
+ end
211
+ end
212
+
216
213
  has_edge :destinations do |edge|
217
214
  edge.get 'Destination' do |api|
218
215
  api.has_param :bulk_pagination, 'bool'
@@ -223,6 +220,7 @@ module FacebookAds
223
220
  has_edge :diagnostics do |edge|
224
221
  edge.get 'ProductCatalogDiagnosticGroup' do |api|
225
222
  api.has_param :affected_channels, { list: { enum: -> { ProductCatalogDiagnosticGroup::AFFECTED_CHANNELS }} }
223
+ api.has_param :affected_entities, { list: { enum: -> { ProductCatalogDiagnosticGroup::AFFECTED_ENTITIES }} }
226
224
  api.has_param :affected_features, { list: { enum: -> { ProductCatalogDiagnosticGroup::AFFECTED_FEATURES }} }
227
225
  api.has_param :severities, { list: { enum: -> { ProductCatalogDiagnosticGroup::SEVERITIES }} }
228
226
  api.has_param :types, { list: { enum: -> { ProductCatalogDiagnosticGroup::TYPES }} }
@@ -330,9 +328,13 @@ module FacebookAds
330
328
  end
331
329
 
332
330
  has_edge :media_titles do |edge|
333
- edge.post do |api|
331
+ edge.get 'MediaTitle' do |api|
332
+ api.has_param :bulk_pagination, 'bool'
333
+ api.has_param :filter, 'object'
334
+ end
335
+ edge.post 'MediaTitle' do |api|
334
336
  api.has_param :applinks, 'object'
335
- api.has_param :content_category, { enum: %w{MOVIE MUSIC TV_SHOW }}
337
+ api.has_param :content_category, { enum: -> { MediaTitle::CONTENT_CATEGORY }}
336
338
  api.has_param :currency, 'string'
337
339
  api.has_param :description, 'string'
338
340
  api.has_param :fb_page_id, 'string'
@@ -420,6 +422,8 @@ module FacebookAds
420
422
  has_edge :products do |edge|
421
423
  edge.get 'ProductItem' do |api|
422
424
  api.has_param :bulk_pagination, 'bool'
425
+ api.has_param :error_priority, { enum: -> { ProductItem::ERROR_PRIORITY }}
426
+ api.has_param :error_type, { enum: -> { ProductItem::ERROR_TYPE }}
423
427
  api.has_param :filter, 'object'
424
428
  api.has_param :return_only_approved_products, 'bool'
425
429
  end
@@ -0,0 +1,46 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class ProductCatalogDataSource < AdObject
29
+ INGESTION_SOURCE_TYPE = [
30
+ "ALL",
31
+ "PRIMARY",
32
+ "SUPPLEMENTARY",
33
+ ]
34
+
35
+
36
+ field :app_id, 'string'
37
+ field :id, 'string'
38
+ field :ingestion_source_type, 'string'
39
+ field :name, 'string'
40
+ field :upload_type, 'string'
41
+ has_no_get
42
+ has_no_post
43
+ has_no_delete
44
+
45
+ end
46
+ end
@@ -34,6 +34,12 @@ module FacebookAds
34
34
  "us_marketplace",
35
35
  ]
36
36
 
37
+ AFFECTED_ENTITY = [
38
+ "product_catalog",
39
+ "product_item",
40
+ "product_set",
41
+ ]
42
+
37
43
  AFFECTED_FEATURES = [
38
44
  "augmented_reality",
39
45
  "checkout",
@@ -45,6 +51,7 @@ module FacebookAds
45
51
  ]
46
52
 
47
53
  TYPE = [
54
+ "AR_VISIBILITY_ISSUES",
48
55
  "ATTRIBUTES_INVALID",
49
56
  "ATTRIBUTES_MISSING",
50
57
  "CATEGORY",
@@ -55,12 +62,19 @@ module FacebookAds
55
62
  "SHOPS_VISIBILITY_ISSUES",
56
63
  ]
57
64
 
65
+ AFFECTED_ENTITIES = [
66
+ "product_catalog",
67
+ "product_item",
68
+ "product_set",
69
+ ]
70
+
58
71
  SEVERITIES = [
59
72
  "MUST_FIX",
60
73
  "OPPORTUNITY",
61
74
  ]
62
75
 
63
76
  TYPES = [
77
+ "AR_VISIBILITY_ISSUES",
64
78
  "ATTRIBUTES_INVALID",
65
79
  "ATTRIBUTES_MISSING",
66
80
  "CATEGORY",
@@ -73,9 +87,11 @@ module FacebookAds
73
87
 
74
88
 
75
89
  field :affected_channels, { list: { enum: -> { AFFECTED_CHANNELS }} }
90
+ field :affected_entity, { enum: -> { AFFECTED_ENTITY }}
76
91
  field :affected_features, { list: { enum: -> { AFFECTED_FEATURES }} }
77
92
  field :diagnostics, { list: 'object' }
78
93
  field :error_code, 'int'
94
+ field :number_of_affected_entities, 'int'
79
95
  field :number_of_affected_items, 'int'
80
96
  field :severity, { enum: -> { SEVERITY }}
81
97
  field :subtitle, 'string'
@@ -35,6 +35,11 @@ module FacebookAds
35
35
  "TILDE",
36
36
  ]
37
37
 
38
+ INGESTION_SOURCE_TYPE = [
39
+ "primary_feed",
40
+ "supplementary_feed",
41
+ ]
42
+
38
43
  QUOTED_FIELDS_MODE = [
39
44
  "AUTODETECT",
40
45
  "OFF",
@@ -52,7 +57,6 @@ module FacebookAds
52
57
  ]
53
58
 
54
59
  FEED_TYPE = [
55
- "AUTO",
56
60
  "AUTOMOTIVE_MODEL",
57
61
  "DESTINATION",
58
62
  "FLIGHT",
@@ -60,7 +64,6 @@ module FacebookAds
60
64
  "HOTEL",
61
65
  "HOTEL_ROOM",
62
66
  "LOCAL_INVENTORY",
63
- "MARKET",
64
67
  "MEDIA_TITLE",
65
68
  "OFFER",
66
69
  "PRODUCTS",
@@ -69,11 +72,6 @@ module FacebookAds
69
72
  "VEHICLE_OFFER",
70
73
  ]
71
74
 
72
- INGESTION_SOURCE_TYPE = [
73
- "PRIMARY_FEED",
74
- "SUPPLEMENTARY_FEED",
75
- ]
76
-
77
75
  ITEM_SUB_TYPE = [
78
76
  "APPLIANCES",
79
77
  "BABY_FEEDING",
@@ -104,6 +102,7 @@ module FacebookAds
104
102
  ]
105
103
 
106
104
  OVERRIDE_TYPE = [
105
+ "BATCH_API_LANGUAGE_OR_COUNTRY",
107
106
  "CATALOG_SEGMENT_CUSTOMIZE_DEFAULT",
108
107
  "COUNTRY",
109
108
  "LANGUAGE",
@@ -120,7 +119,7 @@ module FacebookAds
120
119
  field :encoding, 'string'
121
120
  field :file_name, 'string'
122
121
  field :id, 'string'
123
- field :ingestion_source_type, 'string'
122
+ field :ingestion_source_type, { enum: -> { INGESTION_SOURCE_TYPE }}
124
123
  field :item_sub_type, 'string'
125
124
  field :latest_upload, 'ProductFeedUpload'
126
125
  field :migrated_from_feed_id, 'string'
@@ -173,19 +172,28 @@ module FacebookAds
173
172
  end
174
173
  end
175
174
 
175
+ has_edge :media_titles do |edge|
176
+ edge.get 'MediaTitle' do |api|
177
+ api.has_param :bulk_pagination, 'bool'
178
+ api.has_param :filter, 'object'
179
+ end
180
+ end
181
+
176
182
  has_edge :products do |edge|
177
183
  edge.get 'ProductItem' do |api|
178
184
  api.has_param :bulk_pagination, 'bool'
185
+ api.has_param :error_priority, { enum: -> { ProductItem::ERROR_PRIORITY }}
186
+ api.has_param :error_type, { enum: -> { ProductItem::ERROR_TYPE }}
179
187
  api.has_param :filter, 'object'
180
188
  end
181
189
  end
182
190
 
183
191
  has_edge :rules do |edge|
184
192
  edge.get 'ProductFeedRule'
185
- edge.post do |api|
193
+ edge.post 'ProductFeedRule' do |api|
186
194
  api.has_param :attribute, 'string'
187
195
  api.has_param :params, 'hash'
188
- api.has_param :rule_type, { enum: %w{fallback_rule letter_case_rule mapping_rule regex_replace_rule value_mapping_rule }}
196
+ api.has_param :rule_type, { enum: -> { ProductFeedRule::RULE_TYPE }}
189
197
  end
190
198
  end
191
199
 
@@ -29,7 +29,6 @@ module FacebookAds
29
29
 
30
30
  field :home_listing, 'object'
31
31
  field :product_item, 'object'
32
- field :store_product_item, 'object'
33
32
  field :vehicle, 'object'
34
33
  has_no_id
35
34
  has_no_get
@@ -26,6 +26,14 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class ProductFeedRule < AdObject
29
+ RULE_TYPE = [
30
+ "fallback_rule",
31
+ "letter_case_rule",
32
+ "mapping_rule",
33
+ "regex_replace_rule",
34
+ "value_mapping_rule",
35
+ ]
36
+
29
37
 
30
38
  field :attribute, 'string'
31
39
  field :id, 'string'
@@ -56,7 +56,9 @@ module FacebookAds
56
56
  end
57
57
 
58
58
  has_edge :errors do |edge|
59
- edge.get 'ProductFeedUploadError'
59
+ edge.get 'ProductFeedUploadError' do |api|
60
+ api.has_param :error_priority, { enum: -> { ProductFeedUploadError::ERROR_PRIORITY }}
61
+ end
60
62
  end
61
63
 
62
64
  end
@@ -37,6 +37,12 @@ module FacebookAds
37
37
  "warning",
38
38
  ]
39
39
 
40
+ ERROR_PRIORITY = [
41
+ "HIGH",
42
+ "LOW",
43
+ "MEDIUM",
44
+ ]
45
+
40
46
 
41
47
  field :affected_surfaces, { list: { enum: -> { AFFECTED_SURFACES }} }
42
48
  field :description, 'string'
@@ -34,20 +34,20 @@ module FacebookAds
34
34
 
35
35
  has_edge :products do |edge|
36
36
  edge.get 'ProductItem'
37
- edge.post do |api|
37
+ edge.post 'ProductItem' do |api|
38
38
  api.has_param :additional_image_urls, { list: 'string' }
39
39
  api.has_param :additional_variant_attributes, 'hash'
40
40
  api.has_param :android_app_name, 'string'
41
41
  api.has_param :android_class, 'string'
42
42
  api.has_param :android_package, 'string'
43
43
  api.has_param :android_url, 'string'
44
- api.has_param :availability, { enum: %w{available for order discontinued in stock out of stock pending preorder }}
44
+ api.has_param :availability, { enum: -> { ProductItem::AVAILABILITY }}
45
45
  api.has_param :brand, 'string'
46
46
  api.has_param :category, 'string'
47
47
  api.has_param :checkout_url, 'string'
48
48
  api.has_param :color, 'string'
49
- api.has_param :commerce_tax_category, { enum: %w{FB_ANIMAL FB_ANIMAL_SUPP FB_APRL FB_APRL_ACCESSORIES FB_APRL_ATHL_UNIF FB_APRL_CASES FB_APRL_CLOTHING FB_APRL_COSTUME FB_APRL_CSTM FB_APRL_FORMAL FB_APRL_HANDBAG FB_APRL_JEWELRY FB_APRL_SHOE FB_APRL_SHOE_ACC FB_APRL_SWIM FB_APRL_SWIM_CHIL FB_APRL_SWIM_CVR FB_ARTS FB_ARTS_HOBBY FB_ARTS_PARTY FB_ARTS_PARTY_GIFT_CARD FB_ARTS_TICKET FB_BABY FB_BABY_BATH FB_BABY_BLANKET FB_BABY_DIAPER FB_BABY_GIFT_SET FB_BABY_HEALTH FB_BABY_NURSING FB_BABY_POTTY_TRN FB_BABY_SAFE FB_BABY_TOYS FB_BABY_TRANSPORT FB_BABY_TRANSPORT_ACC FB_BAGS FB_BAGS_BKPK FB_BAGS_BOXES FB_BAGS_BRFCS FB_BAGS_CSMT_BAG FB_BAGS_DFFL FB_BAGS_DIPR FB_BAGS_FNNY FB_BAGS_GRMT FB_BAGS_LUGG FB_BAGS_LUG_ACC FB_BAGS_MSGR FB_BAGS_TOTE FB_BAGS_TRN_CAS FB_BLDG FB_BLDG_ACC FB_BLDG_CNSMB FB_BLDG_FENCE FB_BLDG_FUEL_TNK FB_BLDG_HT_VNT FB_BLDG_LOCK FB_BLDG_MATRL FB_BLDG_PLMB FB_BLDG_PUMP FB_BLDG_PWRS FB_BLDG_STR_TANK FB_BLDG_S_ENG FB_BLDG_TL_ACC FB_BLDG_TOOL FB_BUSIND FB_BUSIND_ADVERTISING FB_BUSIND_AGRICULTURE FB_BUSIND_AUTOMATION FB_BUSIND_HEAVY_MACH FB_BUSIND_LAB FB_BUSIND_MEDICAL FB_BUSIND_RETAIL FB_BUSIND_SANITARY_CT FB_BUSIND_SIGN FB_BUSIND_STORAGE FB_BUSIND_STORAGE_ACC FB_BUSIND_WORK_GEAR FB_CAMERA_ACC FB_CAMERA_CAMERA FB_CAMERA_OPTIC FB_CAMERA_OPTICS FB_CAMERA_PHOTO FB_ELEC FB_ELEC_ACC FB_ELEC_ARCDADE FB_ELEC_AUDIO FB_ELEC_CIRCUIT FB_ELEC_COMM FB_ELEC_COMPUTER FB_ELEC_GPS_ACC FB_ELEC_GPS_NAV FB_ELEC_GPS_TRK FB_ELEC_MARINE FB_ELEC_NETWORK FB_ELEC_PART FB_ELEC_PRINT FB_ELEC_RADAR FB_ELEC_SFTWR FB_ELEC_SPEED_RDR FB_ELEC_TELEVISION FB_ELEC_TOLL FB_ELEC_VIDEO FB_ELEC_VID_GM_ACC FB_ELEC_VID_GM_CNSL FB_FOOD FB_FURN FB_FURN_BABY FB_FURN_BENCH FB_FURN_CART FB_FURN_CHAIR FB_FURN_CHAIR_ACC FB_FURN_DIVIDE FB_FURN_DIVIDE_ACC FB_FURN_ENT_CTR FB_FURN_FUTN FB_FURN_FUTN_PAD FB_FURN_OFFICE FB_FURN_OFFICE_ACC FB_FURN_OTTO FB_FURN_OUTDOOR FB_FURN_OUTDOOR_ACC FB_FURN_SETS FB_FURN_SHELVE_ACC FB_FURN_SHLF FB_FURN_SOFA FB_FURN_SOFA_ACC FB_FURN_STORAGE FB_FURN_TABL FB_FURN_TABL_ACC FB_GENERIC_TAXABLE FB_HLTH FB_HLTH_HLTH FB_HLTH_JWL_CR FB_HLTH_LILP_BLM FB_HLTH_LTN_SPF FB_HLTH_PRSL_CR FB_HLTH_SKN_CR FB_HMGN FB_HMGN_BATH FB_HMGN_DCOR FB_HMGN_EMGY FB_HMGN_FPLC FB_HMGN_FPLC_ACC FB_HMGN_GS_SFT FB_HMGN_HS_ACC FB_HMGN_HS_APP FB_HMGN_HS_SPL FB_HMGN_KTCN FB_HMGN_LAWN FB_HMGN_LGHT FB_HMGN_LINN FB_HMGN_LT_ACC FB_HMGN_OTDR FB_HMGN_POOL FB_HMGN_SCTY FB_HMGN_SMK_ACC FB_HMGN_UMBR FB_HMGN_UMBR_ACC FB_MDIA FB_MDIA_BOOK FB_MDIA_DVDS FB_MDIA_MAG FB_MDIA_MANL FB_MDIA_MUSC FB_MDIA_PRJ_PLN FB_MDIA_SHT_MUS FB_OFFC FB_OFFC_BKAC FB_OFFC_CRTS FB_OFFC_DSKP FB_OFFC_EQIP FB_OFFC_FLNG FB_OFFC_GNRL FB_OFFC_INSTM FB_OFFC_LP_DSK FB_OFFC_MATS FB_OFFC_NM_PLT FB_OFFC_PPR_HNDL FB_OFFC_PRSNT_SPL FB_OFFC_SEALR FB_OFFC_SHIP_SPL FB_RLGN FB_RLGN_CMNY FB_RLGN_ITEM FB_RLGN_WEDD FB_SFTWR FB_SFWR_CMPTR FB_SFWR_DGTL_GD FB_SFWR_GAME FB_SHIPPING FB_SPOR FB_SPORT_ATHL FB_SPORT_ATHL_CLTH FB_SPORT_ATHL_SHOE FB_SPORT_ATHL_SPRT FB_SPORT_EXRCS FB_SPORT_INDR_GM FB_SPORT_OTDR_GM FB_TOYS FB_TOYS_EQIP FB_TOYS_GAME FB_TOYS_PZZL FB_TOYS_TMRS FB_TOYS_TOYS FB_VEHI FB_VEHI_PART }}
50
- api.has_param :condition, { enum: %w{cpo new open_box_new refurbished used used_fair used_good used_like_new }}
49
+ api.has_param :commerce_tax_category, { enum: -> { ProductItem::COMMERCE_TAX_CATEGORY }}
50
+ api.has_param :condition, { enum: -> { ProductItem::CONDITION }}
51
51
  api.has_param :currency, 'string'
52
52
  api.has_param :custom_data, 'hash'
53
53
  api.has_param :custom_label_0, 'string'
@@ -63,7 +63,7 @@ module FacebookAds
63
63
  api.has_param :description, 'string'
64
64
  api.has_param :expiration_date, 'string'
65
65
  api.has_param :fb_product_category, 'string'
66
- api.has_param :gender, { enum: %w{female male unisex }}
66
+ api.has_param :gender, { enum: -> { ProductItem::GENDER }}
67
67
  api.has_param :gtin, 'string'
68
68
  api.has_param :image_url, 'string'
69
69
  api.has_param :inventory, 'int'
@@ -78,7 +78,7 @@ module FacebookAds
78
78
  api.has_param :iphone_url, 'string'
79
79
  api.has_param :launch_date, 'string'
80
80
  api.has_param :manufacturer_part_number, 'string'
81
- api.has_param :marked_for_product_launch, { enum: %w{default marked not_marked }}
81
+ api.has_param :marked_for_product_launch, { enum: -> { ProductItem::MARKED_FOR_PRODUCT_LAUNCH }}
82
82
  api.has_param :material, 'string'
83
83
  api.has_param :mobile_link, 'string'
84
84
  api.has_param :name, 'string'
@@ -99,7 +99,7 @@ module FacebookAds
99
99
  api.has_param :size, 'string'
100
100
  api.has_param :start_date, 'string'
101
101
  api.has_param :url, 'string'
102
- api.has_param :visibility, { enum: %w{published staging }}
102
+ api.has_param :visibility, { enum: -> { ProductItem::VISIBILITY }}
103
103
  api.has_param :windows_phone_app_id, 'string'
104
104
  api.has_param :windows_phone_app_name, 'string'
105
105
  api.has_param :windows_phone_url, 'string'
@@ -299,6 +299,89 @@ module FacebookAds
299
299
  "FB_VEHI_PART",
300
300
  ]
301
301
 
302
+ ERROR_PRIORITY = [
303
+ "HIGH",
304
+ "LOW",
305
+ "MEDIUM",
306
+ ]
307
+
308
+ ERROR_TYPE = [
309
+ "AR_DELETED_DUE_TO_UPDATE",
310
+ "AR_POLICY_VIOLATED",
311
+ "AVAILABLE",
312
+ "BAD_QUALITY_IMAGE",
313
+ "CANNOT_EDIT_SUBSCRIPTION_PRODUCTS",
314
+ "CRAWLED_AVAILABILITY_MISMATCH",
315
+ "DIGITAL_GOODS_NOT_AVAILABLE_FOR_CHECKOUT",
316
+ "DUPLICATE_IMAGES",
317
+ "DUPLICATE_TITLE_AND_DESCRIPTION",
318
+ "GENERIC_INVALID_FIELD",
319
+ "HIDDEN_UNTIL_PRODUCT_LAUNCH",
320
+ "IMAGE_FETCH_FAILED",
321
+ "IMAGE_FETCH_FAILED_BAD_GATEWAY",
322
+ "IMAGE_FETCH_FAILED_FILE_SIZE_EXCEEDED",
323
+ "IMAGE_FETCH_FAILED_FORBIDDEN",
324
+ "IMAGE_FETCH_FAILED_LINK_BROKEN",
325
+ "IMAGE_FETCH_FAILED_TIMED_OUT",
326
+ "IMAGE_RESOLUTION_LOW",
327
+ "INACTIVE_SHOPIFY_PRODUCT",
328
+ "INVALID_COMMERCE_TAX_CATEGORY",
329
+ "INVALID_IMAGES",
330
+ "INVALID_MONETIZER_RETURN_POLICY",
331
+ "INVALID_PRE_ORDER_PARAMS",
332
+ "INVALID_SHIPPING_PROFILE_PARAMS",
333
+ "INVALID_SUBSCRIPTION_DISABLE_PARAMS",
334
+ "INVALID_SUBSCRIPTION_ENABLE_PARAMS",
335
+ "INVALID_SUBSCRIPTION_PARAMS",
336
+ "INVENTORY_ZERO_AVAILABILITY_IN_STOCK",
337
+ "IN_ANOTHER_PRODUCT_LAUNCH",
338
+ "ITEM_GROUP_NOT_SPECIFIED",
339
+ "ITEM_NOT_SHIPPABLE_FOR_SCA_SHOP",
340
+ "ITEM_OVERRIDE_NOT_VISIBLE",
341
+ "ITEM_STALE_OUT_OF_STOCK",
342
+ "MINI_SHOPS_DISABLED_BY_USER",
343
+ "MISSING_CHECKOUT",
344
+ "MISSING_CHECKOUT_CURRENCY",
345
+ "MISSING_COLOR",
346
+ "MISSING_COUNTRY_OVERRIDE_IN_SHIPPING_PROFILE",
347
+ "MISSING_INDIA_COMPLIANCE_FIELDS",
348
+ "MISSING_SHIPPING_PROFILE",
349
+ "MISSING_SIZE",
350
+ "MISSING_TAX_CATEGORY",
351
+ "NEGATIVE_COMMUNITY_FEEDBACK",
352
+ "NOT_ENOUGH_IMAGES",
353
+ "PART_OF_PRODUCT_LAUNCH",
354
+ "PRODUCT_EXPIRED",
355
+ "PRODUCT_ITEM_HIDDEN_FROM_ALL_SHOPS",
356
+ "PRODUCT_ITEM_NOT_INCLUDED_IN_ANY_SHOP",
357
+ "PRODUCT_ITEM_NOT_VISIBLE",
358
+ "PRODUCT_NOT_APPROVED",
359
+ "PRODUCT_NOT_DOMINANT_CURRENCY",
360
+ "PRODUCT_OUT_OF_STOCK",
361
+ "PRODUCT_URL_EQUALS_DOMAIN",
362
+ "PROPERTY_PRICE_CURRENCY_NOT_SUPPORTED",
363
+ "PROPERTY_PRICE_TOO_HIGH",
364
+ "PROPERTY_PRICE_TOO_LOW",
365
+ "PROPERTY_VALUE_CONTAINS_HTML_TAGS",
366
+ "PROPERTY_VALUE_DESCRIPTION_CONTAINS_OFF_PLATFORM_LINK",
367
+ "PROPERTY_VALUE_FORMAT",
368
+ "PROPERTY_VALUE_MISSING",
369
+ "PROPERTY_VALUE_MISSING_WARNING",
370
+ "PROPERTY_VALUE_NON_POSITIVE",
371
+ "PROPERTY_VALUE_STRING_EXCEEDS_LENGTH",
372
+ "PROPERTY_VALUE_STRING_TOO_SHORT",
373
+ "PROPERTY_VALUE_UPPERCASE_WARNING",
374
+ "QUALITY_DUPLICATED_DESCRIPTION",
375
+ "QUALITY_ITEM_LINK_BROKEN",
376
+ "QUALITY_ITEM_LINK_REDIRECTING",
377
+ "RETAILER_ID_NOT_PROVIDED",
378
+ "SHOPIFY_ITEM_MISSING_SHIPPING_PROFILE",
379
+ "SUBSCRIPTION_INFO_NOT_ENABLED_FOR_FEED",
380
+ "TAX_CATEGORY_NOT_SUPPORTED_IN_UK",
381
+ "UNSUPPORTED_PRODUCT_CATEGORY",
382
+ "VARIANT_ATTRIBUTE_ISSUE",
383
+ ]
384
+
302
385
  MARKED_FOR_PRODUCT_LAUNCH = [
303
386
  "default",
304
387
  "marked",
@@ -592,6 +675,7 @@ module FacebookAds
592
675
  field :custom_number_3, 'string'
593
676
  field :custom_number_4, 'string'
594
677
  field :description, 'string'
678
+ field :errors, { list: 'ProductItemError' }
595
679
  field :expiration_date, 'string'
596
680
  field :fb_product_category, 'string'
597
681
  field :gender, { enum: -> { GENDER }}
@@ -615,6 +699,7 @@ module FacebookAds
615
699
  field :origin_country, 'string'
616
700
  field :parent_product_id, 'string'
617
701
  field :pattern, 'string'
702
+ field :post_conversion_signal_based_enforcement_appeal_eligibility, 'bool'
618
703
  field :price, 'string'
619
704
  field :product_catalog, 'ProductCatalog'
620
705
  field :product_feed, 'ProductFeed'
@@ -0,0 +1,40 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class ProductItemError < AdObject
29
+
30
+ field :description, 'string'
31
+ field :error_priority, 'string'
32
+ field :error_type, 'string'
33
+ field :title, 'string'
34
+ has_no_id
35
+ has_no_get
36
+ has_no_post
37
+ has_no_delete
38
+
39
+ end
40
+ end
@@ -75,9 +75,18 @@ module FacebookAds
75
75
  end
76
76
  end
77
77
 
78
+ has_edge :media_titles do |edge|
79
+ edge.get 'MediaTitle' do |api|
80
+ api.has_param :bulk_pagination, 'bool'
81
+ api.has_param :filter, 'object'
82
+ end
83
+ end
84
+
78
85
  has_edge :products do |edge|
79
86
  edge.get 'ProductItem' do |api|
80
87
  api.has_param :bulk_pagination, 'bool'
88
+ api.has_param :error_priority, { enum: -> { ProductItem::ERROR_PRIORITY }}
89
+ api.has_param :error_type, { enum: -> { ProductItem::ERROR_TYPE }}
81
90
  api.has_param :filter, 'object'
82
91
  end
83
92
  end
@@ -33,6 +33,7 @@ module FacebookAds
33
33
  field :ig_android, { list: 'double' }
34
34
  field :ig_ios, { list: 'double' }
35
35
  field :ig_other, { list: 'double' }
36
+ field :ig_reels, { list: 'double' }
36
37
  field :ig_story, { list: 'double' }
37
38
  field :instant_articles, { list: 'double' }
38
39
  field :instream_videos, { list: 'double' }
@@ -121,6 +121,10 @@ module FacebookAds
121
121
  field :name, 'string'
122
122
  field :objective, 'int'
123
123
  field :objective_name, 'string'
124
+ field :odax_objective, 'int'
125
+ field :odax_objective_name, 'string'
126
+ field :optimization_goal, 'int'
127
+ field :optimization_goal_name, 'string'
124
128
  field :pause_periods, { list: 'object' }
125
129
  field :placement_breakdown, 'ReachFrequencyEstimatesPlacementBreakdown'
126
130
  field :placement_breakdown_map, 'map<unsigned int, ReachFrequencyEstimatesPlacementBreakdown>'
@@ -36,6 +36,7 @@ module FacebookAds
36
36
  field :id, 'string'
37
37
  field :name, 'string'
38
38
  field :operation_status, 'CustomAudienceStatus'
39
+ field :owner_business, 'Business'
39
40
  field :page_deletion_marked_delete_time, 'int'
40
41
  field :permission_for_actions, 'AudiencePermissionForActions'
41
42
  field :run_status, 'string'
@@ -0,0 +1,47 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class ShadowIgMediaProductTags < AdObject
29
+
30
+ field :image_url, 'string'
31
+ field :is_checkout, 'bool'
32
+ field :merchant_id, 'int'
33
+ field :name, 'string'
34
+ field :price_string, 'string'
35
+ field :product_id, 'int'
36
+ field :review_status, 'string'
37
+ field :stripped_price_string, 'string'
38
+ field :stripped_sale_price_string, 'string'
39
+ field :x, 'double'
40
+ field :y, 'double'
41
+ has_no_id
42
+ has_no_get
43
+ has_no_post
44
+ has_no_delete
45
+
46
+ end
47
+ end
@@ -30,6 +30,7 @@ module FacebookAds
30
30
  field :fb_sales_channel, 'object'
31
31
  field :id, 'string'
32
32
  field :ig_sales_channel, 'object'
33
+ field :workspace, 'object'
33
34
  has_no_post
34
35
  has_no_delete
35
36
 
@@ -29,6 +29,7 @@ module FacebookAds
29
29
  PLATFORM = [
30
30
  "INSTAGRAM",
31
31
  "MESSENGER",
32
+ "WHATSAPP",
32
33
  ]
33
34
 
34
35