facebookbusiness 0.14.0.0 → 0.15.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +19 -20
  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 +12 -0
  5. data/lib/facebook_ads/ad_objects/{content_delivery_report.rb → ad_account_custom_audience.rb} +4 -58
  6. data/lib/facebook_ads/ad_objects/ad_account_default_objective.rb +16 -10
  7. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +7 -0
  9. data/lib/facebook_ads/ad_objects/ad_activity.rb +1 -0
  10. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +4 -1
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  12. data/lib/facebook_ads/ad_objects/ad_creative.rb +5 -6
  13. data/lib/facebook_ads/ad_objects/ad_creative_degrees_of_freedom_spec.rb +44 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/ad_image.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +1 -0
  17. data/lib/facebook_ads/ad_objects/ad_network_analytics_async_query_result.rb +1 -0
  18. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  19. data/lib/facebook_ads/ad_objects/ad_preview.rb +4 -0
  20. data/lib/facebook_ads/ad_objects/ad_rule.rb +1 -1
  21. data/lib/facebook_ads/ad_objects/ad_rule_history.rb +1 -0
  22. data/lib/facebook_ads/ad_objects/ad_set.rb +1 -10
  23. data/lib/facebook_ads/ad_objects/ad_study.rb +14 -1
  24. data/lib/facebook_ads/ad_objects/ad_study_cell.rb +1 -0
  25. data/lib/facebook_ads/ad_objects/ad_video.rb +12 -0
  26. data/lib/facebook_ads/ad_objects/adgroup_metadata.rb +41 -0
  27. data/lib/facebook_ads/ad_objects/ads_insights.rb +4 -0
  28. data/lib/facebook_ads/ad_objects/ads_pixel.rb +5 -1
  29. data/lib/facebook_ads/ad_objects/application.rb +21 -57
  30. data/lib/facebook_ads/ad_objects/automotive_model.rb +6 -0
  31. data/lib/facebook_ads/ad_objects/business.rb +35 -30
  32. data/lib/facebook_ads/ad_objects/business_asset_group.rb +2 -0
  33. data/lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb +1 -0
  34. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  35. data/lib/facebook_ads/ad_objects/business_partner_premium_options.rb +39 -0
  36. data/lib/facebook_ads/ad_objects/business_user.rb +4 -1
  37. data/lib/facebook_ads/ad_objects/campaign.rb +8 -11
  38. data/lib/facebook_ads/ad_objects/canvas.rb +2 -1
  39. data/lib/facebook_ads/ad_objects/{third_party_measurement_report_dataset.rb → canvas_dynamic_setting.rb} +4 -5
  40. data/lib/facebook_ads/ad_objects/catalog_segment_all_match_count_laser.rb +42 -0
  41. data/lib/facebook_ads/ad_objects/collaborative_ads_share_settings.rb +1 -0
  42. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +11 -0
  43. data/lib/facebook_ads/ad_objects/commerce_merchant_tos_acceptance.rb +36 -0
  44. data/lib/facebook_ads/ad_objects/cpas_business_setup_config.rb +1 -0
  45. data/lib/facebook_ads/ad_objects/crm_address.rb +48 -0
  46. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  48. data/lib/facebook_ads/ad_objects/destination.rb +6 -0
  49. data/lib/facebook_ads/ad_objects/event.rb +22 -26
  50. data/lib/facebook_ads/ad_objects/event_source_group.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/experience.rb +1 -1
  52. data/lib/facebook_ads/ad_objects/extended_credit.rb +3 -0
  53. data/lib/facebook_ads/ad_objects/extended_credit_invoice_group.rb +4 -0
  54. data/lib/facebook_ads/ad_objects/flight.rb +6 -0
  55. data/lib/facebook_ads/ad_objects/group.rb +0 -72
  56. data/lib/facebook_ads/ad_objects/home_listing.rb +6 -0
  57. data/lib/facebook_ads/ad_objects/hotel.rb +6 -0
  58. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  59. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
  60. data/lib/facebook_ads/ad_objects/ig_user.rb +5 -0
  61. data/lib/facebook_ads/ad_objects/{canvas_template.rb → igbc_ads_permission.rb} +2 -13
  62. data/lib/facebook_ads/ad_objects/image_copyright.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/insights_result.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/instagram_insights_result.rb +27 -3
  65. data/lib/facebook_ads/ad_objects/instagram_user.rb +1 -0
  66. data/lib/facebook_ads/ad_objects/instant_article_insights_query_result.rb +1 -0
  67. data/lib/facebook_ads/ad_objects/jobs_job.rb +6 -0
  68. data/lib/facebook_ads/ad_objects/leadgen_form.rb +2 -0
  69. data/lib/facebook_ads/ad_objects/local_service_business.rb +6 -0
  70. data/lib/facebook_ads/ad_objects/media_title.rb +85 -0
  71. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +2 -0
  72. data/lib/facebook_ads/ad_objects/page.rb +33 -17
  73. data/lib/facebook_ads/ad_objects/page_upcoming_change.rb +1 -0
  74. data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +4 -0
  75. data/lib/facebook_ads/ad_objects/product_catalog.rb +18 -6
  76. data/lib/facebook_ads/ad_objects/product_feed.rb +8 -2
  77. data/lib/facebook_ads/ad_objects/product_item.rb +10 -0
  78. data/lib/facebook_ads/ad_objects/product_item_ar_data.rb +1 -0
  79. data/lib/facebook_ads/ad_objects/product_set.rb +7 -0
  80. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  81. data/lib/facebook_ads/ad_objects/shop.rb +1 -0
  82. data/lib/facebook_ads/ad_objects/{copyright_audio_asset.rb → shop_order.rb} +1 -4
  83. data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +1 -0
  84. data/lib/facebook_ads/ad_objects/system_user.rb +3 -1
  85. data/lib/facebook_ads/ad_objects/targeting.rb +1 -0
  86. data/lib/facebook_ads/ad_objects/targeting_relaxation.rb +1 -0
  87. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -1
  88. data/lib/facebook_ads/ad_objects/user.rb +17 -10
  89. data/lib/facebook_ads/ad_objects/user_page_one_time_opt_in_token_settings.rb +44 -0
  90. data/lib/facebook_ads/ad_objects/vehicle.rb +7 -0
  91. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +6 -0
  92. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -3
  93. data/lib/facebook_ads/version.rb +2 -2
  94. metadata +15 -8
  95. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +0 -184
