facebookbusiness 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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +7 -0
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +35 -4
  4. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +22 -0
  5. data/lib/facebook_ads/ad_objects/{instant_article_insights_query_result.rb → ad_account_business_constraints.rb} +2 -26
  6. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +2 -1
  7. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +2 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +259 -0
  9. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
  10. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +2 -1
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_stats_unsupported_reasons.rb +1 -1
  12. data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative_branded_content_ads.rb +41 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_facebook_branded_content.rb +39 -0
  15. data/lib/facebook_ads/ad_objects/ad_creative_insights.rb +1 -1
  16. data/lib/facebook_ads/ad_objects/{commerce_merchant_tos_acceptance.rb → ad_creative_instagram_branded_content.rb} +4 -3
  17. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
  18. data/lib/facebook_ads/ad_objects/ad_creative_link_data_template_video_spec.rb +1 -1
  19. data/lib/facebook_ads/ad_objects/ad_preview.rb +6 -1
  20. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +2 -0
  21. data/lib/facebook_ads/ad_objects/ad_rule.rb +4 -0
  22. data/lib/facebook_ads/ad_objects/ad_set.rb +4 -2
  23. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +8 -0
  24. data/lib/facebook_ads/ad_objects/ad_video.rb +8 -0
  25. data/lib/facebook_ads/ad_objects/ads_insights.rb +8 -2
  26. data/lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb +1 -1
  27. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  28. data/lib/facebook_ads/ad_objects/application.rb +7 -1
  29. data/lib/facebook_ads/ad_objects/brand_request.rb +55 -0
  30. data/lib/facebook_ads/ad_objects/business.rb +25 -0
  31. data/lib/facebook_ads/ad_objects/campaign.rb +0 -3
  32. data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +9 -1
  33. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +2 -2
  34. data/lib/facebook_ads/ad_objects/cpas_business_setup_config.rb +2 -2
  35. data/lib/facebook_ads/ad_objects/cpas_merchant_config.rb +2 -2
  36. data/lib/facebook_ads/ad_objects/custom_audience.rb +3 -0
  37. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -0
  38. data/lib/facebook_ads/ad_objects/{ad_account_custom_audience.rb → custom_audience_group.rb} +1 -1
  39. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +0 -1
  40. data/lib/facebook_ads/ad_objects/group.rb +0 -7
  41. data/lib/facebook_ads/ad_objects/ig_user.rb +1 -0
  42. data/lib/facebook_ads/ad_objects/instant_articles_stats.rb +3 -3
  43. data/lib/facebook_ads/ad_objects/job_opening.rb +91 -0
  44. data/lib/facebook_ads/ad_objects/lead.rb +1 -0
  45. data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -1
  46. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -11
  47. data/lib/facebook_ads/ad_objects/open_bridge_configuration.rb +39 -0
  48. data/lib/facebook_ads/ad_objects/page.rb +24 -42
  49. data/lib/facebook_ads/ad_objects/page_post_experiment.rb +1 -1
  50. data/lib/facebook_ads/ad_objects/product_catalog.rb +3 -22
  51. data/lib/facebook_ads/ad_objects/product_catalog_category.rb +1 -1
  52. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +1 -1
  53. data/lib/facebook_ads/ad_objects/product_feed_rule_suggestion.rb +1 -1
  54. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -11
  55. data/lib/facebook_ads/ad_objects/product_item.rb +10 -5
  56. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +3 -0
  57. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +4 -4
  58. data/lib/facebook_ads/ad_objects/saved_audience.rb +0 -1
  59. data/lib/facebook_ads/ad_objects/server_side/event.rb +23 -3
  60. data/lib/facebook_ads/ad_objects/split_test_winner.rb +1 -1
  61. data/lib/facebook_ads/ad_objects/targeting_geo_location_electoral_district.rb +1 -0
  62. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/url.rb +0 -2
  64. data/lib/facebook_ads/ad_objects/user.rb +3 -2
  65. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +8 -0
  66. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +18 -0
  67. data/lib/facebook_ads/ad_objects/{instant_article.rb → whats_app_business_pre_verified_phone_number.rb} +21 -16
  68. data/lib/facebook_ads/field_types/datetime.rb +1 -1
  69. data/lib/facebook_ads/helpers/shortcuts.rb +1 -1
  70. data/lib/facebook_ads/version.rb +2 -2
  71. metadata +11 -7
  72. data/lib/facebook_ads/ad_objects/jobs_job.rb +0 -85
