facebookbusiness 0.3.2.12 → 0.3.2.13

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +26 -26
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +282 -281
  4. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +13 -13
  5. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +2 -0
  6. data/lib/facebook_ads/ad_objects/ad_creative.rb +11 -9
  7. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
  8. data/lib/facebook_ads/ad_objects/{legacy_business_ad_account_request.rb → ad_creative_optimization_spec.rb} +5 -4
  9. data/lib/facebook_ads/ad_objects/ad_monetization_property.rb +1 -1
  10. data/lib/facebook_ads/ad_objects/ad_report_run.rb +5 -5
  11. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +3 -3
  12. data/lib/facebook_ads/ad_objects/ad_rule.rb +1 -1
  13. data/lib/facebook_ads/ad_objects/ad_set.rb +25 -25
  14. data/lib/facebook_ads/ad_objects/ad_study.rb +13 -13
  15. data/lib/facebook_ads/ad_objects/ad_video.rb +64 -61
  16. data/lib/facebook_ads/ad_objects/ads_insights.rb +0 -3
  17. data/lib/facebook_ads/ad_objects/ads_pixel.rb +5 -5
  18. data/lib/facebook_ads/ad_objects/album.rb +49 -49
  19. data/lib/facebook_ads/ad_objects/application.rb +99 -122
  20. data/lib/facebook_ads/ad_objects/business.rb +94 -93
  21. data/lib/facebook_ads/ad_objects/calibrator_existing_rule.rb +1 -1
  22. data/lib/facebook_ads/ad_objects/campaign.rb +21 -21
  23. data/lib/facebook_ads/ad_objects/comment.rb +5 -5
  24. data/lib/facebook_ads/ad_objects/custom_audience.rb +34 -34
  25. data/lib/facebook_ads/ad_objects/custom_conversion.rb +4 -4
  26. data/lib/facebook_ads/ad_objects/direct_deal.rb +1 -1
  27. data/lib/facebook_ads/ad_objects/event.rb +188 -188
  28. data/lib/facebook_ads/ad_objects/event_source_group.rb +1 -1
  29. data/lib/facebook_ads/ad_objects/extended_credit.rb +3 -3
  30. data/lib/facebook_ads/ad_objects/group.rb +217 -217
  31. data/lib/facebook_ads/ad_objects/hotel.rb +6 -6
  32. data/lib/facebook_ads/ad_objects/ig_comment.rb +1 -1
  33. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -1
  34. data/lib/facebook_ads/ad_objects/ig_user.rb +6 -6
  35. data/lib/facebook_ads/ad_objects/instagram_user.rb +2 -2
  36. data/lib/facebook_ads/ad_objects/instant_article.rb +1 -1
  37. data/lib/facebook_ads/ad_objects/leadgen_form.rb +2 -2
  38. data/lib/facebook_ads/ad_objects/life_event.rb +7 -7
  39. data/lib/facebook_ads/ad_objects/link.rb +11 -11
  40. data/lib/facebook_ads/ad_objects/live_encoder.rb +20 -20
  41. data/lib/facebook_ads/ad_objects/live_video.rb +5 -5
  42. data/lib/facebook_ads/ad_objects/native_offer.rb +9 -9
  43. data/lib/facebook_ads/ad_objects/native_offer_view.rb +3 -3
  44. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +16 -16
  45. data/lib/facebook_ads/ad_objects/open_graph_object.rb +47 -47
  46. data/lib/facebook_ads/ad_objects/owned_domain.rb +0 -1
  47. data/lib/facebook_ads/ad_objects/page.rb +405 -407
  48. data/lib/facebook_ads/ad_objects/page_post.rb +24 -23
  49. data/lib/facebook_ads/ad_objects/partner_integration_linked.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/permission.rb +0 -1
  51. data/lib/facebook_ads/ad_objects/photo.rb +56 -56
  52. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -1
  53. data/lib/facebook_ads/ad_objects/post.rb +61 -60
  54. data/lib/facebook_ads/ad_objects/product_catalog.rb +153 -133
  55. data/lib/facebook_ads/ad_objects/product_group.rb +32 -32
  56. data/lib/facebook_ads/ad_objects/product_item.rb +20 -20
  57. data/lib/facebook_ads/ad_objects/profile.rb +2 -2
  58. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +9 -10
  59. data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +1 -1
  60. data/lib/facebook_ads/ad_objects/split_test_config.rb +0 -1
  61. data/lib/facebook_ads/ad_objects/status.rb +11 -11
  62. data/lib/facebook_ads/ad_objects/unified_thread.rb +5 -5
  63. data/lib/facebook_ads/ad_objects/user.rb +307 -305
  64. data/lib/facebook_ads/ad_objects/user_invitable_friend.rb +2 -2
  65. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +2 -2
  66. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -0
  67. data/lib/facebook_ads/ad_objects/video_game_show.rb +2 -2
  68. data/lib/facebook_ads/ad_objects/video_list.rb +6 -6
  69. data/lib/facebook_ads/version.rb +1 -1
  70. metadata +3 -5
  71. data/lib/facebook_ads/ad_objects/ads_post.rb +0 -56
  72. data/lib/facebook_ads/ad_objects/favorite_request.rb +0 -69
