facebookbusiness 0.13.0.0 → 0.14.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_account.rb +20 -12
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +2 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -0
  7. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_creative.rb +1 -0
  9. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +1 -0
  10. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +0 -1
  11. data/lib/facebook_ads/ad_objects/ad_placement.rb +1 -0
  12. data/lib/facebook_ads/ad_objects/ad_preview.rb +4 -0
  13. data/lib/facebook_ads/ad_objects/ad_promoted_object.rb +1 -0
  14. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +1 -0
  15. data/lib/facebook_ads/ad_objects/ad_set.rb +17 -5
  16. data/lib/facebook_ads/ad_objects/ad_video.rb +12 -2
  17. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  18. data/lib/facebook_ads/ad_objects/ads_pixel.rb +1 -0
  19. data/lib/facebook_ads/ad_objects/application.rb +4 -7
  20. data/lib/facebook_ads/ad_objects/audio_copyright.rb +4 -0
  21. data/lib/facebook_ads/ad_objects/automotive_model.rb +0 -26
  22. data/lib/facebook_ads/ad_objects/business.rb +8 -2
  23. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  24. data/lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb +1 -0
  25. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  26. data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +6 -0
  27. data/lib/facebook_ads/ad_objects/commerce_order.rb +8 -0
  28. data/lib/facebook_ads/ad_objects/content_delivery_report.rb +1 -0
  29. data/lib/facebook_ads/ad_objects/copyright_audio_asset.rb +1 -0
  30. data/lib/facebook_ads/ad_objects/credit_card.rb +55 -0
  31. data/lib/facebook_ads/ad_objects/event.rb +7 -9
  32. data/lib/facebook_ads/ad_objects/fundraiser_person_to_charity.rb +4 -0
  33. data/lib/facebook_ads/ad_objects/{native_offer_discount.rb → game_item.rb} +15 -9
  34. data/lib/facebook_ads/ad_objects/group.rb +22 -0
  35. data/lib/facebook_ads/ad_objects/home_listing.rb +4 -1
  36. data/lib/facebook_ads/ad_objects/ig_media.rb +13 -0
  37. data/lib/facebook_ads/ad_objects/ig_user.rb +24 -0
  38. data/lib/facebook_ads/ad_objects/instagram_insights_result.rb +5 -0
  39. data/lib/facebook_ads/ad_objects/jobs_job.rb +7 -0
  40. data/lib/facebook_ads/ad_objects/live_video.rb +17 -17
  41. data/lib/facebook_ads/ad_objects/local_service_business.rb +5 -0
  42. data/lib/facebook_ads/ad_objects/page.rb +78 -42
  43. data/lib/facebook_ads/ad_objects/page_post.rb +2 -2
  44. data/lib/facebook_ads/ad_objects/{native_offer_view.rb → page_post_experiment.rb} +14 -20
  45. data/lib/facebook_ads/ad_objects/post.rb +2 -2
  46. data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/product_catalog.rb +11 -13
  48. data/lib/facebook_ads/ad_objects/{dynamic_content_set.rb → product_catalog_data_source.rb} +11 -2
  49. data/lib/facebook_ads/ad_objects/product_catalog_diagnostic_group.rb +16 -0
  50. data/lib/facebook_ads/ad_objects/product_feed.rb +10 -8
  51. data/lib/facebook_ads/ad_objects/product_feed_missing_feed_item_replacement.rb +0 -1
  52. data/lib/facebook_ads/ad_objects/product_feed_rule.rb +8 -0
  53. data/lib/facebook_ads/ad_objects/product_feed_upload.rb +3 -1
  54. data/lib/facebook_ads/ad_objects/product_feed_upload_error.rb +6 -0
  55. data/lib/facebook_ads/ad_objects/product_group.rb +7 -7
  56. data/lib/facebook_ads/ad_objects/product_item.rb +75 -0
  57. data/lib/facebook_ads/ad_objects/{page_admin_note.rb → product_item_error.rb} +7 -6
  58. data/lib/facebook_ads/ad_objects/product_set.rb +2 -0
  59. data/lib/facebook_ads/ad_objects/reach_frequency_estimates_placement_breakdown.rb +1 -0
  60. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +4 -0
  61. data/lib/facebook_ads/ad_objects/shadow_ig_media_product_tags.rb +47 -0
  62. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  63. data/lib/facebook_ads/ad_objects/user.rb +11 -2
  64. data/lib/facebook_ads/ad_objects/video_copyright.rb +4 -0
  65. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +4 -12
  66. data/lib/facebook_ads/version.rb +2 -2
  67. metadata +8 -11
  68. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +0 -63
  69. data/lib/facebook_ads/ad_objects/ad_campaign_group_activity.rb +0 -99
  70. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +0 -128
  71. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +0 -85
  72. data/lib/facebook_ads/ad_objects/native_offer.rb +0 -122
