facebookbusiness 0.7.0.3 → 0.8.0.4

Sign up to get free protection for your applications and to get access to all the features.
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|