facebookbusiness 0.7.0.3 → 0.8.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +16 -16
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +24 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +21 -5
  5. data/lib/facebook_ads/ad_objects/ad_activity.rb +0 -1
  6. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +4 -0
  7. data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
  8. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -0
  9. data/lib/facebook_ads/ad_objects/ad_creative.rb +3 -0
  10. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
  11. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +3 -0
  12. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
  14. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  15. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
  16. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
  17. data/lib/facebook_ads/ad_objects/ad_study.rb +1 -1
  18. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  19. data/lib/facebook_ads/ad_objects/ad_video.rb +10 -0
  20. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +8 -0
  21. data/lib/facebook_ads/ad_objects/ads_insights.rb +1 -0
  22. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  23. data/lib/facebook_ads/ad_objects/application.rb +23 -0
  24. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +1 -1
  25. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  26. data/lib/facebook_ads/ad_objects/business.rb +58 -2
  27. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  28. data/lib/facebook_ads/ad_objects/business_role_request.rb +4 -0
  29. data/lib/facebook_ads/ad_objects/business_unit.rb +1 -1
  30. data/lib/facebook_ads/ad_objects/business_user.rb +4 -0
  31. data/lib/facebook_ads/ad_objects/campaign.rb +1 -0
  32. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +88 -0
  33. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +16 -19
  34. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
  35. data/lib/facebook_ads/ad_objects/commerce_order.rb +6 -0
  36. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +4 -0
  37. data/lib/facebook_ads/ad_objects/{work_meeting_link.rb → connections_targeting.rb} +3 -2
  38. data/lib/facebook_ads/ad_objects/{iterative_split_test_config.rb → cpas_advertiser_partnership_recommendation.rb} +9 -9
  39. data/lib/facebook_ads/ad_objects/{split_test_config.rb → cpas_collaboration_request.rb} +16 -7
  40. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  41. data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
  42. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  43. data/lib/facebook_ads/ad_objects/event.rb +1 -1
  44. data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -0
  45. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  46. data/lib/facebook_ads/ad_objects/group.rb +7 -1
  47. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  48. data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
  49. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  51. data/lib/facebook_ads/ad_objects/link.rb +6 -6
  52. data/lib/facebook_ads/ad_objects/live_video.rb +12 -16
  53. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
  54. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
  55. data/lib/facebook_ads/ad_objects/page.rb +47 -70
  56. data/lib/facebook_ads/ad_objects/page_post.rb +2 -0
  57. data/lib/facebook_ads/ad_objects/photo.rb +6 -0
  58. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
  59. data/lib/facebook_ads/ad_objects/post.rb +49 -2
  60. data/lib/facebook_ads/ad_objects/product_catalog.rb +42 -7
  61. data/lib/facebook_ads/ad_objects/product_feed.rb +31 -0
  62. data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/product_item.rb +3 -0
  64. data/lib/facebook_ads/ad_objects/product_set.rb +1 -0
  65. data/lib/facebook_ads/ad_objects/product_set_metadata.rb +1 -0
  66. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
  67. data/lib/facebook_ads/ad_objects/referral.rb +2 -0
  68. data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
  69. data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
  70. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +21 -0
  71. data/lib/facebook_ads/ad_objects/{page_about_story.rb → server_side/delivery_category.rb} +10 -16
  72. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +61 -14
  73. data/lib/facebook_ads/ad_objects/server_side/event_request_async.rb +43 -0
  74. data/lib/facebook_ads/ad_objects/{atlas_url.rb → server_side/http_method.rb} +7 -16
  75. data/lib/facebook_ads/ad_objects/server_side/http_service_interface.rb +33 -0
  76. data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
  77. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +20 -1
  78. data/lib/facebook_ads/ad_objects/server_side/util.rb +13 -0
  79. data/lib/facebook_ads/ad_objects/system_user.rb +4 -4
  80. data/lib/facebook_ads/ad_objects/targeting.rb +3 -3
  81. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +0 -1
  82. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  83. data/lib/facebook_ads/ad_objects/user.rb +27 -25
  84. data/lib/facebook_ads/ad_objects/vehicle.rb +2 -0
  85. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  86. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -0
  87. data/lib/facebook_ads/errors.rb +1 -1
  88. data/lib/facebook_ads/session.rb +1 -1
  89. data/lib/facebook_ads/version.rb +2 -2
  90. metadata +30 -12
  91. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +0 -50