@@ -26,6 +26,13 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class InstagramInsightsResult < AdObject
29
+ BREAKDOWN = [
30
+ "action_type",
31
+ "follow_type",
32
+ "story_navigation_action_type",
33
+ "surface_type",
34
+ ]
35
+
29
36
  METRIC = [
30
37
  "carousel_album_engagement",
31
38
  "carousel_album_impressions",
@@ -35,12 +42,13 @@ module FacebookAds
35
42
  "comments",
36
43
  "engagement",
37
44
  "exits",
38
- "follows_from_impressions",
45
+ "follows",
39
46
  "impressions",
40
47
  "likes",
41
48
  "navigation",
42
49
  "plays",
43
- "profile_views_from_impressions",
50
+ "profile_activity",
51
+ "profile_visits",
44
52
  "reach",
45
53
  "replies",
46
54
  "saved",
@@ -48,7 +56,6 @@ module FacebookAds
48
56
  "taps_back",
49
57
  "taps_forward",
50
58
  "total_interactions",
51
- "total_media_attributed_actions",
52
59
  "video_views",
53
60
  ]
54
61
 
@@ -57,15 +64,32 @@ module FacebookAds
57
64
  "days_28",
58
65
  "lifetime",
59
66
  "month",
67
+ "total_over_range",
60
68
  "week",
61
69
  ]
62
70
 
71
+ METRIC_TYPE = [
72
+ "default",
73
+ "time_series",
74
+ "total_value",
75
+ ]
76
+
77
+ TIMEFRAME = [
78
+ "last_14_days",
79
+ "last_30_days",
80
+ "last_90_days",
81
+ "prev_month",
82
+ "this_month",
83
+ "this_week",
84
+ ]
85
+
63
86
 
64
87
  field :description, 'string'
65
88
  field :id, 'string'
66
89
  field :name, 'string'
67
90
  field :period, 'string'
68
91
  field :title, 'string'
92
+ field :total_value, 'object'
69
93
  field :values, { list: 'InstagramInsightsValue' }
70
94
  has_no_get
71
95
  has_no_post
@@ -35,6 +35,7 @@ module FacebookAds
35
35
  field :is_published, 'bool'