@@ -0,0 +1,55 @@
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 CreditCard < AdObject
29
+
30
+ field :billing_address, 'object'
31
+ field :card_cobadging, 'string'
32
+ field :card_holder_name, 'string'
33
+ field :card_type, 'string'
34
+ field :credential_id, 'int'
35
+ field :default_receiving_method_products, { list: 'string' }
36
+ field :expiry_month, 'string'
37
+ field :expiry_year, 'string'
38
+ field :id, 'string'
39
+ field :is_cvv_tricky_bin, 'bool'
40
+ field :is_enabled, 'bool'
41
+ field :is_last_used, 'bool'
42
+ field :is_network_tokenized_in_india, 'bool'
43
+ field :is_soft_disabled, 'bool'
44
+ field :is_user_verified, 'bool'
45
+ field :is_zip_verified, 'bool'
46
+ field :last4, 'string'
47
+ field :readable_card_type, 'string'
48
+ field :time_created, 'datetime'
49
+ field :time_created_ts, 'int'
50
+ field :type, 'string'
51
+ has_no_post
52
+ has_no_delete
53
+
54
+ end
55
+ end
@@ -132,14 +132,12 @@ module FacebookAds
132
132
 
133
133
  has_edge :live_videos do |edge|
134
134
  edge.get 'NullNode'
135
- end
136
-
137
- has_edge :livevideos do |edge|
138
- edge.post do |api|
135
+ edge.post 'LiveVideo' do |api|
139
136
  api.has_param :content_tags, { list: 'string' }
140
137
  api.has_param :description, 'string'
141
138
  api.has_param :enable_backup_ingest, 'bool'
142
139
  api.has_param :encoding_settings, 'string'
140
+ api.has_param :event_params, 'object'
143
141
  api.has_param :fisheye_video_cropped, 'bool'
144
142
  api.has_param :front_z_rotation, 'double'
145
143
  api.has_param :is_audio_only, 'bool'
@@ -147,14 +145,14 @@ module FacebookAds
147
145
  api.has_param :original_fov, 'int'
148
146
  api.has_param :planned_start_time, 'int'
149
147
  api.has_param :privacy, 'string'
150
- api.has_param :projection, { enum: %w{CUBEMAP EQUIRECTANGULAR HALF_EQUIRECTANGULAR }}
148
+ api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
151
149
  api.has_param :published, 'bool'
152
150
  api.has_param :schedule_custom_profile_image, 'file'
153
- api.has_param :spatial_audio_format, { enum: %w{ambiX_4 }}
154
- api.has_param :status, { enum: %w{LIVE_NOW SCHEDULED_CANCELED SCHEDULED_LIVE SCHEDULED_UNPUBLISHED UNPUBLISHED }}
155
- api.has_param :stereoscopic_mode, { enum: %w{LEFT_RIGHT MONO TOP_BOTTOM }}
151
+ api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
152
+ api.has_param :status, { enum: -> { LiveVideo::STATUS }}
153
+ api.has_param :stereoscopic_mode, { enum: -> { LiveVideo::STEREOSCOPIC_MODE }}
156
154
  api.has_param :stop_on_delete_stream, 'bool'