@@ -77,23 +77,23 @@ module FacebookAds
77
77
  has_edge :comments do |edge|
78
78
  edge.get 'Comment' do |api|
79
79
  api.has_param :filter, { enum: -> { Comment::FILTER }}
80
- api.has_param :order, { enum: -> { Comment::ORDER }}
81
80
  api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
81
+ api.has_param :order, { enum: -> { Comment::ORDER }}
82
82
  api.has_param :since, 'datetime'
83
83
  end
84
84
  end
85
85
 
86
86
  has_edge :likes do |edge|
87
87
  edge.delete do |api|
88
- api.has_param :tracking, 'string'
89
- api.has_param :nectar_module, 'string'
90
88
  api.has_param :feedback_source, 'string'
89
+ api.has_param :nectar_module, 'string'
90
+ api.has_param :tracking, 'string'
91
91
  end
92
92
  edge.get 'Profile'
93
93
  edge.post 'Comment' do |api|
94
- api.has_param :tracking, 'string'
95
- api.has_param :nectar_module, 'string'
96
94
  api.has_param :feedback_source, 'string'
95
+ api.has_param :nectar_module, 'string'
96
+ api.has_param :tracking, 'string'
97
97
  end
98
98
  end
99
99
 
@@ -111,36 +111,36 @@ module FacebookAds
111
111
  field :time_content_updated, 'int'
112
112
  field :time_created, 'int'
113
113
  field :time_updated, 'int'
114
- field :creation_params, 'hash'
115
- field :parent_audience_id, 'int'
116
- field :tags, { list: 'string' }
117
- field :associated_audience_id, 'int'
118
- field :is_household_exclusion, 'bool'
114
+ field :accountid, 'string'
115
+ field :additionalmetadata, 'string'
119
116
  field :allowed_domains, { list: 'string' }
120
- field :partner_reference_key, 'string'
121
- field :prefill, 'bool'
122
- field :inclusions, { list: 'object' }
123
- field :exclusions, { list: 'object' }
117
+ field :associated_audience_id, 'int'
118
+ field :claim_objective, { enum: -> { CLAIM_OBJECTIVE }}
119
+ field :content_type, { enum: -> { CONTENT_TYPE }}
124
120
  field :countries, 'string'
125
- field :origin_audience_id, 'string'
121
+ field :creation_params, 'hash'
122
+ field :dataset_id, 'string'
126
123
  field :details, 'string'
127
- field :source, 'string'
128
- field :isprivate, 'bool'
129
- field :additionalmetadata, 'string'
130
- field :minage, 'int'
131
- field :maxage, 'int'
124
+ field :enable_fetch_or_create, 'bool'
125
+ field :event_source_group, 'string'
126
+ field :event_sources, { list: 'hash' }
127
+ field :exclusions, { list: 'object' }
132
128
  field :expectedsize, 'int'
133
129
  field :gender, 'string'
130
+ field :inclusions, { list: 'object' }
131
+ field :isprivate, 'bool'
132
+ field :is_household_exclusion, 'bool'
133
+ field :maxage, 'int'
134
+ field :minage, 'int'
135
+ field :origin_audience_id, 'string'
136
+ field :parent_audience_id, 'int'
134
137
  field :partnerid, 'string'
135
- field :accountid, 'string'
136
- field :claim_objective, { enum: -> { CLAIM_OBJECTIVE }}
137
- field :content_type, { enum: -> { CONTENT_TYPE }}
138
- field :event_source_group, 'string'
138
+ field :partner_reference_key, 'string'
139
+ field :prefill, 'bool'
139
140
  field :product_set_id, 'string'
140
- field :event_sources, { list: 'hash' }
141
- field :enable_fetch_or_create, 'bool'
141
+ field :source, 'string'
142
+ field :tags, { list: 'string' }
142
143
  field :video_group_ids, { list: 'string' }
143
- field :dataset_id, 'string'
144
144
 
145
145
  has_edge :adaccounts do |edge|
146
146
  edge.delete do |api|
@@ -152,8 +152,8 @@ module FacebookAds
152
152
  edge.post 'CustomAudience' do |api|
153
153
  api.has_param :adaccounts, { list: 'string' }
154
154
  api.has_param :permissions, 'string'
155
- api.has_param :replace, 'bool'
156
155
  api.has_param :relationship_type, { list: 'string' }
156
+ api.has_param :replace, 'bool'
157
157
  end
158
158
  end
159
159
 
@@ -177,12 +177,12 @@ module FacebookAds
177
177
  has_edge :data do |edge|
178
178
  edge.post do |api|
179
179
  api.has_param :action_type, { enum: %w{add match optout remove }}