@@ -31,6 +31,7 @@ module FacebookAds
31
31
  field :marketplace_approval_status, 'string'
32
32
  field :marketplace_approval_status_details, 'object'
33
33
  field :payment_setup, 'string'
34
+ field :review_status, 'object'
34
35
  field :shop_setup, 'string'
35
36
  has_no_id
36
37
  has_no_get
@@ -62,6 +62,7 @@ module FacebookAds
62
62
  field :estimated_payment_details, 'object'
63
63
  field :id, 'string'
64
64
  field :is_group_buy, 'bool'
65
+ field :is_test_order, 'bool'
65
66
  field :last_updated, 'string'
66
67
  field :merchant_order_id, 'string'
67
68
  field :order_status, 'object'
@@ -75,6 +76,7 @@ module FacebookAds
75
76
  edge.post 'CommerceOrder' do |api|
76
77
  api.has_param :idempotency_key, 'string'
77
78
  api.has_param :merchant_order_reference, 'string'
79
+ api.has_param :return_error_response, 'bool'
78
80
  end
79
81
  end
80
82
 
@@ -96,6 +98,10 @@ module FacebookAds
96
98
  edge.get
97
99
  end
98
100
 
101
+ has_edge :promotion_details do |edge|
102
+ edge.get
103
+ end
104
+
99
105
  has_edge :promotions do |edge|
100
106
  edge.get
101
107
  end
@@ -40,6 +40,10 @@ module FacebookAds
40
40
  has_no_post
41
41
  has_no_delete
42
42
 
43
+ has_edge :items do |edge|
44
+ edge.get
45
+ end
46
+
43
47
  has_edge :tax_details do |edge|
44
48
  edge.get
45
49
  end
@@ -25,10 +25,11 @@ 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 WorkMeetingLink < AdObject
28
+ class ConnectionsTargeting < AdObject
29
29
 
30
30
  field :id, 'string'
31
- field :owner, 'User'
31
+ field :name, 'string'
32
+ has_no_get
32
33
  has_no_post
33
34
  has_no_delete
34
35
 
@@ -25,17 +25,17 @@ 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 IterativeSplitTestConfig < AdObject
28
+ class CpasAdvertiserPartnershipRecommendation < AdObject
29
29
 
30
- field :budget, 'int'
31
- field :end_time, 'datetime'
32
- field :guidance, 'object'
30
+ field :advertiser_business_id, 'string'
31
+ field :brand_business_id, 'string'
32
+ field :brands, { list: 'string' }
33
+ field :countries, { list: 'string' }
33
34
  field :id, 'string'
34
- field :iterative_split_test_original_variant_id, 'string'
35
- field :iterative_split_test_variant_to_split_mapping, 'hash'
36
- field :results_window, 'object'
37
- field :splits, { list: 'int' }
38
- field :start_time, 'datetime'
35
+ field :merchant_business_id, 'string'
36
+ field :merchant_categories, { list: 'string' }
37
+ field :status, 'string'
38
+ field :status_reason, 'string'
39
39
  has_no_post
40
40
  has_no_delete
41
41
 
@@ -25,15 +25,24 @@ 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 SplitTestConfig < AdObject
28
+ class CpasCollaborationRequest < AdObject
29
+ REQUESTER_AGENCY_OR_BRAND = [
30
+ "AGENCY",
31
+ "BRAND",
32
+ "MERCHANT",
33
+ ]
29
34
 