@@ -36,7 +36,6 @@ module FacebookAds
36
36
  field :liable_address, 'CrmAddress'
37
37
  field :name, 'string'
38
38
  field :sold_to_address, 'CrmAddress'
39
- has_no_delete
40
39
 
41
40
  has_edge :ad_accounts do |edge|
42
41
  edge.delete do |api|
@@ -421,13 +421,6 @@ module FacebookAds
421
421
  end
422
422
  end
423
423
 
424
- has_edge :shift_settings do |edge|
425
- edge.post do |api|
426
- api.has_param :external_id, 'string'
427
- api.has_param :shift_feature_setting, { enum: %w{ALL_FEATURES_OFF ALL_FEATURES_ON SHIFT_COVER_ONLY_ON SHIFT_VIEWER_ONLY_ON }}
428
- end
429
- end
430
-
431
424
  has_edge :videos do |edge|
432
425
  edge.get 'AdVideo' do |api|
433
426
  api.has_param :type, { enum: -> { AdVideo::TYPE }}
@@ -88,6 +88,7 @@ module FacebookAds
88
88
  api.has_param :until, 'datetime'
89
89
  end
90
90
  edge.post 'IgMedia' do |api|
91
+ api.has_param :audio_name, 'string'
91
92
  api.has_param :caption, 'string'
92
93
  api.has_param :children, { list: 'string' }
93
94
  api.has_param :cover_url, 'string'
@@ -28,10 +28,10 @@ module FacebookAds
28
28
  class InstantArticlesStats < AdObject
29
29
 
30
30
  field :error, 'string'
31
- field :metadata, 'hash'
31
+ field :metadata, { list: 'hash' }
32
32
  field :metric, 'object'
33
- field :totals, 'hash'
34
- field :x_axis_breakdown, { list: 'hash' }
33
+ field :totals, { list: 'hash' }
34
+ field :x_axis_breakdown, { list: { list: 'hash' } }
35
35
  has_no_id
36
36
  has_no_get
37
37
  has_no_post
@@ -0,0 +1,91 @@
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 JobOpening < AdObject
29
+ JOB_STATUS = [
30
+ "CLOSED",
31
+ "DRAFT",
32
+ "OPEN",
33
+ "PROVISIONAL",
34
+ ]
35
+
36
+ PLATFORM_REVIEW_STATUS = [
37
+ "APPROVED",
38
+ "PENDING",
39
+ "REJECTED",
40
+ ]
41
+
42
+ REVIEW_REJECTION_REASONS = [
43
+ "ADULT_CONTENT",
44
+ "DISCRIMINATION",
45
+ "DRUGS",
46
+ "GENERIC_DEFAULT",
47
+ "ILLEGAL",
48
+ "IMPERSONATION",
49
+ "MISLEADING",
50
+ "MULTILEVEL_MARKETING",
51
+ "PERSONAL_INFO",
52
+ "SEXUAL",
53
+ ]
54
+
55
+ TYPE = [
56
+ "CONTRACT",
57
+ "FULL_TIME",
58
+ "INTERNSHIP",
59
+ "PART_TIME",
60
+ "VOLUNTEER",
61
+ ]
62
+
63
+
64
+ field :address, 'string'
65
+ field :application_callback_url, 'string'
66
+ field :created_time, 'datetime'
67
+ field :description, 'string'
68
+ field :errors, { list: 'string' }
69
+ field :external_company_facebook_url, 'string'
70
+ field :external_company_full_address, 'string'
71
+ field :external_company_id, 'string'
72
+ field :external_company_name, 'string'
73
+ field :external_id, 'string'
74
+ field :id, 'string'
75
+ field :job_status, { enum: -> { JOB_STATUS }}
76
+ field :latitude, 'double'
77
+ field :longitude, 'double'
78
+ field :offsite_application_url, 'string'
79
+ field :page, 'Page'
80
+ field :photo, 'Photo'
81
+ field :platform_review_status, { enum: -> { PLATFORM_REVIEW_STATUS }}
82
+ field :post, 'Post'
83
+ field :remote_type, 'string'
84
+ field :review_rejection_reasons, { list: { enum: -> { REVIEW_REJECTION_REASONS }} }
85
+ field :title, 'string'
86
+ field :type, { enum: -> { TYPE }}
87
+ has_no_post
88
+ has_no_delete
89
+
90
+ end
91
+ end
@@ -43,6 +43,7 @@ module FacebookAds
43
43
  field :partner_name, 'string'