180
+ api.has_param :batch_seq, 'int'
180
181
  api.has_param :encoding, { enum: %w{md5 plain sha256 }}
181
- api.has_param :entry_type, { enum: %w{0 1 2 3 4 5 6 }}
182
182
  api.has_param :entries, { list: 'string' }
183
- api.has_param :session_id, 'int'
184
- api.has_param :batch_seq, 'int'
183
+ api.has_param :entry_type, { enum: %w{0 1 2 3 4 5 6 }}
185
184
  api.has_param :last_batch_flag, 'bool'
185
+ api.has_param :session_id, 'int'
186
186
  end
187
187
  end
188
188
 
@@ -202,27 +202,27 @@ module FacebookAds
202
202
 
203
203
  has_edge :upload do |edge|
204
204
  edge.delete do |api|
205
- api.has_param :session, 'object'
206
- api.has_param :payload, 'object'
207
205
  api.has_param :namespace, 'string'
206
+ api.has_param :payload, 'object'
207
+ api.has_param :session, 'object'
208
208
  end
209
209
  edge.post 'CustomAudience' do |api|
210
- api.has_param :session, 'object'
211
- api.has_param :payload, 'object'
212
210
  api.has_param :namespace, 'string'
211
+ api.has_param :payload, 'object'
212
+ api.has_param :session, 'object'
213
213
  end
214
214
  end
215
215
 
216
216
  has_edge :users do |edge|
217
217
  edge.delete do |api|
218
- api.has_param :session, 'object'
219
- api.has_param :payload, 'object'
220
218
  api.has_param :namespace, 'string'
219
+ api.has_param :payload, 'object'
220
+ api.has_param :session, 'object'
221
221
  end
222
222
  edge.post 'CustomAudience' do |api|
223
- api.has_param :session, 'object'
224
- api.has_param :payload, 'object'
225
223
  api.has_param :namespace, 'string'
224
+ api.has_param :payload, 'object'
225
+ api.has_param :session, 'object'
226
226
  end
227
227
  end
228
228
 
@@ -68,15 +68,15 @@ module FacebookAds
68
68
  field :pixel, 'AdsPixel'
69
69
  field :retention_days, 'int'
70
70
  field :rule, 'string'
71
- field :event_source_id, 'string'
72
71
  field :advanced_rule, 'string'
72
+ field :event_source_id, 'string'
73
73
  field :custom_conversion_id, 'string'
74
74
 
75
75
  has_edge :activities do |edge|
76
76
  edge.get 'CustomConversionActivities' do |api|
77
- api.has_param :start_time, 'datetime'
78
77
  api.has_param :end_time, 'datetime'
79
78
  api.has_param :event_type, { enum: -> { CustomConversionActivities::EVENT_TYPE }}
79
+ api.has_param :start_time, 'datetime'
80
80
  end
81
81
  end
82
82
 
@@ -96,9 +96,9 @@ module FacebookAds
96
96
 
97
97
  has_edge :stats do |edge|
98
98
  edge.get 'CustomConversionStatsResult' do |api|
99
- api.has_param :start_time, 'datetime'
100
- api.has_param :end_time, 'datetime'
101
99
  api.has_param :aggregation, { enum: -> { CustomConversionStatsResult::AGGREGATION }}
100
+ api.has_param :end_time, 'datetime'
101
+ api.has_param :start_time, 'datetime'
102
102
  end
103
103
  end
104
104
 
@@ -38,7 +38,7 @@ module FacebookAds
38
38
 
39
39
 
40
40
  field :adbreaks_enabled, 'bool'
41
- field :adset, 'object'
41
+ field :adset, 'AdSet'
42
42
  field :advertiser, 'object'
43
43
  field :advertiser_lead_email, 'string'
44
44
  field :advertiser_page, 'string'
@@ -98,17 +98,17 @@ module FacebookAds
98
98
  has_edge :comments do |edge|
99
99
  edge.get 'NullNode'
100
100
  edge.post 'Comment' do |api|
101
- api.has_param :object_id, 'string'
102
- api.has_param :parent_comment_id, 'object'
103
- api.has_param :nectar_module, 'string'
104
101
  api.has_param :attachment_id, 'string'
105
- api.has_param :attachment_url, 'string'
106
102
  api.has_param :attachment_share_url, 'string'
107
- api.has_param :feedback_source, 'string'
103
+ api.has_param :attachment_url, 'string'
104
+ api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
108
105
  api.has_param :facepile_mentioned_ids, { list: 'string' }
106
+ api.has_param :feedback_source, 'string'
109
107
  api.has_param :is_offline, 'bool'
110
- api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
111
108
  api.has_param :message, 'string'
109
+ api.has_param :nectar_module, 'string'
110
+ api.has_param :object_id, 'string'
111
+ api.has_param :parent_comment_id, 'object'
112
112
  api.has_param :text, 'string'
113
113
  api.has_param :tracking, 'string'