30
- field :budget, 'int'
31
- field :early_winner_declaration_enabled, 'bool'
32
- field :end_time, 'datetime'
33
- field :splits, { list: 'int' }
34
- field :start_time, 'datetime'
35
- field :test_variable, 'string'
35
+
36
+ field :brands, { list: 'string' }
37
+ field :contact_email, 'string'
38
+ field :contact_first_name, 'string'
39
+ field :contact_last_name, 'string'
36
40
  field :id, 'string'
41
+ field :phone_number, 'string'
42
+ field :receiver_business, 'Business'
43
+ field :requester_agency_or_brand, 'string'
44
+ field :sender_client_business, 'Business'
45
+ field :status, 'string'
37
46
  has_no_post
38
47
  has_no_delete
39
48
 
@@ -69,6 +69,7 @@ module FacebookAds
69
69
  "PLATFORM",
70
70
  "PLATFORM_USERS",
71
71
  "SEED_LIST",
72
+ "SIGNAL_SOURCE",
72
73
  "SMART_AUDIENCE",
73
74
  "STORE_VISIT_EVENTS",
74
75
  "S_EXPR",
@@ -26,6 +26,13 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class DaCheck < AdObject
29
+ CONNECTION_METHOD = [
30
+ "ALL",
31
+ "APP",
32
+ "BROWSER",
33
+ "SERVER",
34
+ ]
35
+
29
36
 
30
37
  field :action_uri, 'string'
31
38
  field :description, 'string'
@@ -29,6 +29,7 @@ module FacebookAds
29
29
 
30
30
  field :address, 'string'
31
31
  field :applinks, 'CatalogItemAppLinks'
32
+ field :category_specific_fields, 'CatalogSubVerticalList'
32
33
  field :currency, 'string'
33
34
  field :description, 'string'
34
35
  field :destination_id, 'string'
@@ -132,6 +132,7 @@ module FacebookAds
132
132
  edge.post 'LiveVideo' do |api|
133
133
  api.has_param :content_tags, { list: 'string' }
134
134
  api.has_param :description, 'string'
135
+ api.has_param :enable_backup_ingest, 'bool'
135
136
  api.has_param :encoding_settings, 'string'
136
137
  api.has_param :fisheye_video_cropped, 'bool'
137
138
  api.has_param :front_z_rotation, 'double'
@@ -143,7 +144,6 @@ module FacebookAds
143
144
  api.has_param :privacy, 'string'
144
145
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
145
146
  api.has_param :published, 'bool'
146
- api.has_param :save_vod, 'bool'
147
147
  api.has_param :schedule_custom_profile_image, 'file'
148
148
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
149
149
  api.has_param :status, { enum: -> { LiveVideo::STATUS }}
@@ -68,5 +68,12 @@ module FacebookAds
68
68
  end
69
69
  end
70
70
 
71
+ has_edge :whatsapp_credit_sharing_and_attach do |edge|
72
+ edge.post do |api|
73
+ api.has_param :waba_currency, 'string'
74
+ api.has_param :waba_id, 'string'
75
+ end
76
+ end
77
+
71
78
  end
72
79
  end
@@ -28,6 +28,7 @@ module FacebookAds
28
28
  class Flight < AdObject
29
29
 
30
30
  field :applinks, 'CatalogItemAppLinks'
31
+ field :category_specific_fields, 'CatalogSubVerticalList'
31
32
  field :currency, 'string'
32
33
  field :description, 'string'
33
34
  field :destination_airport, 'string'
@@ -70,9 +70,11 @@ module FacebookAds
70
70
  "SCHOOL_CLASS",
71
71
  "SORORITY",
72
72
  "SPORTS",
73
+ "STREAMER",
73
74
  "STUDY_GROUP",
74
75
  "SUPPORT",
75
76
  "TEAMMATES",
77
+ "THEME",
76
78
  "TRAVEL_PLANNING",