157
- api.has_param :stream_type, { enum: %w{AMBIENT REGULAR }}
155
+ api.has_param :stream_type, { enum: -> { LiveVideo::STREAM_TYPE }}
158
156
  api.has_param :title, 'string'
159
157
  end
160
158
  end
@@ -55,6 +55,10 @@ module FacebookAds
55
55
  field :uri, 'string'
56
56
  has_no_delete
57
57
 
58
+ has_edge :donations do |edge|
59
+ edge.get
60
+ end
61
+
58
62
  has_edge :end_fundraiser do |edge|
59
63
  edge.post
60
64
  end
@@ -25,16 +25,22 @@ 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 NativeOfferDiscount < AdObject
28
+ class GameItem < AdObject
29
+ ACTION = [
30
+ "CONSUME",
31
+ "DROP",
32
+ "MARK",
33
+ ]
29
34
 
30
- field :currency, 'string'
31
- field :override, 'string'
32
- field :text, 'string'
33
- field :type, 'string'
34
- field :value1, 'double'
35
- field :value2, 'double'
36
- has_no_id
37
- has_no_get
35
+
36
+ field :count, 'int'
37
+ field :created, 'datetime'
38
+ field :ext_id, 'string'
39
+ field :id, 'string'
40
+ field :item_def, 'string'
41
+ field :owner, 'User'
42
+ field :status, 'string'
43
+ field :updated, 'datetime'
38
44
  has_no_post
39
45
  has_no_delete
40
46
 
@@ -71,6 +71,7 @@ module FacebookAds
71
71
  "PROJECT",
72
72
  "REAL_WORLD",
73
73
  "REAL_WORLD_AT_WORK",
74
+ "RESTYLE",
74
75
  "SCHOOL_CLASS",
75
76
  "SORORITY",
76
77
  "SPORTS",
@@ -90,6 +91,7 @@ module FacebookAds
90
91
  "WORK_FOR_SALE",
91
92
  "WORK_GARDEN",
92
93
  "WORK_GUEST_GROUP",
94
+ "WORK_INTEGRITY",
93
95
  "WORK_LEARNING",
94
96
  "WORK_MENTORSHIP",
95
97
  "WORK_MULTI_COMPANY",
@@ -135,6 +137,7 @@ module FacebookAds
135
137
  "PROJECT",
136
138
  "REAL_WORLD",
137
139
  "REAL_WORLD_AT_WORK",
140
+ "RESTYLE",
138
141
  "SCHOOL_CLASS",
139
142
  "SORORITY",
140
143
  "SPORTS",
@@ -154,6 +157,7 @@ module FacebookAds
154
157
  "WORK_FOR_SALE",
155
158
  "WORK_GARDEN",
156
159
  "WORK_GUEST_GROUP",
160
+ "WORK_INTEGRITY",
157
161
  "WORK_LEARNING",
158
162
  "WORK_MENTORSHIP",
159
163
  "WORK_MULTI_COMPANY",
@@ -174,6 +178,7 @@ module FacebookAds
174
178
  field :email, 'string'
175
179
  field :icon, 'string'
176
180
  field :id, 'string'
181
+ field :install, 'object'
177
182
  field :link, 'string'
178
183
  field :member_count, 'int'
179
184
  field :member_request_count, 'int'
@@ -213,6 +218,13 @@ module FacebookAds
213
218
  end
214
219
  end
215
220
 
221
+ has_edge :attachment_surfaces do |edge|
222
+ edge.get
223
+ edge.post do |api|
224
+ api.has_param :title, 'hash'
225
+ end
226
+ end
227
+
216
228
  has_edge :docs do |edge|
217
229
  edge.get
218
230
  end
@@ -221,6 +233,15 @@ module FacebookAds
221
233
  edge.get 'Event'
222
234
  end
223
235
 
236
+ has_edge :featured_cards do |edge|
237
+ edge.get
238
+ edge.post do |api|
239
+ api.has_param :body, 'hash'
240
+ api.has_param :description, 'hash'
241
+ api.has_param :title, 'hash'
242
+ end
243
+ end
244
+
224
245
  has_edge :feed do |edge|