114
114
  end
@@ -123,118 +123,118 @@ module FacebookAds
123
123
  has_edge :feed do |edge|
124
124
  edge.get 'NullNode'
125
125
  edge.post do |api|
126
- api.has_param :picture, 'string'
127
- api.has_param :name, 'string'
128
- api.has_param :link, 'string'
129
- api.has_param :caption, 'string'
130
- api.has_param :description, 'string'
131
- api.has_param :quote, 'string'
132
- api.has_param :source, 'string'
133
- api.has_param :properties, 'object'
134
- api.has_param :object_attachment, 'string'
135
- api.has_param :height, 'int'
136
- api.has_param :width, 'int'
137
- api.has_param :expanded_height, 'int'
138
- api.has_param :expanded_width, 'int'
139
- api.has_param :referral_id, 'string'
140
- api.has_param :thumbnail, 'file'
141
- api.has_param :image_crops, 'hash'
142
- api.has_param :call_to_action, 'object'
143
- api.has_param :time_since_original_post, 'int'
144
- api.has_param :client_mutation_id, 'string'
145
- api.has_param :privacy, 'string'
146
- api.has_param :composer_session_id, 'string'
147
- api.has_param :content_attachment, 'string'
148
126
  api.has_param :actions, 'object'
149
- api.has_param :targeting, 'object'
150
- api.has_param :feed_targeting, 'object'
151
- api.has_param :ref, { list: 'string' }
152
- api.has_param :tags, { list: 'int' }
153
- api.has_param :place, 'object'
154
- api.has_param :is_explicit_location, 'bool'
155
- api.has_param :og_action_type_id, 'string'
156
- api.has_param :og_object_id, 'string'
157
- api.has_param :og_phrase, 'string'
158
- api.has_param :og_icon_id, 'string'
159
- api.has_param :og_set_profile_badge, 'bool'
160
- api.has_param :og_suggestion_mechanism, 'string'
161
- api.has_param :og_hide_object_attachment, 'bool'
162
- api.has_param :backdated_time, 'datetime'
163
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
164
- api.has_param :published, 'bool'
165
- api.has_param :scheduled_publish_time, 'datetime'
166
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED SCHEDULED }}
167
- api.has_param :application_id, 'string'
168
- api.has_param :proxied_app_id, 'string'
169
- api.has_param :ios_bundle_id, 'string'
170
- api.has_param :android_key_hash, 'string'
171
- api.has_param :user_selected_tags, 'bool'
172
- api.has_param :nectar_module, 'string'
173
- api.has_param :manual_privacy, 'bool'
174
- api.has_param :audience_exp, 'bool'
175
- api.has_param :coordinates, 'object'
176
- api.has_param :is_explicit_share, 'bool'
177
- api.has_param :is_photo_container, 'bool'
178
- api.has_param :implicit_with_tags, { list: 'int' }
179
- api.has_param :child_attachments, { list: 'object' }
180
- api.has_param :suggested_place_id, 'object'
181
- api.has_param :attach_place_suggestion, 'bool'
182
- api.has_param :viewer_coordinates, 'object'
183
- api.has_param :album_id, 'string'
184
- api.has_param :multi_share_optimized, 'bool'
185
- api.has_param :multi_share_end_card, 'bool'
186
- api.has_param :title, 'string'
187
- api.has_param :attached_media, { list: 'object' }
188
- api.has_param :home_checkin_city_id, 'object'
189
- api.has_param :text_only_place, 'string'
190
- api.has_param :connection_class, 'string'
191
- api.has_param :associated_id, 'string'
192
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
193
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
194
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
195
- api.has_param :is_backout_draft, 'bool'
196
- api.has_param :sponsor_id, 'string'
197
- api.has_param :direct_share_status, 'int'
198
- api.has_param :sponsor_relationship, 'int'
199
- api.has_param :referenceable_image_ids, { list: 'string' }
200
- api.has_param :prompt_id, 'string'
201
- api.has_param :prompt_tracking_string, 'string'
202
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
203
- api.has_param :tracking_info, 'string'
204
- api.has_param :text_format_preset_id, 'string'
205
- api.has_param :cta_link, 'string'
206
- api.has_param :cta_type, 'string'
207
- api.has_param :place_list_data, { list: 'string' }
208
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
209
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
210
127
  api.has_param :adaptive_type, 'string'
128
+ api.has_param :album_id, 'string'
129
+ api.has_param :android_key_hash, 'string'
211
130
  api.has_param :animated_effect_id, 'int'
131
+ api.has_param :application_id, 'string'
212
132
  api.has_param :asked_fun_fact_prompt_id, 'int'
213
133
  api.has_param :asset3d_id, 'int'