44
44
  field :platform, 'string'
45
45
  field :post, 'Link'
46
+ field :post_submission_check_result, 'LeadGenPostSubmissionCheckResult'
46
47
  field :retailer_item_id, 'string'
47
48
  field :vehicle, 'Vehicle'
48
49
  has_no_post
@@ -91,7 +91,7 @@ module FacebookAds
91
91
  field :questions, { list: 'LeadGenQuestion' }
92
92
  field :status, 'string'
93
93
  field :thank_you_page, 'object'
94
- field :tracking_parameters, 'hash'
94
+ field :tracking_parameters, { list: 'hash' }
95
95
  has_no_delete
96
96
 
97
97
  has_edge :leads do |edge|
@@ -109,17 +109,6 @@ module FacebookAds
109
109
  end
110
110
  end
111
111
 
112
- has_edge :events do |edge|
113
- edge.post do |api|
114
- api.has_param :data, { list: 'string' }
115
- api.has_param :namespace_id, 'string'
116
- api.has_param :progress, 'object'
117
- api.has_param :upload_id, 'string'
118
- api.has_param :upload_source, 'string'
119
- api.has_param :upload_tag, 'string'
120
- end
121
- end
122
-
123
112
  has_edge :server_events_permitted_business do |edge|
124
113
  edge.get 'Business'
125
114
  end
@@ -0,0 +1,39 @@
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 OpenBridgeConfiguration < AdObject
29
+
30
+ field :access_key, 'string'
31
+ field :active, 'bool'
32
+ field :endpoint, 'string'
33
+ field :host_business_id, 'string'
34
+ field :host_external_id, 'string'
35
+ field :id, 'string'
36
+ field :pixel_id, 'string'
37
+
38
+ end
39
+ end
@@ -250,11 +250,6 @@ module FacebookAds
250
250
  "SCHEDULED_RECURRING",
251
251
  ]
252
252
 
253
- PUBLISH_STATUS = [
254
- "DRAFT",
255
- "LIVE",
256
- ]
257
-
258
253
  MESSAGING_TYPE = [
259
254
  "MESSAGE_TAG",
260
255
  "RESPONSE",
@@ -275,6 +270,12 @@ module FacebookAds
275
270
  "UNREACT",
276
271
  ]
277
272
 