36
36
  field :media_count, 'int'
37
37
  field :mini_shop_storefront, 'Shop'
38
+ field :owner_business, 'Business'
38
39
  field :profile_pic, 'string'
39
40
  field :username, 'string'
40
41
  has_no_post
@@ -43,6 +43,7 @@ module FacebookAds
43
43
  "days_28",
44
44
  "lifetime",
45
45
  "month",
46
+ "total_over_range",
46
47
  "week",
47
48
  ]
48
49
 
@@ -35,6 +35,11 @@ module FacebookAds
35
35
  "PARTIAL_FETCH",
36
36
  ]
37
37
 
38
+ VISIBILITY = [
39
+ "PUBLISHED",
40
+ "STAGING",
41
+ ]
42
+
38
43
 
39
44
  field :address, 'object'
40
45
  field :applinks, 'CatalogItemAppLinks'
@@ -60,6 +65,7 @@ module FacebookAds
60
65
  field :sanitized_images, { list: 'string' }
61
66
  field :unit_price, 'object'
62
67
  field :url, 'string'
68
+ field :visibility, { enum: -> { VISIBILITY }}
63
69
  has_no_post
64
70
  has_no_delete
65
71
 
@@ -38,6 +38,7 @@ module FacebookAds
38
38
  "CS_CZ",
39
39
  "DA_DK",
40
40
  "DE_DE",
41
+ "EL_GR",
41
42
  "EN_GB",
42
43
  "EN_US",
43
44
  "ES_ES",
@@ -72,6 +73,7 @@ module FacebookAds
72
73
  field :block_display_for_non_targeted_viewer, 'bool'
73
74
  field :context_card, 'object'
74
75
  field :created_time, 'datetime'
76
+ field :creator, 'User'
75
77
  field :expired_leads_count, 'int'
76
78
  field :follow_up_action_text, 'string'
77
79
  field :follow_up_action_url, 'string'
@@ -55,6 +55,11 @@ module FacebookAds
55
55
  "PARTIAL_FETCH",
56
56
  ]
57
57
 
58
+ VISIBILITY = [
59
+ "PUBLISHED",
60
+ "STAGING",
61
+ ]
62
+
58
63
 
59
64
  field :address, 'object'
60
65
  field :applinks, 'CatalogItemAppLinks'
@@ -92,6 +97,7 @@ module FacebookAds
92
97
  field :unit_price, 'object'
93
98
  field :url, 'string'
94
99
  field :vendor_id, 'string'
100
+ field :visibility, { enum: -> { VISIBILITY }}
95
101
  has_no_post
96
102
  has_no_delete
97
103
 
@@ -0,0 +1,85 @@
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 MediaTitle < AdObject
29
+ IMAGE_FETCH_STATUS = [
30
+ "DIRECT_UPLOAD",
31
+ "FETCHED",
32
+ "FETCH_FAILED",
33
+ "NO_STATUS",
34
+ "OUTDATED",
35
+ "PARTIAL_FETCH",
36
+ ]
37
+
38
+ VISIBILITY = [
39
+ "PUBLISHED",
40
+ "STAGING",
41
+ ]
42
+
43
+ CONTENT_CATEGORY = [
44
+ "MOVIE",
45
+ "MUSIC",
46
+ "TV_SHOW",
47
+ ]
48
+
49
+
50
+ field :applinks, 'CatalogItemAppLinks'
51
+ field :category_specific_fields, 'CatalogSubVerticalList'
52
+ field :content_category, 'string'
53
+ field :currency, 'string'
54
+ field :description, 'string'
55
+ field :fb_page_alias, 'string'
56
+ field :fb_page_id, 'Page'
57
+ field :genres, { list: 'string' }
58
+ field :id, 'string'
59
+ field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
60
+ field :images, { list: 'string' }
61
+ field :kg_fb_id, 'string'
62
+ field :media_title_id, 'string'
63
+ field :price, 'string'
64
+ field :sanitized_images, { list: 'string' }
65
+ field :title, 'string'
66
+ field :title_display_name, 'string'
67
+ field :unit_price, 'object'
68
+ field :url, 'string'
69
+ field :visibility, { enum: -> { VISIBILITY }}
70
+ field :wiki_data_item, 'string'
71
+
72
+ has_edge :augmented_realities_metadata do |edge|
73
+ edge.get
74
+ end
75
+
76
+ has_edge :channels_to_integrity_status do |edge|
77
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
78
+ end
79
+
80
+ has_edge :videos_metadata do |edge|
81
+ edge.get
82
+ end
83
+
84
+ end
85
+ end
@@ -44,6 +44,7 @@ module FacebookAds
44
44
  field :business, 'Business'