134
+ api.has_param :associated_id, 'string'
135
+ api.has_param :attach_place_suggestion, 'bool'
136
+ api.has_param :attached_media, { list: 'object' }
137
+ api.has_param :audience_exp, 'bool'
138
+ api.has_param :backdated_time, 'datetime'
139
+ api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
140
+ api.has_param :call_to_action, 'object'
141
+ api.has_param :caption, 'string'
142
+ api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
143
+ api.has_param :child_attachments, { list: 'object' }
144
+ api.has_param :client_mutation_id, 'string'
214
145
  api.has_param :composer_entry_picker, 'string'
215
146
  api.has_param :composer_entry_point, 'string'
216
147
  api.has_param :composer_entry_time, 'int'
217
148
  api.has_param :composer_session_events_log, 'string'
149
+ api.has_param :composer_session_id, 'string'
218
150
  api.has_param :composer_source_surface, 'string'
219
151
  api.has_param :composer_type, 'string'
152
+ api.has_param :connection_class, 'string'
153
+ api.has_param :content_attachment, 'string'
154
+ api.has_param :coordinates, 'object'
155
+ api.has_param :cta_link, 'string'
156
+ api.has_param :cta_type, 'string'
157
+ api.has_param :description, 'string'
158
+ api.has_param :direct_share_status, 'int'
159
+ api.has_param :expanded_height, 'int'
160
+ api.has_param :expanded_width, 'int'
161
+ api.has_param :feed_targeting, 'object'
162
+ api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
220
163
  api.has_param :fun_fact_prompt_id, 'int'
221
164
  api.has_param :fun_fact_toastee_id, 'int'
222
- api.has_param :is_group_linking_post, 'bool'
223
165
  api.has_param :has_nickname, 'bool'
166
+ api.has_param :height, 'int'
224
167
  api.has_param :holiday_card, 'string'
168
+ api.has_param :home_checkin_city_id, 'object'
169
+ api.has_param :image_crops, 'hash'
170
+ api.has_param :implicit_with_tags, { list: 'int' }
225
171
  api.has_param :instant_game_entry_point_data, 'string'
172
+ api.has_param :ios_bundle_id, 'string'
173
+ api.has_param :is_backout_draft, 'bool'
226
174
  api.has_param :is_boost_intended, 'bool'
175
+ api.has_param :is_explicit_location, 'bool'
176
+ api.has_param :is_explicit_share, 'bool'
177
+ api.has_param :is_group_linking_post, 'bool'
178
+ api.has_param :is_photo_container, 'bool'
179
+ api.has_param :link, 'string'
227
180
  api.has_param :location_source_id, 'string'
181
+ api.has_param :manual_privacy, 'bool'
228
182
  api.has_param :message, 'string'
183
+ api.has_param :multi_share_end_card, 'bool'
184
+ api.has_param :multi_share_optimized, 'bool'
185
+ api.has_param :name, 'string'
186
+ api.has_param :nectar_module, 'string'
187
+ api.has_param :object_attachment, 'string'
229
188
  api.has_param :offer_like_post_id, 'int'
189
+ api.has_param :og_action_type_id, 'string'
190
+ api.has_param :og_hide_object_attachment, 'bool'
191
+ api.has_param :og_icon_id, 'string'
192
+ api.has_param :og_object_id, 'string'
193
+ api.has_param :og_phrase, 'string'
194
+ api.has_param :og_set_profile_badge, 'bool'
195
+ api.has_param :og_suggestion_mechanism, 'string'
230
196
  api.has_param :page_recommendation, 'string'
197
+ api.has_param :picture, 'string'
198
+ api.has_param :place, 'object'
199
+ api.has_param :place_attachment_setting, { enum: %w{1 2 }}
231
200
  api.has_param :place_list, 'string'
201
+ api.has_param :place_list_data, { list: 'string' }
202
+ api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
203
+ api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
204
+ api.has_param :privacy, 'string'
205
+ api.has_param :prompt_id, 'string'
206
+ api.has_param :prompt_tracking_string, 'string'
207
+ api.has_param :properties, 'object'
208
+ api.has_param :proxied_app_id, 'string'
232
209
  api.has_param :publish_event_id, 'int'
210
+ api.has_param :published, 'bool'
211
+ api.has_param :quote, 'string'
233
212
  api.has_param :react_mode_metadata, 'string'
213
+ api.has_param :ref, { list: 'string' }
214
+ api.has_param :referenceable_image_ids, { list: 'string' }
215
+ api.has_param :referral_id, 'string'
234
216
  api.has_param :sales_promo_id, 'int'
217
+ api.has_param :scheduled_publish_time, 'datetime'
218
+ api.has_param :source, 'string'
219
+ api.has_param :sponsor_id, 'string'
220
+ api.has_param :sponsor_relationship, 'int'
221
+ api.has_param :suggested_place_id, 'object'
222
+ api.has_param :tags, { list: 'int' }
223
+ api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
224
+ api.has_param :targeting, 'object'
235
225
  api.has_param :text_format_metadata, 'string'
226
+ api.has_param :text_format_preset_id, 'string'
227
+ api.has_param :text_only_place, 'string'
236
228
  api.has_param :throwback_camera_roll_media, 'string'