77
79
  "WORK_ANNOUNCEMENT",
78
80
  "WORK_DEMO_GROUP",
@@ -80,6 +82,7 @@ module FacebookAds
80
82
  "WORK_EPHEMERAL",
81
83
  "WORK_FEEDBACK",
82
84
  "WORK_FOR_SALE",
85
+ "WORK_GARDEN",
83
86
  "WORK_LEARNING",
84
87
  "WORK_MENTORSHIP",
85
88
  "WORK_MULTI_COMPANY",
@@ -123,9 +126,11 @@ module FacebookAds
123
126
  "SCHOOL_CLASS",
124
127
  "SORORITY",
125
128
  "SPORTS",
129
+ "STREAMER",
126
130
  "STUDY_GROUP",
127
131
  "SUPPORT",
128
132
  "TEAMMATES",
133
+ "THEME",
129
134
  "TRAVEL_PLANNING",
130
135
  "WORK_ANNOUNCEMENT",
131
136
  "WORK_DEMO_GROUP",
@@ -133,6 +138,7 @@ module FacebookAds
133
138
  "WORK_EPHEMERAL",
134
139
  "WORK_FEEDBACK",
135
140
  "WORK_FOR_SALE",
141
+ "WORK_GARDEN",
136
142
  "WORK_LEARNING",
137
143
  "WORK_MENTORSHIP",
138
144
  "WORK_MULTI_COMPANY",
@@ -353,6 +359,7 @@ module FacebookAds
353
359
  edge.post 'LiveVideo' do |api|
354
360
  api.has_param :content_tags, { list: 'string' }
355
361
  api.has_param :description, 'string'
362
+ api.has_param :enable_backup_ingest, 'bool'
356
363
  api.has_param :encoding_settings, 'string'
357
364
  api.has_param :fisheye_video_cropped, 'bool'
358
365
  api.has_param :front_z_rotation, 'double'
@@ -364,7 +371,6 @@ module FacebookAds
364
371
  api.has_param :privacy, 'string'
365
372
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
366
373
  api.has_param :published, 'bool'
367
- api.has_param :save_vod, 'bool'
368
374
  api.has_param :schedule_custom_profile_image, 'file'
369
375
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
370
376
  api.has_param :status, { enum: -> { LiveVideo::STATUS }}
@@ -39,6 +39,7 @@ module FacebookAds
39
39
  field :area_size, 'int'
40
40
  field :area_unit, 'string'
41
41
  field :availability, 'string'
42
+ field :category_specific_fields, 'CatalogSubVerticalList'
42
43
  field :co_2_emission_rating_eu, 'object'
43
44
  field :currency, 'string'
44
45
  field :days_on_market, 'int'
@@ -31,6 +31,7 @@ module FacebookAds
31
31
  field :applinks, 'CatalogItemAppLinks'
32
32
  field :brand, 'string'
33
33
  field :category, 'string'
34
+ field :category_specific_fields, 'CatalogSubVerticalList'
34
35
  field :currency, 'string'
35
36
  field :description, 'string'
36
37
  field :guest_ratings, 'string'
@@ -38,6 +38,7 @@ module FacebookAds
38
38
  field :room_id, 'string'
39
39
  field :sale_price, 'string'
40
40
  field :url, 'string'
41
+ has_no_delete
41
42
 
42
43
  has_edge :pricing_variables do |edge|
43
44
  edge.get 'DynamicPriceConfigByDate'
@@ -51,9 +51,5 @@ module FacebookAds
51
51
  edge.get 'Profile'
52
52
  end
53
53
 
54
- has_edge :photos do |edge|
55
- edge.get 'Photo'
56
- end
57
-
58
54
  end
59
55
  end
@@ -43,6 +43,12 @@ module FacebookAds
43
43
  has_no_delete
44
44
 
45
45
  has_edge :comments do |edge|