45
45
  field :config, 'string'
46
46
  field :creation_time, 'datetime'
47
+ field :creator, 'User'
47
48
  field :description, 'string'
48
49
  field :duplicate_entries, 'int'
49
50
  field :enable_auto_assign_to_accounts, 'bool'
@@ -59,6 +60,7 @@ module FacebookAds
59
60
  field :match_rate_approx, 'int'
60
61
  field :matched_entries, 'int'
61
62
  field :name, 'string'
63
+ field :owner_business, 'Business'
62
64
  field :usage, 'OfflineConversionDataSetUsage'
63
65
  field :valid_entries, 'int'
64
66
  field :auto_assign_to_new_accounts_only, 'bool'
@@ -124,6 +124,7 @@ module FacebookAds
124
124
  "PROFILE_PLUS_FACEBOOK_ACCESS",
125
125
  "PROFILE_PLUS_FULL_CONTROL",
126
126
  "PROFILE_PLUS_MANAGE",
127
+ "PROFILE_PLUS_MANAGE_LEADS",
127
128
  "PROFILE_PLUS_MESSAGING",
128
129
  "PROFILE_PLUS_MODERATE",
129
130
  "PROFILE_PLUS_MODERATE_DELEGATE_COMMUNITY",
@@ -151,6 +152,7 @@ module FacebookAds
151
152
  "PROFILE_PLUS_FACEBOOK_ACCESS",
152
153
  "PROFILE_PLUS_FULL_CONTROL",
153
154
  "PROFILE_PLUS_MANAGE",
155
+ "PROFILE_PLUS_MANAGE_LEADS",
154
156
  "PROFILE_PLUS_MESSAGING",
155
157
  "PROFILE_PLUS_MODERATE",
156
158
  "PROFILE_PLUS_MODERATE_DELEGATE_COMMUNITY",
@@ -276,7 +278,6 @@ module FacebookAds
276
278
  PLATFORM = [
277
279
  "INSTAGRAM",
278
280
  "MESSENGER",
279
- "WHATSAPP",
280
281
  ]
281
282
 