229
+ api.has_param :thumbnail, 'file'
230
+ api.has_param :time_since_original_post, 'int'
231
+ api.has_param :title, 'string'
232
+ api.has_param :tracking_info, 'string'
233
+ api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED SCHEDULED }}
234
+ api.has_param :user_selected_tags, 'bool'
237
235
  api.has_param :video_start_time_ms, 'int'
236
+ api.has_param :viewer_coordinates, 'object'
237
+ api.has_param :width, 'int'
238
238
  end
239
239
  end
240
240
 
@@ -247,28 +247,28 @@ module FacebookAds
247
247
  has_edge :live_videos do |edge|
248
248
  edge.get 'NullNode'
249
249
  edge.post 'LiveVideo' do |api|
250
- api.has_param :title, 'string'
251
- api.has_param :description, 'string'
252
- api.has_param :save_vod, 'bool'
253
- api.has_param :published, 'bool'
254
- api.has_param :status, { enum: -> { LiveVideo::STATUS }}
255
- api.has_param :privacy, 'string'
256
- api.has_param :stop_on_delete_stream, 'bool'
257
- api.has_param :stream_type, { enum: -> { LiveVideo::STREAM_TYPE }}
250
+ api.has_param :attribution_app_id, 'string'
258
251
  api.has_param :content_tags, { list: 'string' }
259
- api.has_param :is_spherical, 'bool'
252
+ api.has_param :description, 'string'
253
+ api.has_param :encoding_settings, 'string'
254
+ api.has_param :fisheye_video_cropped, 'bool'
255
+ api.has_param :front_z_rotation, 'double'
260
256
  api.has_param :is_audio_only, 'bool'
257
+ api.has_param :is_spherical, 'bool'
258
+ api.has_param :live_encoders, { list: 'string' }
259
+ api.has_param :original_fov, 'int'
261
260
  api.has_param :planned_start_time, 'int'
262
- api.has_param :schedule_custom_profile_image, 'file'
261
+ api.has_param :privacy, 'string'
263
262
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
263
+ api.has_param :published, 'bool'
264
+ api.has_param :save_vod, 'bool'
265
+ api.has_param :schedule_custom_profile_image, 'file'
264
266
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
265
- api.has_param :encoding_settings, 'string'
266
- api.has_param :live_encoders, { list: 'string' }
267
- api.has_param :original_fov, 'int'
268
- api.has_param :fisheye_video_cropped, 'bool'
269
- api.has_param :front_z_rotation, 'double'
270
- api.has_param :attribution_app_id, 'string'
267
+ api.has_param :status, { enum: -> { LiveVideo::STATUS }}
271
268
  api.has_param :stereoscopic_mode, { enum: -> { LiveVideo::STEREOSCOPIC_MODE }}
269
+ api.has_param :stop_on_delete_stream, 'bool'
270
+ api.has_param :stream_type, { enum: -> { LiveVideo::STREAM_TYPE }}
271
+ api.has_param :title, 'string'
272
272
  end
273
273
  end
274
274
 
@@ -288,56 +288,56 @@ module FacebookAds
288
288
  edge.get 'NullNode'
289
289
  edge.post 'Photo' do |api|
290
290
  api.has_param :aid, 'string'
291
+ api.has_param :allow_spherical_photo, 'bool'
291
292
  api.has_param :alt_text_custom, 'string'
293
+ api.has_param :android_key_hash, 'string'
294
+ api.has_param :application_id, 'string'
295
+ api.has_param :attempt, 'int'
296
+ api.has_param :audience_exp, 'bool'
297
+ api.has_param :backdated_time, 'datetime'
298
+ api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
292
299
  api.has_param :caption, 'string'
293
- api.has_param :url, 'string'
294
- api.has_param :uid, 'int'
295
- api.has_param :profile_id, 'int'
296
- api.has_param :target_id, 'int'
297
- api.has_param :vault_image_id, 'string'
298
- api.has_param :tags, { list: 'object' }
299
- api.has_param :place, 'object'
300
- api.has_param :is_explicit_place, 'bool'
300
+ api.has_param :composer_session_id, 'string'
301
+ api.has_param :direct_share_status, 'int'
302
+ api.has_param :feed_targeting, 'object'
303
+ api.has_param :filter_type, 'int'
304
+ api.has_param :full_res_is_coming_later, 'bool'
305
+ api.has_param :initial_view_heading_override_degrees, 'int'
306
+ api.has_param :initial_view_pitch_override_degrees, 'int'
307
+ api.has_param :initial_view_vertical_fov_override_degrees, 'int'
308
+ api.has_param :ios_bundle_id, 'string'
301
309
  api.has_param :is_explicit_location, 'bool'