225
246
  edge.get 'Post' do |api|
226
247
  api.has_param :include_hidden, 'bool'
@@ -376,6 +397,7 @@ module FacebookAds
376
397
  api.has_param :description, 'string'
377
398
  api.has_param :enable_backup_ingest, 'bool'
378
399
  api.has_param :encoding_settings, 'string'
400
+ api.has_param :event_params, 'object'
379
401
  api.has_param :fisheye_video_cropped, 'bool'
380
402
  api.has_param :front_z_rotation, 'double'
381
403
  api.has_param :is_audio_only, 'bool'
@@ -38,6 +38,7 @@ module FacebookAds
38
38
 
39
39
  field :ac_type, 'string'
40
40
  field :additional_fees_description, 'string'
41
+ field :address, 'object'
41
42
  field :agent_company, 'string'
42
43
  field :agent_email, 'string'
43
44
  field :agent_fb_page_id, 'Page'
@@ -48,9 +49,11 @@ module FacebookAds
48
49
  field :area_unit, 'string'
49
50
  field :availability, 'string'
50
51
  field :category_specific_fields, 'CatalogSubVerticalList'
52
+ field :co_2_emission_rating_eu, 'object'
51
53
  field :currency, 'string'
52
54
  field :days_on_market, 'int'
53
55
  field :description, 'string'
56
+ field :energy_rating_eu, 'object'
54
57
  field :furnish_type, 'string'
55
58
  field :group_id, 'string'
56
59
  field :heating_type, 'string'
@@ -75,9 +78,9 @@ module FacebookAds
75
78
  field :price, 'string'
76
79
  field :property_type, 'string'
77
80
  field :sanitized_images, { list: 'string' }
81
+ field :unit_price, 'object'
78
82
  field :url, 'string'
79
83
  field :year_built, 'int'
80
- field :address, 'object'
81
84
 
82
85
  has_edge :augmented_realities_metadata do |edge|
83
86
  edge.get
@@ -32,6 +32,7 @@ module FacebookAds
32
32
  field :id, 'string'
33
33
  field :ig_id, 'string'
34
34
  field :is_comment_enabled, 'bool'
35
+ field :is_shared_to_feed, 'bool'
35
36
  field :like_count, 'int'
36
37
  field :media_product_type, 'string'
37
38
  field :media_type, 'string'
@@ -62,5 +63,17 @@ module FacebookAds
62
63
  end
63
64
  end
64
65
 
66
+ has_edge :product_tags do |edge|
67
+ edge.delete do |api|
68
+ api.has_param :child_index, 'int'
69
+ api.has_param :deleted_tags, { list: 'hash' }
70
+ end
71
+ edge.get 'ShadowIgMediaProductTags'
72
+ edge.post 'ShadowIgMediaProductTags' do |api|
73
+ api.has_param :child_index, 'int'
74
+ api.has_param :updated_tags, { list: 'hash' }
75
+ end
76
+ end
77
+
65
78
  end
66
79
  end
@@ -38,12 +38,24 @@ module FacebookAds
38
38
  field :mentioned_media, 'IgMedia'
39
39
  field :name, 'string'
40
40
  field :profile_picture_url, 'string'
41
+ field :shopping_product_tag_eligibility, 'bool'
41
42
  field :shopping_review_status, 'string'
42
43
  field :username, 'string'
43
44
  field :website, 'string'
44
45
  has_no_post
45
46
  has_no_delete
46
47
 
48
+ has_edge :available_catalogs do |edge|
49
+ edge.get
50
+ end
51
+
52
+ has_edge :catalog_product_search do |edge|
53
+ edge.get do |api|
54
+ api.has_param :catalog_id, 'string'
55
+ api.has_param :q, 'string'
56
+ end
57
+ end
58
+
47
59
  has_edge :content_publishing_limit do |edge|
48
60
  edge.get do |api|
49
61
  api.has_param :since, 'datetime'