46
+ edge.get 'Comment' do |api|
47
+ api.has_param :filter, { enum: -> { Comment::FILTER }}
48
+ api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
49
+ api.has_param :order, { enum: -> { Comment::ORDER }}
50
+ api.has_param :since, 'datetime'
51
+ end
46
52
  edge.post 'Comment' do |api|
47
53
  api.has_param :attachment_id, 'string'
48
54
  api.has_param :attachment_share_url, 'string'
@@ -64,12 +70,6 @@ module FacebookAds
64
70
  edge.get 'Profile'
65
71
  end
66
72
 
67
- has_edge :reactions do |edge|
68
- edge.get 'Profile' do |api|
69
- api.has_param :type, { enum: -> { Profile::TYPE }}
70
- end
71
- end
72
-
73
73
  has_edge :sharedposts do |edge|
74
74
  edge.get 'Post'
75
75
  end
@@ -26,6 +26,18 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class LiveVideo < AdObject
29
+ BROADCAST_STATUS = [
30
+ "live",
31
+ "live_stopped",
32
+ "processing",
33
+ "scheduled_canceled",
34
+ "scheduled_expired",
35
+ "scheduled_live",
36
+ "scheduled_unpublished",
37
+ "unpublished",
38
+ "vod",
39
+ ]
40
+
29
41
  PROJECTION = [
30
42
  "CUBEMAP",
31
43
  "EQUIRECTANGULAR",
@@ -55,18 +67,6 @@ module FacebookAds
55
67
  "REGULAR",
56
68
  ]
57
69
 
58
- BROADCAST_STATUS = [
59
- "LIVE",
60
- "LIVE_STOPPED",
61
- "PROCESSING",
62
- "SCHEDULED_CANCELED",
63
- "SCHEDULED_EXPIRED",
64
- "SCHEDULED_LIVE",
65
- "SCHEDULED_UNPUBLISHED",
66
- "UNPUBLISHED",
67
- "VOD",
68
- ]
69
-
70
70
  SOURCE = [
71
71
  "owner",
72
72
  "target",
@@ -141,10 +141,6 @@ module FacebookAds
141
141
  edge.post 'LiveVideoInputStream'
142
142
  end
143
143
 
144
- has_edge :likes do |edge|
145
- edge.get 'Profile'
146
- end
147
-
148
144
  has_edge :polls do |edge|
149
145
  edge.get 'VideoPoll'
150
146
  edge.post 'VideoPoll' do |api|
@@ -33,7 +33,6 @@ module FacebookAds
33
33
  has_no_delete
34
34
 
35
35
  has_edge :photos do |edge|
36
- edge.get 'Photo'
37
36
  edge.post 'NativeOfferView' do |api|
38
37
  api.has_param :ad_account, 'string'
39
38
  api.has_param :ad_image_hashes, { list: 'string' }
@@ -37,7 +37,6 @@ module FacebookAds
37
37
  field :amount_due, 'CurrencyAmount'
38
38
  field :billed_amount_details, 'BilledAmountDetails'
39
39
  field :billing_period, 'string'
40
- field :campaign, 'AtlasCampaign'
41
40
  field :cdn_download_uri, 'string'
42
41
  field :currency, 'string'
43
42
  field :download_uri, 'string'
@@ -58,11 +57,5 @@ module FacebookAds
58
57
  edge.get 'InvoiceCampaign'
59
58
  end
60
59
 
61
- has_edge :data do |edge|
62
- edge.get 'AtlasUrl' do |api|
63
- api.has_param :redirect, 'bool'
64
- end
65
- end
66
-
67
60
  end
68
61
  end
@@ -92,6 +92,12 @@ module FacebookAds
92
92
  "Vietnamese",
93
93
  ]
94
94
 
