facebookbusiness 0.3.2.12 → 0.3.2.13

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.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