@@ -78,6 +90,8 @@ module FacebookAds
78
90
  api.has_param :is_carousel_item, 'bool'
79
91
  api.has_param :location_id, 'string'
80
92
  api.has_param :media_type, 'string'
93
+ api.has_param :product_tags, { list: 'hash' }
94
+ api.has_param :share_to_feed, 'bool'
81
95
  api.has_param :thumb_offset, 'string'
82
96
  api.has_param :user_tags, { list: 'hash' }
83
97
  api.has_param :video_url, 'string'
@@ -98,6 +112,16 @@ module FacebookAds
98
112
  end
99
113
  end
100
114
 
115
+ has_edge :product_appeal do |edge|
116
+ edge.get do |api|
117
+ api.has_param :product_id, 'string'
118
+ end
119
+ edge.post do |api|
120
+ api.has_param :appeal_reason, 'string'
121
+ api.has_param :product_id, 'string'
122
+ end
123
+ end
124
+
101
125
  has_edge :recently_searched_hashtags do |edge|
102
126
  edge.get
103
127
  end
@@ -35,15 +35,20 @@ module FacebookAds
35
35
  "comments",
36
36
  "engagement",
37
37
  "exits",
38
+ "follows_from_impressions",
38
39
  "impressions",
39
40
  "likes",
41
+ "navigation",
40
42
  "plays",
43
+ "profile_views_from_impressions",
41
44
  "reach",
42
45
  "replies",
43
46
  "saved",
44
47
  "shares",
45
48
  "taps_back",
46
49
  "taps_forward",
50
+ "total_interactions",
51
+ "total_media_attributed_actions",
47
52
  "video_views",
48
53
  ]
49
54
 
@@ -46,6 +46,13 @@ module FacebookAds
46
46
  field :custom_label_4, 'string'
47
47
  field :custom_label_5, 'string'
48
48
  field :custom_label_6, 'string'
49
+ field :custom_number_0, 'int'
50
+ field :custom_number_1, 'int'
51
+ field :custom_number_2, 'int'
52
+ field :custom_number_3, 'int'
53
+ field :custom_number_4, 'int'
54
+ field :custom_number_5, 'int'
55
+ field :custom_number_6, 'int'
49
56
  field :id, 'string'
50
57
  field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
51
58
  field :images, { list: 'string' }
@@ -26,29 +26,12 @@ 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
-
41
29
  PROJECTION = [
42
30
  "CUBEMAP",
43
31
  "EQUIRECTANGULAR",
44
32
  "HALF_EQUIRECTANGULAR",
45
33
  ]
46
34
 
47
- SOURCE = [
48
- "owner",
49
- "target",
50
- ]
51
-
52
35
  SPATIAL_AUDIO_FORMAT = [
53
36
  "ambiX_4",
54
37
  ]
@@ -72,6 +55,23 @@ module FacebookAds
72
55
  "REGULAR",
73
56
  ]
74
57
 
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
+ SOURCE = [
71
+ "owner",
72
+ "target",
73
+ ]
74
+
75
75
  LIVE_COMMENT_MODERATION_SETTING = [
76
76
  "DEFAULT",
77
77
  "DISCUSSION",
@@ -70,6 +70,11 @@ module FacebookAds
70
70
  field :custom_label_2, 'string'
71
71
  field :custom_label_3, 'string'
72
72
  field :custom_label_4, 'string'
73
+ field :custom_number_0, 'int'
74
+ field :custom_number_1, 'int'
75
+ field :custom_number_2, 'int'
76
+ field :custom_number_3, 'int'
77
+ field :custom_number_4, 'int'
73
78
  field :description, 'string'
74
79
  field :expiration_date, 'string'
75
80
  field :gtin, 'string'
@@ -126,6 +126,7 @@ module FacebookAds
126
126
  "PROFILE_PLUS_MANAGE",
127
127
  "PROFILE_PLUS_MESSAGING",
128
128
  "PROFILE_PLUS_MODERATE",
129
+ "PROFILE_PLUS_MODERATE_DELEGATE_COMMUNITY",
129
130
  "PROFILE_PLUS_REVENUE",
130
131
  "READ_PAGE_MAILBOXES",
131
132
  "VIEW_MONETIZATION_INSIGHTS",
@@ -152,6 +153,7 @@ module FacebookAds
152
153
  "PROFILE_PLUS_MANAGE",
153
154
  "PROFILE_PLUS_MESSAGING",
154
155
  "PROFILE_PLUS_MODERATE",
156
+ "PROFILE_PLUS_MODERATE_DELEGATE_COMMUNITY",
155
157
  "PROFILE_PLUS_REVENUE",
156
158
  "READ_PAGE_MAILBOXES",
157
159
  "VIEW_MONETIZATION_INSIGHTS",
@@ -192,6 +194,60 @@ module FacebookAds
192
194
  "CHAT_TAB",
193
195
  ]