95
+ PICKUP_OPTIONS = [
96
+ "CURBSIDE",
97
+ "IN_STORE",
98
+ "OTHER",
99
+ ]
100
+
95
101
  TEMPORARY_STATUS = [
96
102
  "DIFFERENTLY_OPEN",
97
103
  "NO_DATA",
@@ -107,6 +113,7 @@ module FacebookAds
107
113
  "MANAGE",
108
114
  "MANAGE_JOBS",
109
115
  "MANAGE_LEADS",
116
+ "MESSAGING",
110
117
  "MODERATE",
111
118
  "MODERATE_COMMUNITY",
112
119
  "PAGES_MESSAGING",
@@ -129,6 +136,7 @@ module FacebookAds
129
136
  "MANAGE",
130
137
  "MANAGE_JOBS",
131
138
  "MANAGE_LEADS",
139
+ "MESSAGING",
132
140
  "MODERATE",
133
141
  "MODERATE_COMMUNITY",
134
142
  "PAGES_MESSAGING",
@@ -276,6 +284,7 @@ module FacebookAds
276
284
  "leadgen",
277
285
  "leadgen_fat",
278
286
  "live_videos",
287
+ "local_delivery",
279
288
  "location",
280
289
  "mcom_invoice_change",
281
290
  "members",
@@ -328,29 +337,6 @@ module FacebookAds
328
337
  "website",
329
338
  ]
330
339
 
331
- DOMAIN_ACTION_TYPE = [
332
- "ADD",
333
- "REMOVE",
334
- ]
335
-
336
- PAYMENT_DEV_MODE_ACTION = [
337
- "ADD",
338
- "REMOVE",
339
- ]
340
-
341
- SETTING_TYPE = [
342
- "ACCOUNT_LINKING",
343
- "CALL_TO_ACTIONS",
344
- "DOMAIN_WHITELISTING",
345
- "GREETING",
346
- "PAYMENT",
347
- ]
348
-
349
- THREAD_STATE = [
350
- "EXISTING_THREAD",
351
- "NEW_THREAD",
352
- ]
353
-
354
340
 
355
341
  field :about, 'string'
356
342
  field :access_token, 'string'
@@ -375,6 +361,7 @@ module FacebookAds
375
361
  field :checkins, 'int'
376
362
  field :company_overview, 'string'
377
363
  field :connected_instagram_account, 'IgUser'
364
+ field :connected_page_backed_instagram_account, 'IgUser'
378
365
  field :contact_address, 'MailingAddress'
379
366
  field :copyright_whitelisted_ig_partners, { list: 'string' }
380
367
  field :country_page_likes, 'int'
@@ -443,7 +430,6 @@ module FacebookAds
443
430
  field :new_like_count, 'int'
444
431
  field :offer_eligible, 'bool'
445
432
  field :overall_star_rating, 'double'
446
- field :page_about_story, 'PageAboutStory'
447
433
  field :page_token, 'string'
448
434
  field :parent_page, 'Page'
449
435
  field :parking, 'PageParking'
@@ -452,6 +438,7 @@ module FacebookAds
452
438
  field :personal_interests, 'string'
453
439
  field :pharma_safety_info, 'string'
454
440
  field :phone, 'string'
441
+ field :pickup_options, { list: 'string' }
455
442
  field :place_type, 'string'
456
443
  field :plot_outline, 'string'
457
444
  field :preferred_audience, 'Targeting'
@@ -558,6 +545,13 @@ module FacebookAds
558
545
  end
559
546
  end
560
547
 
548
+ has_edge :business_data do |edge|
549
+ edge.post 'Page' do |api|
550
+ api.has_param :data, { list: 'string' }
551
+ api.has_param :partner_agent, 'string'
552
+ end
553
+ end
554
+
561
555
  has_edge :call_to_actions do |edge|
562
556
  edge.get 'PageCallToAction'
563
557
  end
@@ -599,9 +593,6 @@ module FacebookAds
599
593
  api.has_param :url, 'string'
600
594
  end
601
595
  edge.get 'Url'
602
- edge.post 'Page' do |api|
603
- api.has_param :url, 'string'
604
- end
605
596
  end
606
597
 