310
+ api.has_param :is_explicit_place, 'bool'
311
+ api.has_param :manual_privacy, 'bool'
312
+ api.has_param :message, 'string'
313
+ api.has_param :name, 'string'
314
+ api.has_param :no_story, 'bool'
315
+ api.has_param :offline_id, 'int'
302
316
  api.has_param :og_action_type_id, 'string'
317
+ api.has_param :og_icon_id, 'string'
303
318
  api.has_param :og_object_id, 'string'
304
319
  api.has_param :og_phrase, 'string'
305
- api.has_param :og_icon_id, 'string'
306
- api.has_param :og_suggestion_mechanism, 'string'
307
320
  api.has_param :og_set_profile_badge, 'bool'
321
+ api.has_param :og_suggestion_mechanism, 'string'
322
+ api.has_param :place, 'object'
308
323
  api.has_param :privacy, 'string'
309
- api.has_param :targeting, 'object'
310
- api.has_param :feed_targeting, 'object'
311
- api.has_param :no_story, 'bool'
324
+ api.has_param :profile_id, 'int'
325
+ api.has_param :proxied_app_id, 'string'
312
326
  api.has_param :published, 'bool'
313
- api.has_param :offline_id, 'int'
314
- api.has_param :attempt, 'int'
315
- api.has_param :backdated_time, 'datetime'
316
- api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
317
- api.has_param :time_since_original_post, 'int'
318
- api.has_param :filter_type, 'int'
319
- api.has_param :scheduled_publish_time, 'int'
320
- api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
321
- api.has_param :full_res_is_coming_later, 'bool'
322
- api.has_param :composer_session_id, 'string'
323
327
  api.has_param :qn, 'string'
324
- api.has_param :manual_privacy, 'bool'
325
- api.has_param :audience_exp, 'bool'
326
- api.has_param :proxied_app_id, 'string'
327
- api.has_param :ios_bundle_id, 'string'
328
- api.has_param :android_key_hash, 'string'
329
- api.has_param :user_selected_tags, 'bool'
330
- api.has_param :allow_spherical_photo, 'bool'
328
+ api.has_param :scheduled_publish_time, 'int'
331
329
  api.has_param :spherical_metadata, 'hash'
332
- api.has_param :initial_view_heading_override_degrees, 'int'
333
- api.has_param :initial_view_pitch_override_degrees, 'int'
334
- api.has_param :initial_view_vertical_fov_override_degrees, 'int'
335
330
  api.has_param :sponsor_id, 'string'
336
- api.has_param :direct_share_status, 'int'
337
331
  api.has_param :sponsor_relationship, 'int'
338
- api.has_param :application_id, 'string'
339
- api.has_param :name, 'string'
340
- api.has_param :message, 'string'
332
+ api.has_param :tags, { list: 'object' }
333
+ api.has_param :target_id, 'int'
334
+ api.has_param :targeting, 'object'
335
+ api.has_param :time_since_original_post, 'int'
336
+ api.has_param :uid, 'int'
337
+ api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
338
+ api.has_param :url, 'string'
339
+ api.has_param :user_selected_tags, 'bool'
340
+ api.has_param :vault_image_id, 'string'
341
341
  end
342
342
  end
343
343
 
@@ -356,77 +356,77 @@ module FacebookAds
356
356
  has_edge :videos do |edge|
357
357
  edge.get 'NullNode'
358
358
  edge.post 'AdVideo' do |api|
359
- api.has_param :title, 'string'
360
- api.has_param :source, 'string'
361
- api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
362
- api.has_param :time_since_original_post, 'int'
363
- api.has_param :file_url, 'string'
364
- api.has_param :composer_session_id, 'string'
365
- api.has_param :waterfall_id, 'string'
366
- api.has_param :og_action_type_id, 'string'
367
- api.has_param :og_object_id, 'string'
368
- api.has_param :og_phrase, 'string'
369
- api.has_param :og_icon_id, 'string'
370
- api.has_param :og_suggestion_mechanism, 'string'
371
- api.has_param :thumb, 'file'
372
- api.has_param :spherical, 'bool'
373
- api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
374
- api.has_param :initial_heading, 'int'
375
- api.has_param :initial_pitch, 'int'
376
- api.has_param :fov, 'int'
377
- api.has_param :original_fov, 'int'
378
- api.has_param :fisheye_video_cropped, 'bool'
379
- api.has_param :front_z_rotation, 'double'
380
- api.has_param :guide_enabled, 'bool'
381
- api.has_param :guide, { list: { list: 'int' } }
382
- api.has_param :audio_story_wave_animation_handle, 'string'
383
- api.has_param :manual_privacy, 'bool'
384
- api.has_param :is_explicit_share, 'bool'
385
359
  api.has_param :adaptive_type, 'string'
386
360
  api.has_param :animated_effect_id, 'int'
361
+ api.has_param :application_id, 'string'
387
362
  api.has_param :asked_fun_fact_prompt_id, 'int'
363
+ api.has_param :attribution_app_id, 'string'
364
+ api.has_param :audio_story_wave_animation_handle, 'string'
388
365
  api.has_param :composer_entry_picker, 'string'