194
196
 
197
+ BACKDATED_TIME_GRANULARITY = [
198
+ "day",
199
+ "hour",
200
+ "min",
201
+ "month",
202
+ "none",
203
+ "year",
204
+ ]
205
+
206
+ CHECKIN_ENTRY_POINT = [
207
+ "BRANDING_CHECKIN",
208
+ "BRANDING_OTHER",
209
+ "BRANDING_PHOTO",
210
+ "BRANDING_STATUS",
211
+ ]
212
+
213
+ FORMATTING = [
214
+ "MARKDOWN",
215
+ "PLAINTEXT",
216
+ ]
217
+
218
+ PLACE_ATTACHMENT_SETTING = [
219
+ "1",
220
+ "2",
221
+ ]
222
+
223
+ POST_SURFACES_BLACKLIST = [
224
+ "1",
225
+ "2",
226
+ "3",
227
+ "4",
228
+ "5",
229
+ ]
230
+
231
+ POSTING_TO_REDSPACE = [
232
+ "disabled",
233
+ "enabled",
234
+ ]
235
+
236
+ TARGET_SURFACE = [
237
+ "STORY",
238
+ "TIMELINE",
239
+ ]
240
+
241
+ UNPUBLISHED_CONTENT_TYPE = [
242
+ "ADS_POST",
243
+ "DRAFT",
244
+ "INLINE_CREATED",
245
+ "PUBLISHED",
246
+ "REVIEWABLE_BRANDED_CONTENT",
247
+ "SCHEDULED",
248
+ "SCHEDULED_RECURRING",
249
+ ]
250
+
195
251
  PUBLISH_STATUS = [
196
252
  "DRAFT",
197
253
  "LIVE",
@@ -220,6 +276,7 @@ module FacebookAds
220
276
  PLATFORM = [
221
277
  "INSTAGRAM",
222
278
  "MESSENGER",
279
+ "WHATSAPP",
223
280
  ]
224
281
 
225
282
  MODEL = [
@@ -259,7 +316,6 @@ module FacebookAds
259
316
  "awards",
260
317
  "bio",
261
318
  "birthday",
262
- "branded_camera",
263
319
  "category",
264
320
  "checkins",
265
321
  "company_overview",
@@ -304,7 +360,6 @@ module FacebookAds
304
360
  "messaging_handovers",
305
361
  "messaging_optins",
306
362
  "messaging_optouts",
307
- "messaging_page_feedback",
308
363
  "messaging_payments",
309
364
  "messaging_policy_enforcement",
310
365
  "messaging_postbacks",
@@ -719,7 +774,7 @@ module FacebookAds
719
774
  api.has_param :show_expired, 'bool'
720
775
  api.has_param :with, { enum: -> { PagePost::WITH }}
721
776
  end
722
- edge.post do |api|
777
+ edge.post 'Page' do |api|
723
778
  api.has_param :actions, 'object'
724
779
  api.has_param :adaptive_type, 'string'
725
780
  api.has_param :album_id, 'string'
@@ -733,10 +788,10 @@ module FacebookAds
733
788
  api.has_param :attached_media, { list: 'object' }
734
789
  api.has_param :audience_exp, 'bool'
735
790
  api.has_param :backdated_time, 'datetime'
736
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
791
+ api.has_param :backdated_time_granularity, { enum: -> { Page::BACKDATED_TIME_GRANULARITY }}
737
792
  api.has_param :call_to_action, 'object'
738
793
  api.has_param :caption, 'string'
739
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
794
+ api.has_param :checkin_entry_point, { enum: -> { Page::CHECKIN_ENTRY_POINT }}
740
795
  api.has_param :child_attachments, { list: 'object' }
741
796
  api.has_param :client_mutation_id, 'string'
742
797
  api.has_param :composer_entry_picker, 'string'
@@ -757,7 +812,7 @@ module FacebookAds
757
812
  api.has_param :expanded_height, 'int'
758
813
  api.has_param :expanded_width, 'int'
759
814
  api.has_param :feed_targeting, 'object'
760
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
815
+ api.has_param :formatting, { enum: -> { Page::FORMATTING }}
761
816
  api.has_param :fun_fact_prompt_id, 'int'
762
817
  api.has_param :fun_fact_toastee_id, 'int'
763
818
  api.has_param :has_nickname, 'bool'
@@ -794,11 +849,11 @@ module FacebookAds
794
849
  api.has_param :page_recommendation, 'string'
795
850
  api.has_param :picture, 'string'
796
851
  api.has_param :place, 'object'
797
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
852
+ api.has_param :place_attachment_setting, { enum: -> { Page::PLACE_ATTACHMENT_SETTING }}
798
853
  api.has_param :place_list, 'string'
799
854
  api.has_param :place_list_data, { list: 'string' }
800
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
801
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
855
+ api.has_param :post_surfaces_blacklist, { list: { enum: -> { Page::POST_SURFACES_BLACKLIST }} }
856
+ api.has_param :posting_to_redspace, { enum: -> { Page::POSTING_TO_REDSPACE }}
802
857
  api.has_param :privacy, 'string'
803
858
  api.has_param :prompt_id, 'string'
804
859
  api.has_param :prompt_tracking_string, 'string'
@@ -817,7 +872,7 @@ module FacebookAds
817
872
  api.has_param :sponsor_relationship, 'int'
818
873
  api.has_param :suggested_place_id, 'object'
819
874
  api.has_param :tags, { list: 'int' }
820
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
875
+ api.has_param :target_surface, { enum: -> { Page::TARGET_SURFACE }}
821
876
  api.has_param :targeting, 'object'
822
877
  api.has_param :text_format_metadata, 'string'
823
878
  api.has_param :text_format_preset_id, 'string'
@@ -827,7 +882,7 @@ module FacebookAds
827
882
  api.has_param :time_since_original_post, 'int'
828
883
  api.has_param :title, 'string'
829
884
  api.has_param :tracking_info, 'string'
830
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
885
+ api.has_param :unpublished_content_type, { enum: -> { Page::UNPUBLISHED_CONTENT_TYPE }}
831
886
  api.has_param :user_selected_tags, 'bool'
832
887
  api.has_param :video_start_time_ms, 'int'
833
888
  api.has_param :viewer_coordinates, 'object'
@@ -918,6 +973,10 @@ module FacebookAds
918
973
  end
919
974
  end
920
975
 
976
+ has_edge :invoice_access_bank_account do |edge|
977
+ edge.get
978
+ end
979
+
921
980
  has_edge :leadgen_forms do |edge|
922
981
  edge.get 'LeadgenForm'
923
982
  edge.post 'LeadgenForm' do |api|
@@ -957,6 +1016,7 @@ module FacebookAds
957
1016
  api.has_param :description, 'string'
958
1017
  api.has_param :enable_backup_ingest, 'bool'
959
1018
  api.has_param :encoding_settings, 'string'
1019
+ api.has_param :event_params, 'object'
960
1020
  api.has_param :fisheye_video_cropped, 'bool'
961
1021
  api.has_param :front_z_rotation, 'double'
962
1022
  api.has_param :game_show, 'hash'
@@ -1065,33 +1125,6 @@ module FacebookAds
1065
1125
  end
1066
1126
  end
1067
1127
 
1068
- has_edge :nativeoffers do |edge|
1069
- edge.get 'NativeOffer'
1070
- edge.post 'NativeOffer' do |api|
1071
- api.has_param :barcode_photo, 'int'
1072
- api.has_param :barcode_type, { enum: -> { NativeOffer::BARCODE_TYPE }}
1073
- api.has_param :barcode_value, 'string'
1074
- api.has_param :block_reshares, 'bool'
1075
- api.has_param :commerce_product_item, 'string'
1076
- api.has_param :commerce_store, 'string'
1077
- api.has_param :commerce_store_collection, 'string'
1078
- api.has_param :details, 'string'
1079
- api.has_param :disable_location, 'bool'
1080
- api.has_param :discounts, { list: 'object' }
1081
- api.has_param :expiration_time, 'datetime'
1082
- api.has_param :instore_code, 'string'
1083
- api.has_param :location_type, { enum: -> { NativeOffer::LOCATION_TYPE }}
1084
- api.has_param :max_save_count, 'int'
1085
- api.has_param :online_code, 'string'
1086
- api.has_param :page_set_id, 'string'
1087
- api.has_param :redemption_code, 'string'
1088
- api.has_param :redemption_link, 'string'
1089
- api.has_param :terms, 'string'
1090
- api.has_param :unique_barcodes, 'int'
1091
- api.has_param :unique_codes, 'int'
1092
- end
1093
- end
1094
-
1095
1128
  has_edge :nlp_configs do |edge|
1096
1129
  edge.post 'Page' do |api|
1097
1130
  api.has_param :api_version, 'object'
@@ -1383,22 +1416,22 @@ module FacebookAds
1383
1416
  api.has_param :selected_rule_id, 'string'
1384
1417
  api.has_param :source, { enum: -> { VideoCopyrightRule::SOURCE }}
1385
1418
  end
1386
- edge.post do |api|
1419
+ edge.post 'VideoCopyrightRule' do |api|
1387
1420
  api.has_param :condition_groups, { list: 'object' }
1388
1421
  api.has_param :name, 'string'
1389
1422
  end
1390
1423
  end
1391
1424
 
1392
1425
  has_edge :video_copyrights do |edge|
1393
- edge.post do |api|
1426
+ edge.post 'VideoCopyright' do |api|
1394
1427
  api.has_param :attribution_id, 'string'
1395
- api.has_param :content_category, { enum: %w{episode movie web }}
1428
+ api.has_param :content_category, { enum: -> { VideoCopyright::CONTENT_CATEGORY }}
1396
1429
  api.has_param :copyright_content_id, 'string'
1397
1430
  api.has_param :excluded_ownership_countries, { list: 'string' }
1398
1431
  api.has_param :excluded_ownership_segments, { list: 'object' }
1399
1432
  api.has_param :is_reference_disabled, 'bool'
1400
1433
  api.has_param :is_reference_video, 'bool'
1401
- api.has_param :monitoring_type, { enum: %w{AUDIO_ONLY VIDEO_AND_AUDIO VIDEO_ONLY }}
1434
+ api.has_param :monitoring_type, { enum: -> { VideoCopyright::MONITORING_TYPE }}
1402
1435
  api.has_param :ownership_countries, { list: 'string' }
1403
1436
  api.has_param :rule_id, 'string'
1404
1437
  api.has_param :tags, { list: 'string' }
@@ -1516,6 +1549,9 @@ module FacebookAds
1516
1549
  has_edge :visitor_posts do |edge|
1517
1550
  edge.get 'PagePost' do |api|
1518
1551
  api.has_param :include_hidden, 'bool'
1552
+ api.has_param :limit, 'int'
1553
+ api.has_param :show_expired, 'bool'
1554
+ api.has_param :with, { enum: -> { PagePost::WITH }}
1519
1555
  end
1520
1556
  end
1521
1557