607
598
  has_edge :commerce_merchant_settings do |edge|
@@ -689,6 +680,13 @@ module FacebookAds
689
680
  end
690
681
  end
691
682
 
683
+ has_edge :extend_thread_control do |edge|
684
+ edge.post 'Page' do |api|
685
+ api.has_param :duration, 'int'
686
+ api.has_param :recipient, 'object'
687
+ end
688
+ end
689
+
692
690
  has_edge :feed do |edge|
693
691
  edge.get 'PagePost' do |api|
694
692
  api.has_param :include_hidden, 'bool'
@@ -913,6 +911,7 @@ module FacebookAds
913
911
  api.has_param :crossposting_actions, { list: 'hash' }
914
912
  api.has_param :custom_labels, { list: 'string' }
915
913
  api.has_param :description, 'string'
914
+ api.has_param :enable_backup_ingest, 'bool'
916
915
  api.has_param :encoding_settings, 'string'
917
916
  api.has_param :fisheye_video_cropped, 'bool'
918
917
  api.has_param :front_z_rotation, 'double'
@@ -925,7 +924,6 @@ module FacebookAds
925
924
  api.has_param :privacy, 'string'
926
925
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
927
926
  api.has_param :published, 'bool'
928
- api.has_param :save_vod, 'bool'
929
927
  api.has_param :schedule_custom_profile_image, 'file'
930
928
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
931
929
  api.has_param :status, { enum: -> { LiveVideo::STATUS }}
@@ -955,6 +953,7 @@ module FacebookAds
955
953
  api.has_param :page_username, 'string'
956
954
  api.has_param :permanently_closed, 'bool'
957
955
  api.has_param :phone, 'string'
956
+ api.has_param :pickup_options, { list: { enum: -> { Page::PICKUP_OPTIONS }} }
958
957
  api.has_param :place_topics, { list: 'string' }
959
958
  api.has_param :price_range, 'string'
960
959
  api.has_param :store_code, 'string'
@@ -1001,13 +1000,9 @@ module FacebookAds
1001
1000
  edge.get 'MessagingFeatureReview'
1002
1001
  end
1003
1002
 
1004
- has_edge :messenger_ads_page_welcome_messages do |edge|
1005
- edge.get 'MessengerDestinationPageWelcomeMessage'
1006
- end
1007
-
1008
1003
  has_edge :messenger_profile do |edge|
1009
1004
  edge.delete do |api|
1010
- api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1005
+ api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU PLATFORM TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1011
1006
  end
1012
1007
  edge.get 'MessengerProfile'
1013
1008
  edge.post 'Page' do |api|
@@ -1061,16 +1056,6 @@ module FacebookAds
1061
1056
  end
1062
1057
  end
1063
1058
 
1064
- has_edge :page_about_story do |edge|
1065
- edge.post 'Page' do |api|
1066
- api.has_param :composed_text, { list: 'hash' }
1067
- api.has_param :cover_photo, 'hash'
1068
- api.has_param :entity_map, { list: 'hash' }
1069
- api.has_param :is_published, 'bool'
1070
- api.has_param :title, 'string'
1071
- end
1072
- end
1073
-
1074
1059
  has_edge :page_backed_instagram_accounts do |edge|
1075
1060
  edge.get 'InstagramUser'
1076
1061
  edge.post 'InstagramUser'
@@ -1091,6 +1076,14 @@ module FacebookAds
1091
1076
  end
1092
1077
  end
1093
1078
 
1079
+ has_edge :pass_thread_metadata do |edge|
1080
+ edge.post 'Page' do |api|
1081
+ api.has_param :metadata, 'string'
1082
+ api.has_param :recipient, 'object'
1083
+ api.has_param :target_app_id, 'int'
1084
+ end
1085
+ end
1086
+
1094
1087
  has_edge :personas do |edge|
1095
1088
  edge.get 'Persona'
1096
1089
  edge.post 'Persona' do |api|