282
283
  MODEL = [
@@ -333,6 +334,7 @@ module FacebookAds
333
334
  "hours",
334
335
  "inbox_labels",
335
336
  "invoice_access_invoice_change",
337
+ "invoice_access_invoice_draft_change",
336
338
  "invoice_access_onboarding_status_active",
337
339
  "leadgen",
338
340
  "leadgen_fat",
@@ -487,6 +489,7 @@ module FacebookAds
487
489
  field :new_like_count, 'int'
488
490
  field :offer_eligible, 'bool'
489
491
  field :overall_star_rating, 'double'
492
+ field :owner_business, 'Business'
490
493
  field :page_token, 'string'
491
494
  field :parent_page, 'Page'
492
495
  field :parking, 'PageParking'
@@ -570,6 +573,10 @@ module FacebookAds
570
573
  edge.get 'Album'
571
574
  end
572
575
 
576
+ has_edge :ar_experience do |edge|
577
+ edge.get
578
+ end
579
+
573
580
  has_edge :assigned_users do |edge|
574
581
  edge.delete do |api|
575
582
  api.has_param :user, 'int'
@@ -721,10 +728,6 @@ module FacebookAds
721
728
  end
722
729
  end
723
730
 
724
- has_edge :copyright_whitelisted_partners do |edge|
725
- edge.get 'Profile'
726
- end
727
-
728
731
  has_edge :crosspost_whitelisted_pages do |edge|
729
732
  edge.get 'Page'
730
733
  end
@@ -767,6 +770,10 @@ module FacebookAds
767
770
  end
768
771
  end
769
772
 
773
+ has_edge :fantasy_games do |edge|
774
+ edge.get
775
+ end
776
+
770
777
  has_edge :feed do |edge|
771
778
  edge.get 'PagePost' do |api|
772
779
  api.has_param :include_hidden, 'bool'
@@ -922,6 +929,7 @@ module FacebookAds
922
929
 
923
930
  has_edge :insights do |edge|
924
931
  edge.get 'InsightsResult' do |api|
932
+ api.has_param :breakdown, { list: 'object' }
925
933
  api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
926
934
  api.has_param :metric, { list: 'object' }
927
935
  api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
@@ -1023,7 +1031,6 @@ module FacebookAds
1023
1031
  api.has_param :is_audio_only, 'bool'
1024
1032
  api.has_param :is_spherical, 'bool'
1025
1033
  api.has_param :original_fov, 'int'
1026
- api.has_param :planned_start_time, 'int'
1027
1034
  api.has_param :privacy, 'string'
1028
1035
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
1029
1036
  api.has_param :published, 'bool'
@@ -1084,6 +1091,7 @@ module FacebookAds
1084
1091
  has_edge :message_attachments do |edge|
1085
1092
  edge.post do |api|
1086
1093
  api.has_param :message, 'object'
1094
+ api.has_param :platform, { enum: %w{INSTAGRAM MESSENGER }}
1087
1095
  end
1088
1096
  end
1089
1097
 
@@ -1097,6 +1105,7 @@ module FacebookAds
1097
1105
  api.has_param :recipient, 'object'
1098
1106
  api.has_param :sender_action, { enum: -> { Page::SENDER_ACTION }}
1099
1107
  api.has_param :tag, 'object'
1108
+ api.has_param :thread_control, 'object'
1100
1109
  end
1101
1110
  end
1102
1111
 
@@ -1137,6 +1146,10 @@ module FacebookAds
1137
1146
  end
1138
1147
  end
1139
1148
 
1149
+ has_edge :notification_message_tokens do |edge|
1150
+ edge.get 'UserPageOneTimeOptInTokenSettings'
1151
+ end
1152
+
1140
1153
  has_edge :notification_messages_dev_support do |edge|
1141
1154
  edge.post 'Page' do |api|
1142
1155
  api.has_param :developer_action, { enum: -> { Page::DEVELOPER_ACTION }}
@@ -1364,20 +1377,9 @@ module FacebookAds
1364
1377
  end
1365
1378
 
1366
1379
  has_edge :tabs do |edge|
1367
- edge.delete do |api|
1368
- api.has_param :tab, 'string'
1369
- end
1370
1380
  edge.get 'Tab' do |api|
1371
1381
  api.has_param :tab, { list: 'string' }
1372
1382
  end
1373
- edge.post 'Page' do |api|
1374
- api.has_param :app_id, 'int'
1375
- api.has_param :custom_image_url, 'string'
1376
- api.has_param :custom_name, 'string'
1377
- api.has_param :is_non_connection_landing_tab, 'bool'
1378
- api.has_param :position, 'int'
1379
- api.has_param :tab, 'string'
1380
- end
1381
1383
  end
1382
1384
 
1383
1385
  has_edge :tagged do |edge|
@@ -1444,6 +1446,20 @@ module FacebookAds
1444
1446
  edge.get 'VideoList'
1445
1447
  end
1446
1448
 
1449
+ has_edge :video_reels do |edge|
1450
+ edge.get 'AdVideo'
1451
+ edge.post 'AdVideo' do |api|
1452
+ api.has_param :description, 'string'
1453
+ api.has_param :feed_targeting, 'object'
1454
+ api.has_param :scheduled_publish_time, 'datetime'
1455
+ api.has_param :targeting, 'object'
1456
+ api.has_param :title, 'string'
1457
+ api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
1458
+ api.has_param :video_id, 'object'
1459
+ api.has_param :video_state, { enum: -> { AdVideo::VIDEO_STATE }}
1460
+ end
1461
+ end
1462
+
1447
1463
  has_edge :videos do |edge|
1448
1464
  edge.get 'AdVideo' do |api|
1449
1465
  api.has_param :type, { enum: -> { AdVideo::TYPE }}
@@ -33,6 +33,7 @@ module FacebookAds
33
33
  field :page, 'Page'
34
34
  field :proposal, 'PageChangeProposal'
35
35
  field :timer_status, 'string'
36
+ has_no_post
36
37
  has_no_delete
37
38
 
38
39
  end
@@ -28,6 +28,7 @@ module FacebookAds
28
28
  class PrivateLiftStudyInstance < AdObject
29
29
  OPERATION = [
30
30
  "AGGREGATE",
31
+ "CANCEL",
31
32
  "COMPUTE",
32
33
  "ID_MATCH",
33
34
  "NEXT",
@@ -39,7 +40,10 @@ module FacebookAds
39
40
  field :created_time, 'datetime'
40
41
  field :feature_list, { list: 'string' }
41
42
  field :id, 'string'
43
+ field :issuer_certificate, 'string'
42
44
  field :latest_status_update_time, 'datetime'
45
+ field :run_id, 'string'
46
+ field :server_hostnames, { list: 'string' }
43
47
  field :server_ips, { list: 'string' }
44
48
  field :status, 'string'
45
49
  field :tier, 'string'
@@ -95,16 +95,20 @@ module FacebookAds
95
95
  ]
96
96
 
97
97
 
98
+ field :ad_account_to_collaborative_ads_share_settings, 'CollaborativeAdsShareSettings'
99
+ field :agency_collaborative_ads_share_settings, 'CollaborativeAdsShareSettings'
98
100
  field :business, 'Business'
101
+ field :catalog_store, 'StoreCatalogSettings'
99
102
  field :commerce_merchant_settings, 'CommerceMerchantSettings'
103
+ field :creator_user, 'User'
100
104
  field :da_display_settings, 'ProductCatalogImageSettings'
101
105
  field :default_image_url, 'string'
102
106
  field :fallback_image_url, { list: 'string' }
103
107
  field :feed_count, 'int'
104
108
  field :id, 'string'
105
109
  field :is_catalog_segment, 'bool'
106
- field :latest_feed_upload_session, 'ProductFeedUpload'
107
110
  field :name, 'string'
111
+ field :owner_business, 'Business'
108
112
  field :product_count, 'int'
109
113
  field :store_catalog_settings, 'StoreCatalogSettings'
110
114
  field :vertical, 'string'
@@ -162,9 +166,9 @@ module FacebookAds
162
166
  end
163
167
  end
164
168
 
165
- has_edge :catalog_website_settings do |edge|
166
- edge.post do |api|
167
- api.has_param :is_allowed_to_crawl, 'bool'
169
+ has_edge :catalog_store do |edge|
170
+ edge.post 'StoreCatalogSettings' do |api|
171
+ api.has_param :page, 'int'
168
172
  end
169
173
  end
170
174
 
@@ -186,6 +190,10 @@ module FacebookAds
186
190
  end
187
191
  end
188
192
 
193
+ has_edge :collaborative_ads_event_stats do |edge|
194
+ edge.get 'CatalogSegmentAllMatchCountLaser'
195
+ end
196
+
189
197
  has_edge :collaborative_ads_lsb_image_bank do |edge|
190
198
  edge.get
191
199
  end
@@ -326,9 +334,13 @@ module FacebookAds
326
334
  end
327
335
 
328
336
  has_edge :media_titles do |edge|
329
- edge.post do |api|
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|
330
342
  api.has_param :applinks, 'object'
331
- api.has_param :content_category, { enum: %w{MOVIE MUSIC TV_SHOW }}
343
+ api.has_param :content_category, { enum: -> { MediaTitle::CONTENT_CATEGORY }}
332
344
  api.has_param :currency, 'string'
333
345
  api.has_param :description, 'string'
334
346
  api.has_param :fb_page_id, 'string'
@@ -57,7 +57,6 @@ module FacebookAds
57
57
  ]