389
366
  api.has_param :composer_entry_point, 'string'
390
367
  api.has_param :composer_entry_time, 'int'
391
368
  api.has_param :composer_session_events_log, 'string'
369
+ api.has_param :composer_session_id, 'string'
392
370
  api.has_param :composer_source_surface, 'string'
393
371
  api.has_param :composer_type, 'string'
372
+ api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
373
+ api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
374
+ api.has_param :description, 'string'
375
+ api.has_param :embeddable, 'bool'
376
+ api.has_param :end_offset, 'int'
377
+ api.has_param :fbuploader_video_file_chunk, 'string'
378
+ api.has_param :file_size, 'int'
379
+ api.has_param :file_url, 'string'
380
+ api.has_param :fisheye_video_cropped, 'bool'
394
381
  api.has_param :formatting, { enum: -> { AdVideo::FORMATTING }}
382
+ api.has_param :fov, 'int'
383
+ api.has_param :front_z_rotation, 'double'
395
384
  api.has_param :fun_fact_prompt_id, 'int'
396
385
  api.has_param :fun_fact_toastee_id, 'int'
397
- api.has_param :is_group_linking_post, 'bool'
386
+ api.has_param :guide, { list: { list: 'int' } }
387
+ api.has_param :guide_enabled, 'bool'
398
388
  api.has_param :has_nickname, 'bool'
399
389
  api.has_param :holiday_card, 'string'
390
+ api.has_param :initial_heading, 'int'
391
+ api.has_param :initial_pitch, 'int'
400
392
  api.has_param :instant_game_entry_point_data, 'string'
401
393
  api.has_param :is_boost_intended, 'bool'
394
+ api.has_param :is_explicit_share, 'bool'
395
+ api.has_param :is_group_linking_post, 'bool'
396
+ api.has_param :is_voice_clip, 'bool'
402
397
  api.has_param :location_source_id, 'string'
403
- api.has_param :description, 'string'
398
+ api.has_param :manual_privacy, 'bool'
404
399
  api.has_param :offer_like_post_id, 'int'
400
+ api.has_param :og_action_type_id, 'string'
401
+ api.has_param :og_icon_id, 'string'
402
+ api.has_param :og_object_id, 'string'
403
+ api.has_param :og_phrase, 'string'
404
+ api.has_param :og_suggestion_mechanism, 'string'
405
+ api.has_param :original_fov, 'int'
406
+ api.has_param :original_projection_type, { enum: -> { AdVideo::ORIGINAL_PROJECTION_TYPE }}
405
407
  api.has_param :publish_event_id, 'int'
406
408
  api.has_param :react_mode_metadata, 'string'
409
+ api.has_param :referenced_sticker_id, 'string'
410
+ api.has_param :replace_video_id, 'string'
407
411
  api.has_param :sales_promo_id, 'int'
412
+ api.has_param :slideshow_spec, 'hash'
413
+ api.has_param :source, 'string'
414
+ api.has_param :spherical, 'bool'
415
+ api.has_param :start_offset, 'int'
416
+ api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
408
417
  api.has_param :text_format_metadata, 'string'
409
418
  api.has_param :throwback_camera_roll_media, 'string'
410
- api.has_param :video_start_time_ms, 'int'
411
- api.has_param :application_id, 'string'
419
+ api.has_param :thumb, 'file'
420
+ api.has_param :time_since_original_post, 'int'
421
+ api.has_param :title, 'string'
422
+ api.has_param :transcode_setting_properties, 'string'
423
+ api.has_param :unpublished_content_type, { enum: -> { AdVideo::UNPUBLISHED_CONTENT_TYPE }}
412
424
  api.has_param :upload_phase, { enum: -> { AdVideo::UPLOAD_PHASE }}
413
- api.has_param :file_size, 'int'
414
- api.has_param :start_offset, 'int'
415
- api.has_param :end_offset, 'int'
416
- api.has_param :video_file_chunk, 'string'
417
- api.has_param :fbuploader_video_file_chunk, 'string'
418
425
  api.has_param :upload_session_id, 'string'
419
- api.has_param :is_voice_clip, 'bool'
420
- api.has_param :attribution_app_id, 'string'
421
- api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
422
- api.has_param :embeddable, 'bool'
423
- api.has_param :slideshow_spec, 'hash'
424
426
  api.has_param :upload_setting_properties, 'string'
425
- api.has_param :transcode_setting_properties, 'string'
426
- api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
427
- api.has_param :referenced_sticker_id, 'string'
428
- api.has_param :replace_video_id, 'string'
429
- api.has_param :swap_mode, { enum: -> { AdVideo::SWAP_MODE }}
427
+ api.has_param :video_file_chunk, 'string'
428
+ api.has_param :video_start_time_ms, 'int'
429
+ api.has_param :waterfall_id, 'string'
430
430
  end
431
431
  end
432
432