273
+ SUGGESTION_ACTION = [
274
+ "ACCEPT",
275
+ "DISMISS",
276
+ "IMPRESSION",
277
+ ]
278
+
278
279
  PLATFORM = [
279
280
  "INSTAGRAM",
280
281
  "MESSENGER",
@@ -330,9 +331,12 @@ module FacebookAds
330
331
  "founded",
331
332
  "general_info",
332
333
  "general_manager",
334
+ "group_feed",
333
335
  "hometown",
334
336
  "hours",
337
+ "in_thread_lead_form_submit",
335
338
  "inbox_labels",
339
+ "invoice_access_bank_slip_events",
336
340
  "invoice_access_invoice_change",
337
341
  "invoice_access_invoice_draft_change",
338
342
  "invoice_access_onboarding_status_active",
@@ -345,6 +349,7 @@ module FacebookAds
345
349
  "members",
346
350
  "mention",
347
351
  "merchant_review",
352
+ "message_context",
348
353
  "message_deliveries",
349
354
  "message_echoes",
350
355
  "message_mention",
@@ -385,6 +390,7 @@ module FacebookAds
385
390
  "publisher_subscriptions",
386
391
  "ratings",
387
392
  "registration",
393
+ "send_cart",
388
394
  "standby",
389
395
  "user_action",
390
396
  "video_text_question_responses",
@@ -426,7 +432,7 @@ module FacebookAds
426
432
  field :delivery_and_pickup_option_info, { list: 'string' }
427
433
  field :description, 'string'
428
434
  field :description_html, 'string'
429
- field :differently_open_offerings, 'hash'
435
+ field :differently_open_offerings, { list: 'hash' }
430
436
  field :directed_by, 'string'
431
437
  field :display_subtext, 'string'
432
438
  field :displayed_message_response_time, 'string'
@@ -453,7 +459,6 @@ module FacebookAds
453
459
  field :impressum, 'string'
454
460
  field :influences, 'string'
455
461
  field :instagram_business_account, 'IgUser'
456
- field :instant_articles_review_status, 'string'
457
462
  field :is_always_open, 'bool'
458
463
  field :is_chain, 'bool'
459
464
  field :is_community_page, 'bool'
@@ -527,7 +532,6 @@ module FacebookAds
527
532
  field :store_number, 'int'
528
533
  field :studio, 'string'
529
534
  field :supports_donate_button_in_live_video, 'bool'
530
- field :supports_instant_articles, 'bool'
531
535
  field :talking_about_count, 'int'
532
536
  field :temporary_status, 'string'
533
537
  field :unread_message_count, 'int'
@@ -639,6 +643,7 @@ module FacebookAds
639
643
  api.has_param :canvas_product_list, 'object'
640
644
  api.has_param :canvas_product_set, 'object'
641
645
  api.has_param :canvas_store_locator, 'object'
646
+ api.has_param :canvas_template_video, 'object'
642
647
  api.has_param :canvas_text, 'object'
643
648
  api.has_param :canvas_video, 'object'
644
649
  end
@@ -678,10 +683,6 @@ module FacebookAds
678
683
  end
679
684
  end
680
685
 
681
- has_edge :claimed_urls do |edge|
682
- edge.get 'Url'
683
- end
684
-
685
686
  has_edge :commerce_eligibility do |edge|
686
687
  edge.get 'PageCommerceEligibility'
687
688
  end
@@ -949,35 +950,6 @@ module FacebookAds
949
950
  edge.get 'InstagramUser'
950
951
  end
951
952
 
952
- has_edge :instant_articles do |edge|
953
- edge.get 'InstantArticle' do |api|
954
- api.has_param :development_mode, 'bool'
955
- end
956
- edge.post 'InstantArticle' do |api|
957
- api.has_param :development_mode, 'bool'
958
- api.has_param :html_source, 'string'
959
- api.has_param :published, 'bool'
960
- api.has_param :take_live, 'bool'
961
- end
962
- end
963
-
964
- has_edge :instant_articles_insights do |edge|
965
- edge.get 'InstantArticleInsightsQueryResult' do |api|
966
- api.has_param :breakdown, { enum: -> { InstantArticleInsightsQueryResult::BREAKDOWN }}
967
- api.has_param :metric, { list: 'object' }
968
- api.has_param :period, { enum: -> { InstantArticleInsightsQueryResult::PERIOD }}
969
- api.has_param :since, 'datetime'
970
- api.has_param :until, 'datetime'
971
- end
972
- end
973
-
974
- has_edge :instant_articles_publish do |edge|
975
- edge.post 'Page' do |api|
976
- api.has_param :canonical_url, 'string'
977
- api.has_param :publish_status, { enum: -> { Page::PUBLISH_STATUS }}
978
- end
979
- end
980
-
981
953
  has_edge :instant_articles_stats do |edge|
982
954
  edge.get 'InstantArticlesStats' do |api|
983
955
  api.has_param :metrics_list, { list: 'hash' }
@@ -1110,6 +1082,7 @@ module FacebookAds
1110
1082
  api.has_param :persona_id, 'string'
1111
1083
  api.has_param :recipient, 'object'
1112
1084
  api.has_param :sender_action, { enum: -> { Page::SENDER_ACTION }}
1085
+ api.has_param :suggestion_action, { enum: -> { Page::SUGGESTION_ACTION }}
1113
1086
  api.has_param :tag, 'object'
1114
1087
  api.has_param :thread_control, 'object'
1115
1088
  end
@@ -1453,7 +1426,10 @@ module FacebookAds
1453
1426
  end
1454
1427
 
1455
1428
  has_edge :video_reels do |edge|
1456
- edge.get 'AdVideo'
1429
+ edge.get 'AdVideo' do |api|
1430
+ api.has_param :since, 'datetime'
1431
+ api.has_param :until, 'datetime'
1432
+ end
1457
1433
  edge.post 'AdVideo' do |api|
1458
1434
  api.has_param :description, 'string'
1459
1435
  api.has_param :feed_targeting, 'object'
@@ -1577,5 +1553,11 @@ module FacebookAds
1577
1553
  end
1578
1554
  end
1579
1555
 
1556
+ has_edge :welcome_message_flows do |edge|
1557
+ edge.get do |api|
1558
+ api.has_param :flow_id, 'string'
1559
+ end
1560
+ end
1561
+
1580
1562
  end
1581
1563
  end
@@ -33,7 +33,7 @@ module FacebookAds
33
33
  field :declared_winning_time, 'datetime'
34
34
  field :description, 'string'
35
35
  field :id, 'string'
36
- field :insight_snapshots, 'map<datetime, map<int, Object>>'
36
+ field :insight_snapshots, { list: 'map<datetime, list<map<int, Object>>>' }
37
37
  field :name, 'string'
38
38
  field :optimization_goal, 'string'
39
39
  field :publish_status, 'string'
@@ -163,6 +163,7 @@ module FacebookAds
163
163
  api.has_param :allow_upsert, 'bool'
164
164
  api.has_param :fbe_external_business_id, 'string'
165
165
  api.has_param :requests, { list: 'hash' }
166
+ api.has_param :version, 'int'
166
167
  end
167
168
  end
168
169
 
@@ -322,6 +323,7 @@ module FacebookAds
322
323
  api.has_param :item_sub_type, { enum: -> { ProductCatalog::ITEM_SUB_TYPE }}
323
324
  api.has_param :item_type, 'string'
324
325
  api.has_param :requests, 'hash'
326
+ api.has_param :version, 'int'
325
327
  end
326
328
  end
327
329
 
@@ -330,28 +332,7 @@ module FacebookAds
330
332
  api.has_param :allow_upsert, 'bool'
331
333
  api.has_param :item_type, 'string'
332
334
  api.has_param :requests, 'hash'
333
- end
334
- end
335
-
336
- has_edge :media_titles do |edge|
337
- edge.get 'MediaTitle' do |api|
338
- api.has_param :bulk_pagination, 'bool'
339
- api.has_param :filter, 'object'
340
- end
341
- edge.post 'MediaTitle' do |api|
342
- api.has_param :applinks, 'object'
343
- api.has_param :content_category, { enum: -> { MediaTitle::CONTENT_CATEGORY }}
344
- api.has_param :currency, 'string'
345
- api.has_param :description, 'string'
346
- api.has_param :fb_page_id, 'string'
347
- api.has_param :genres, { list: 'string' }
348
- api.has_param :images, { list: 'object' }
349
- api.has_param :kg_fb_id, 'string'
350
- api.has_param :media_title_id, 'string'
351
- api.has_param :price, 'int'
352
- api.has_param :title, 'string'
353
- api.has_param :title_display_name, 'string'
354
- api.has_param :url, 'string'
335
+ api.has_param :version, 'int'
355
336
  end
356
337
  end
357
338
 
@@ -39,7 +39,7 @@ module FacebookAds
39
39
  field :image_url, 'string'
40
40
  field :name, 'string'
41
41
  field :num_items, 'int'
42
- field :tokens, 'hash'
42
+ field :tokens, { list: 'hash' }
43
43
  field :data, { list: 'hash' }
44
44
  has_no_id
45
45
  has_no_get
@@ -37,7 +37,7 @@ module FacebookAds
37
37
 
38
38
  field :attribute, 'string'
39
39
  field :id, 'string'
40
- field :params, 'hash'
40
+ field :params, { list: 'hash' }
41
41
  field :rule_type, 'string'
42
42
 
43
43
  end
@@ -28,7 +28,7 @@ module FacebookAds
28
28
  class ProductFeedRuleSuggestion < AdObject
29
29
 
30
30
  field :attribute, 'string'
31
- field :params, 'hash'
31
+ field :params, { list: 'hash' }
32
32
  field :type, 'string'
33
33
  has_no_id
34
34
  has_no_get
@@ -26,16 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class ProductFeedSchedule < AdObject
29
- DAY_OF_WEEK = [
30
- "FRIDAY",
31
- "MONDAY",
32
- "SATURDAY",
33
- "SUNDAY",
34
- "THURSDAY",
35
- "TUESDAY",
36
- "WEDNESDAY",
37
- ]
38
-
39
29
  INTERVAL = [
40
30
  "DAILY",
41
31
  "HOURLY",
@@ -45,7 +35,7 @@ module FacebookAds
45
35
 
46
36
 
47
37
  field :day_of_month, 'int'
48
- field :day_of_week, { enum: -> { DAY_OF_WEEK }}
38
+ field :day_of_week, 'string'
49
39
  field :hour, 'int'
50
40
  field :id, 'string'
51
41
  field :interval, { enum: -> { INTERVAL }}
@@ -315,6 +315,7 @@ module FacebookAds
315
315
  "DIGITAL_GOODS_NOT_AVAILABLE_FOR_CHECKOUT",
316
316
  "DUPLICATE_IMAGES",
317
317
  "DUPLICATE_TITLE_AND_DESCRIPTION",
318
+ "EMPTY_DESCRIPTION",
318
319
  "GENERIC_INVALID_FIELD",
319
320
  "HIDDEN_UNTIL_PRODUCT_LAUNCH",
320
321
  "IMAGE_FETCH_FAILED",
@@ -648,22 +649,22 @@ module FacebookAds
648
649
  ]
649
650
 
650
651
 
651
- field :additional_image_cdn_urls, { list: 'hash' }
652
+ field :additional_image_cdn_urls, { list: { list: 'hash' } }
652
653
  field :additional_image_urls, { list: 'string' }
653
- field :additional_variant_attributes, 'hash'
654
+ field :additional_variant_attributes, { list: 'hash' }
654
655
  field :age_group, { enum: -> { AGE_GROUP }}
655
656
  field :applinks, 'CatalogItemAppLinks'
656
657
  field :ar_data, 'ProductItemArData'
657
658
  field :availability, { enum: -> { AVAILABILITY }}
658
659
  field :brand, 'string'
659
- field :capability_to_review_status, 'hash'
660
+ field :capability_to_review_status, { list: 'hash' }
660
661
  field :category, 'string'
661
662
  field :category_specific_fields, 'CatalogSubVerticalList'
662
663
  field :color, 'string'
663
664
  field :commerce_insights, 'ProductItemCommerceInsights'
664
665
  field :condition, { enum: -> { CONDITION }}
665
666
  field :currency, 'string'
666
- field :custom_data, 'hash'
667
+ field :custom_data, { list: 'hash' }
667
668
  field :custom_label_0, 'string'
668
669
  field :custom_label_1, 'string'
669
670
  field :custom_label_2, 'string'
@@ -681,7 +682,7 @@ module FacebookAds
681
682
  field :gender, { enum: -> { GENDER }}
682
683
  field :gtin, 'string'
683
684
  field :id, 'string'
684
- field :image_cdn_urls, 'hash'
685
+ field :image_cdn_urls, { list: 'hash' }
685
686
  field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
686
687
  field :image_url, 'string'
687
688
  field :images, { list: 'string' }
@@ -754,5 +755,9 @@ module FacebookAds
754
755
  edge.get 'ProductSet'
755
756
  end
756
757
 
758
+ has_edge :videos_metadata do |edge|
759
+ edge.get
760
+ end
761
+
757
762
  end
758
763
  end
@@ -30,6 +30,9 @@ module FacebookAds
30
30
  field :android, { list: 'double' }
31
31
  field :audience_network, { list: 'double' }
32
32
  field :desktop, { list: 'double' }
33
+ field :facebook_search, { list: 'double' }
34
+ field :fb_reels, { list: 'double' }
35
+ field :fb_reels_overlay, { list: 'double' }
33
36
  field :ig_android, { list: 'double' }
34
37
  field :ig_ios, { list: 'double' }
35
38
  field :ig_other, { list: 'double' }
@@ -77,7 +77,7 @@ module FacebookAds
77
77
  field :curve_reach, { list: 'int' }
78
78
  field :daily_grp_curve, { list: 'double' }
79
79
  field :daily_impression_curve, { list: 'double' }
80
- field :daily_impression_curve_map, 'map<unsigned int, list<float>>'
80
+ field :daily_impression_curve_map, { list: 'map<unsigned int, list<float>>' }
81
81
  field :day_parting_schedule, { list: 'ReachFrequencyDayPart' }
82
82
  field :destination_id, 'string'
83
83
  field :end_time, 'datetime'
@@ -93,8 +93,8 @@ module FacebookAds
93
93
  field :external_reach, 'int'
94
94
  field :feed_ratio_0000, 'int'
95
95
  field :frequency_cap, 'int'
96
- field :frequency_distribution_map, 'map<unsigned int, list<float>>'
97
- field :frequency_distribution_map_agg, 'map<unsigned int, list<unsigned int>>'
96
+ field :frequency_distribution_map, { list: 'map<unsigned int, list<float>>' }
97
+ field :frequency_distribution_map_agg, { list: 'map<unsigned int, list<unsigned int>>' }
98
98
  field :grp_audience_size, 'double'
99
99
  field :grp_avg_probability_map, 'string'
100
100
  field :grp_country_audience_size, 'double'
@@ -127,7 +127,7 @@ module FacebookAds
127
127
  field :optimization_goal_name, 'string'
128
128
  field :pause_periods, { list: 'object' }
129
129
  field :placement_breakdown, 'ReachFrequencyEstimatesPlacementBreakdown'
130
- field :placement_breakdown_map, 'map<unsigned int, ReachFrequencyEstimatesPlacementBreakdown>'
130
+ field :placement_breakdown_map, { list: 'map<unsigned int, ReachFrequencyEstimatesPlacementBreakdown>' }
131
131
  field :plan_name, 'string'
132
132
  field :plan_type, 'string'
133
133
  field :prediction_mode, 'int'
@@ -32,7 +32,6 @@ module FacebookAds
32
32
  field :approximate_count_upper_bound, 'int'
33
33
  field :delete_time, 'int'
34
34
  field :description, 'string'
35
- field :extra_info, 'string'
36
35
  field :id, 'string'
37
36
  field :name, 'string'
38
37
  field :operation_status, 'CustomAudienceStatus'