58
58
 
59
59
  FEED_TYPE = [
60
- "AUTO",
61
60
  "AUTOMOTIVE_MODEL",
62
61
  "DESTINATION",
63
62
  "FLIGHT",
@@ -65,7 +64,6 @@ module FacebookAds
65
64
  "HOTEL",
66
65
  "HOTEL_ROOM",
67
66
  "LOCAL_INVENTORY",
68
- "MARKET",
69
67
  "MEDIA_TITLE",
70
68
  "OFFER",
71
69
  "PRODUCTS",
@@ -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",
@@ -173,6 +172,13 @@ 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'
@@ -317,6 +317,12 @@ module FacebookAds
317
317
  "DUPLICATE_TITLE_AND_DESCRIPTION",
318
318
  "GENERIC_INVALID_FIELD",
319
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",
320
326
  "IMAGE_RESOLUTION_LOW",
321
327
  "INACTIVE_SHOPIFY_PRODUCT",
322
328
  "INVALID_COMMERCE_TAX_CATEGORY",
@@ -342,9 +348,12 @@ module FacebookAds
342
348
  "MISSING_SHIPPING_PROFILE",
343
349
  "MISSING_SIZE",
344
350
  "MISSING_TAX_CATEGORY",
351
+ "NEGATIVE_COMMUNITY_FEEDBACK",
345
352
  "NOT_ENOUGH_IMAGES",
346
353
  "PART_OF_PRODUCT_LAUNCH",
347
354
  "PRODUCT_EXPIRED",
355
+ "PRODUCT_ITEM_HIDDEN_FROM_ALL_SHOPS",
356
+ "PRODUCT_ITEM_NOT_INCLUDED_IN_ANY_SHOP",
348
357
  "PRODUCT_ITEM_NOT_VISIBLE",
349
358
  "PRODUCT_NOT_APPROVED",
350
359
  "PRODUCT_NOT_DOMINANT_CURRENCY",
@@ -690,6 +699,7 @@ module FacebookAds
690
699
  field :origin_country, 'string'
691
700
  field :parent_product_id, 'string'
692
701
  field :pattern, 'string'
702
+ field :post_conversion_signal_based_enforcement_appeal_eligibility, 'bool'
693
703
  field :price, 'string'
694
704
  field :product_catalog, 'ProductCatalog'
695
705
  field :product_feed, 'ProductFeed'
@@ -36,6 +36,7 @@ module FacebookAds
36
36
  "MARKETPLACE",
37
37
  "MARKETPLACE_ADS_DEPRECATED",
38
38
  "MARKETPLACE_SHOPS",
39
+ "MINI_SHOPS",
39
40
  "OFFLINE_CONVERSIONS",
40
41
  "SHOPS",
41
42
  "UNIVERSAL_CHECKOUT",
@@ -75,6 +75,13 @@ 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'
@@ -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'
@@ -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
 
@@ -25,13 +25,10 @@ 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 CopyrightAudioAsset < AdObject
28
+ class ShopOrder < AdObject
29
29
 
30
- field :copyright, 'AudioCopyright'
31
30
  field :creation_time, 'datetime'
32
31
  field :id, 'string'
33
- field :title, 'string'
34
- field :update_time, 'datetime'
35
32
  has_no_post
36
33
  has_no_delete
37
34
 
@@ -29,6 +29,7 @@ module FacebookAds
29
29
 
30
30
  field :id, 'string'
31
31
  field :page, 'Page'
32
+ has_no_post
32
33
 
33
34
  end
34
35
  end
@@ -67,7 +67,9 @@ module FacebookAds
67
67
  end
68
68
 
69
69
  has_edge :assigned_pages do |edge|
70
- edge.get 'Page'
70
+ edge.get 'Page' do |api|
71
+ api.has_param :pages, { list: 'int' }
72
+ end
71
73
  end
72
74
 
73
75
  has_edge :assigned_product_catalogs do |edge|
@@ -118,6 +118,7 @@ module FacebookAds
118
118
  field :relationship_statuses, { list: 'int' }
119
119
  field :site_category, { list: 'string' }
120
120
  field :targeting_optimization, 'string'
121
+ field :targeting_relaxation_types, 'TargetingRelaxation'
121
122
  field :user_adclusters, { list: 'IdName' }
122
123
  field :user_device, { list: 'string' }
123
124
  field :user_event, { list: 'int' }
@@ -27,6 +27,7 @@ module FacebookAds
27
27
 
28
28
  class TargetingRelaxation < AdObject
29
29
 
30
+ field :custom_audience, 'int'
30
31
  field :lookalike, 'int'
31
32
  has_no_id
32
33
  has_no_get
@@ -29,11 +29,11 @@ module FacebookAds
29
29
  PLATFORM = [
30
30
  "INSTAGRAM",
31
31
  "MESSENGER",
32
- "WHATSAPP",
33
32
  ]
34
33
 
35
34
 
36
35
  field :can_reply, 'bool'
36
+ field :folder, 'string'
37
37
  field :former_participants, 'object'
38
38
  field :id, 'string'
39
39
  field :is_subscribed, 'bool'