@@ -1175,6 +1168,7 @@ module FacebookAds
1175
1168
  end
1176
1169
  edge.post 'ProfilePictureSource' do |api|
1177
1170
  api.has_param :android_key_hash, 'string'
1171
+ api.has_param :burn_media_effect, 'bool'
1178
1172
  api.has_param :caption, 'string'
1179
1173
  api.has_param :composer_session_id, 'string'
1180
1174
  api.has_param :has_umg, 'bool'
@@ -1201,10 +1195,6 @@ module FacebookAds
1201
1195
  end
1202
1196
  end
1203
1197
 
1204
- has_edge :place_topics do |edge|
1205
- edge.get 'PlaceTopic'
1206
- end
1207
-
1208
1198
  has_edge :posts do |edge|
1209
1199
  edge.get 'PagePost' do |api|
1210
1200
  api.has_param :include_hidden, 'bool'
@@ -1230,6 +1220,12 @@ module FacebookAds
1230
1220
  edge.get 'Recommendation'
1231
1221
  end
1232
1222
 
1223
+ has_edge :release_thread_control do |edge|
1224
+ edge.post 'Page' do |api|
1225
+ api.has_param :recipient, 'object'
1226
+ end
1227
+ end
1228
+
1233
1229
  has_edge :request_thread_control do |edge|
1234
1230
  edge.post 'Page' do |api|
1235
1231
  api.has_param :metadata, 'string'
@@ -1276,9 +1272,6 @@ module FacebookAds
1276
1272
  end
1277
1273
 
1278
1274
  has_edge :tabs do |edge|
1279
- edge.delete do |api|
1280
- api.has_param :tab, 'string'
1281
- end
1282
1275
  edge.get 'Tab' do |api|
1283
1276
  api.has_param :tab, { list: 'string' }
1284
1277
  end
@@ -1309,26 +1302,6 @@ module FacebookAds
1309
1302
  end
1310
1303
  end
1311
1304
 
1312
- has_edge :thread_settings do |edge|
1313
- edge.delete do |api|
1314
- api.has_param :setting_type, { enum: -> { Page::SETTING_TYPE }}
1315
- api.has_param :thread_state, { enum: -> { Page::THREAD_STATE }}
1316
- end
1317
- edge.post 'Page' do |api|
1318
- api.has_param :account_linking_url, 'string'
1319
- api.has_param :call_to_actions, { list: 'object' }
1320
- api.has_param :domain_action_type, { enum: -> { Page::DOMAIN_ACTION_TYPE }}
1321
- api.has_param :greeting, 'object'
1322
- api.has_param :payment_dev_mode_action, { enum: -> { Page::PAYMENT_DEV_MODE_ACTION }}
1323
- api.has_param :payment_privacy_url, 'string'
1324
- api.has_param :payment_public_key, 'string'
1325
- api.has_param :payment_testers, { list: 'string' }
1326
- api.has_param :setting_type, { enum: -> { Page::SETTING_TYPE }}
1327
- api.has_param :thread_state, { enum: -> { Page::THREAD_STATE }}
1328
- api.has_param :whitelisted_domains, { list: 'string' }
1329
- end
1330
- end
1331
-
1332
1305
  has_edge :threads do |edge|
1333
1306
  edge.get 'UnifiedThread' do |api|
1334
1307
  api.has_param :folder, 'string'
@@ -1352,6 +1325,10 @@ module FacebookAds
1352
1325
  api.has_param :selected_rule_id, 'string'
1353
1326
  api.has_param :source, { enum: -> { VideoCopyrightRule::SOURCE }}
1354
1327
  end
1328
+ edge.post 'VideoCopyrightRule' do |api|
1329
+ api.has_param :condition_groups, { list: 'object' }
1330
+ api.has_param :name, 'string'
1331
+ end
1355
1332
  end
1356
1333
 
1357
1334
  has_edge :video_copyrights do |edge|