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
@@ -118,6 +118,7 @@ module FacebookAds
118
118
  field :id, 'string'
119
119
  field :instagram_eligibility, 'string'
120
120
  field :is_app_share, 'bool'
121
+ field :is_eligible_for_promotion, 'bool'
121
122
  field :is_expired, 'bool'
122
123
  field :is_hidden, 'bool'
123
124
  field :is_instagram_eligible, 'bool'
@@ -162,22 +163,22 @@ module FacebookAds
162
163
  has_edge :comments do |edge|
163
164
  edge.get 'Comment' do |api|
164
165
  api.has_param :filter, { enum: -> { Comment::FILTER }}
165
- api.has_param :order, { enum: -> { Comment::ORDER }}
166
166
  api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
167
+ api.has_param :order, { enum: -> { Comment::ORDER }}
167
168
  api.has_param :since, 'datetime'
168
169
  end
169
170
  edge.post 'Comment' do |api|
170
- api.has_param :message, 'string'
171
- api.has_param :tracking, 'string'
172
- api.has_param :nectar_module, 'string'
173
171
  api.has_param :attachment_id, 'string'
174
- api.has_param :attachment_url, 'string'
175
172
  api.has_param :attachment_share_url, 'string'
176
- api.has_param :post_id, 'string'
177
- api.has_param :parent_comment_id, 'object'
173
+ api.has_param :attachment_url, 'string'
178
174
  api.has_param :comment, 'string'
179
- api.has_param :feedback_source, 'string'
180
175
  api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
176
+ api.has_param :feedback_source, 'string'
177
+ api.has_param :message, 'string'
178
+ api.has_param :nectar_module, 'string'
179
+ api.has_param :parent_comment_id, 'object'
180
+ api.has_param :post_id, 'string'
181
+ api.has_param :tracking, 'string'
181
182
  end
182
183
  end
183
184
 
@@ -191,42 +192,42 @@ module FacebookAds
191
192
 
192
193
  has_edge :insights do |edge|
193
194
  edge.get 'InsightsResult' do |api|
194
- api.has_param :since, 'datetime'
195
- api.has_param :until, 'datetime'
195
+ api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
196
196
  api.has_param :metric, { list: 'object' }
197
197
  api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
198
- api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
198
+ api.has_param :since, 'datetime'
199
+ api.has_param :until, 'datetime'
199
200
  end
200
201
  end
201
202
 
202
203
  has_edge :likes do |edge|
203
204
  edge.delete do |api|
204
- api.has_param :tracking, 'string'
205
205
  api.has_param :nectar_module, 'string'
206
+ api.has_param :tracking, 'string'
206
207
  end
207
208
  edge.get 'Profile'
208
209
  edge.post 'PagePost' do |api|
209
- api.has_param :tracking, 'string'
210
- api.has_param :nectar_module, 'string'
211
210
  api.has_param :feedback_source, 'string'
211
+ api.has_param :nectar_module, 'string'
212
+ api.has_param :tracking, 'string'
212
213
  end
213
214
  end
214
215
 
215
216
  has_edge :promotions do |edge|
216
217
  edge.post do |api|
217
- api.has_param :budget, 'int'
218
- api.has_param :currency, 'string'
219
218
  api.has_param :ad_account_id, 'string'
220
- api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
221
- api.has_param :targeting, 'Targeting'
222
- api.has_param :start_time, 'int'
223
- api.has_param :stop_time, 'int'
224
219
  api.has_param :ad_conversion_pixel_id, 'int'
225
- api.has_param :placement, 'string'
226
- api.has_param :flow_id, 'string'
220
+ api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
227
221
  api.has_param :audience_id, 'string'
228
222
  api.has_param :bid_amount, 'int'
229
- api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FOLLOW_NEWS_STORYLINE GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PLAY_GAME RECORD_NOW SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
223
+ api.has_param :budget, 'int'
224
+ api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FIND_A_GROUP FOLLOW_NEWS_STORYLINE GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PLAY_GAME RECORD_NOW SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
225
+ api.has_param :currency, 'string'
226
+ api.has_param :flow_id, 'string'
227
+ api.has_param :placement, 'string'
228
+ api.has_param :start_time, 'int'
229
+ api.has_param :stop_time, 'int'
230
+ api.has_param :targeting, 'Targeting'
230
231
  end
231
232
  end
232
233
 
@@ -52,6 +52,7 @@ module FacebookAds
52
52
  "joomla",
53
53
  "jumpseller",
54
54
  "kajabi",
55
+ "kochava",
55
56
  "kraftly",
56
57
  "m_particle",
57
58
  "magento",
@@ -28,7 +28,6 @@ module FacebookAds
28
28
  class Permission < AdObject
29
29
  STATUS = [
30
30
  "declined",
31
- "expired",
32
31
  "granted",
33
32
  ]
34
33
 
@@ -101,22 +101,22 @@ module FacebookAds
101
101
  has_edge :comments do |edge|
102
102
  edge.get 'Comment' do |api|
103
103
  api.has_param :filter, { enum: -> { Comment::FILTER }}
104
- api.has_param :order, { enum: -> { Comment::ORDER }}
105
104
  api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
105
+ api.has_param :order, { enum: -> { Comment::ORDER }}
106
106
  api.has_param :since, 'datetime'
107
107
  end
108
108
  edge.post 'Comment' do |api|
109
- api.has_param :object_id, 'string'
110
- api.has_param :parent_comment_id, 'object'
111
- api.has_param :nectar_module, 'string'
112
109
  api.has_param :attachment_id, 'string'
113
- api.has_param :attachment_url, 'string'
114
110
  api.has_param :attachment_share_url, 'string'
115
- api.has_param :feedback_source, 'string'
111
+ api.has_param :attachment_url, 'string'
112
+ api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
116
113
  api.has_param :facepile_mentioned_ids, { list: 'string' }
114
+ api.has_param :feedback_source, 'string'
117
115
  api.has_param :is_offline, 'bool'
118
- api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
119
116
  api.has_param :message, 'string'
117
+ api.has_param :nectar_module, 'string'
118
+ api.has_param :object_id, 'string'
119
+ api.has_param :parent_comment_id, 'object'
120
120
  api.has_param :text, 'string'
121
121
  api.has_param :tracking, 'string'
122
122
  end
@@ -124,92 +124,92 @@ module FacebookAds
124
124
 
125
125
  has_edge :dismisstagsuggestion do |edge|
126
126
  edge.post 'Photo' do |api|
127
- api.has_param :facebox, 'int'
127
+ api.has_param :closing_action, 'string'
128
128
  api.has_param :closing_source, 'string'
129
+ api.has_param :facebox, 'int'
129
130
  api.has_param :is_first, 'bool'
130
- api.has_param :closing_action, 'string'
131
131
  end
132
132
  end
133
133
 
134
134
  has_edge :insights do |edge|
135
135
  edge.get 'InsightsResult' do |api|
136
- api.has_param :since, 'datetime'
137
- api.has_param :until, 'datetime'
136
+ api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
138
137
  api.has_param :metric, { list: 'object' }
139
138
  api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
140
- api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
139
+ api.has_param :since, 'datetime'
140
+ api.has_param :until, 'datetime'
141
141
  end
142
142
  end
143
143
 
144
144
  has_edge :likes do |edge|
145
145
  edge.delete do |api|
146
- api.has_param :tracking, 'string'
146
+ api.has_param :feedback_source, 'string'
147
147
  api.has_param :nectar_module, 'string'
148
148
  api.has_param :notify, 'bool'
149
- api.has_param :feedback_source, 'string'
149
+ api.has_param :tracking, 'string'
150
150
  end
151
151
  edge.get 'Profile'
152
152
  edge.post 'Photo' do |api|
153
- api.has_param :tracking, 'string'
153
+ api.has_param :feedback_source, 'string'
154
154
  api.has_param :nectar_module, 'string'
155
155
  api.has_param :notify, 'bool'
156
- api.has_param :feedback_source, 'string'
156
+ api.has_param :tracking, 'string'
157
157
  end
158
158
  end
159
159
 
160
160
  has_edge :photos do |edge|
161
161
  edge.post 'Photo' do |api|
162
162
  api.has_param :aid, 'string'
163
+ api.has_param :allow_spherical_photo, 'bool'
163
164
  api.has_param :alt_text_custom, 'string'
165
+ api.has_param :android_key_hash, 'string'
166
+ api.has_param :application_id, 'string'
167
+ api.has_param :attempt, 'int'
168
+ api.has_param :audience_exp, 'bool'
169
+ api.has_param :backdated_time, 'datetime'
170
+ api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
164
171
  api.has_param :caption, 'string'
165
- api.has_param :url, 'string'
166
- api.has_param :uid, 'int'
167
- api.has_param :profile_id, 'int'
168
- api.has_param :target_id, 'int'
169
- api.has_param :vault_image_id, 'string'
170
- api.has_param :tags, { list: 'object' }
171
- api.has_param :place, 'object'
172
- api.has_param :is_explicit_place, 'bool'
172
+ api.has_param :composer_session_id, 'string'
173
+ api.has_param :direct_share_status, 'int'
174
+ api.has_param :feed_targeting, 'object'
175
+ api.has_param :filter_type, 'int'
176
+ api.has_param :full_res_is_coming_later, 'bool'
177
+ api.has_param :initial_view_heading_override_degrees, 'int'
178
+ api.has_param :initial_view_pitch_override_degrees, 'int'
179
+ api.has_param :initial_view_vertical_fov_override_degrees, 'int'
180
+ api.has_param :ios_bundle_id, 'string'
173
181
  api.has_param :is_explicit_location, 'bool'
182
+ api.has_param :is_explicit_place, 'bool'
183
+ api.has_param :manual_privacy, 'bool'
184
+ api.has_param :message, 'string'
185
+ api.has_param :name, 'string'
186
+ api.has_param :no_story, 'bool'
187
+ api.has_param :offline_id, 'int'
174
188
  api.has_param :og_action_type_id, 'string'
189
+ api.has_param :og_icon_id, 'string'
175
190
  api.has_param :og_object_id, 'string'
176
191
  api.has_param :og_phrase, 'string'
177
- api.has_param :og_icon_id, 'string'
178
- api.has_param :og_suggestion_mechanism, 'string'
179
192
  api.has_param :og_set_profile_badge, 'bool'
193
+ api.has_param :og_suggestion_mechanism, 'string'
194
+ api.has_param :place, 'object'
180
195
  api.has_param :privacy, 'string'
181
- api.has_param :targeting, 'object'
182
- api.has_param :feed_targeting, 'object'
183
- api.has_param :no_story, 'bool'
196
+ api.has_param :profile_id, 'int'
197
+ api.has_param :proxied_app_id, 'string'
184
198
  api.has_param :published, 'bool'
185
- api.has_param :offline_id, 'int'
186
- api.has_param :attempt, 'int'
187
- api.has_param :backdated_time, 'datetime'
188
- api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
189
- api.has_param :time_since_original_post, 'int'
190
- api.has_param :filter_type, 'int'
191
- api.has_param :scheduled_publish_time, 'int'
192
- api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
193
- api.has_param :full_res_is_coming_later, 'bool'
194
- api.has_param :composer_session_id, 'string'
195
199
  api.has_param :qn, 'string'
196
- api.has_param :manual_privacy, 'bool'
197
- api.has_param :audience_exp, 'bool'
198
- api.has_param :proxied_app_id, 'string'
199
- api.has_param :ios_bundle_id, 'string'
200
- api.has_param :android_key_hash, 'string'
201
- api.has_param :user_selected_tags, 'bool'
202
- api.has_param :allow_spherical_photo, 'bool'
200
+ api.has_param :scheduled_publish_time, 'int'
203
201
  api.has_param :spherical_metadata, 'hash'
204
- api.has_param :initial_view_heading_override_degrees, 'int'
205
- api.has_param :initial_view_pitch_override_degrees, 'int'
206
- api.has_param :initial_view_vertical_fov_override_degrees, 'int'
207
202
  api.has_param :sponsor_id, 'string'
208
- api.has_param :direct_share_status, 'int'
209
203
  api.has_param :sponsor_relationship, 'int'
210
- api.has_param :application_id, 'string'
211
- api.has_param :name, 'string'
212
- api.has_param :message, 'string'
204
+ api.has_param :tags, { list: 'object' }
205
+ api.has_param :target_id, 'int'
206
+ api.has_param :targeting, 'object'
207
+ api.has_param :time_since_original_post, 'int'
208
+ api.has_param :uid, 'int'
209
+ api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
210
+ api.has_param :url, 'string'
211
+ api.has_param :user_selected_tags, 'bool'
212
+ api.has_param :vault_image_id, 'string'
213
213
  end
214
214
  end
215
215
 
@@ -230,13 +230,13 @@ module FacebookAds
230
230
  has_edge :tags do |edge|
231
231
  edge.get 'TaggableSubject'
232
232
  edge.post 'Photo' do |api|
233
+ api.has_param :owner_uid, 'int'
233
234
  api.has_param :pid, 'string'
234
- api.has_param :tag_uid, 'int'
235
235
  api.has_param :tag_text, 'string'
236
+ api.has_param :tag_uid, 'int'
237
+ api.has_param :tags, { list: 'object' }
236
238
  api.has_param :x, 'double'
237
239
  api.has_param :y, 'double'
238
- api.has_param :tags, { list: 'object' }
239
- api.has_param :owner_uid, 'int'
240
240
  end
241
241
  end
242
242
 
@@ -30,10 +30,10 @@ module FacebookAds
30
30
  field :id, 'string'
31
31
  field :name, 'string'
32
32
  field :owner, 'Profile'
33
+ field :app_id, 'string'
33
34
  field :source, 'file'
34
35
  field :source_url, 'string'
35
36
  field :source_zip, 'file'
36
- field :app_id, 'string'
37
37
  has_no_post
38
38
  has_no_delete
39
39
 
@@ -70,6 +70,7 @@ module FacebookAds
70
70
  field :id, 'string'
71
71
  field :instagram_eligibility, 'string'
72
72
  field :is_app_share, 'bool'
73
+ field :is_eligible_for_promotion, 'bool'
73
74
  field :is_expired, 'bool'
74
75
  field :is_hidden, 'bool'
75
76
  field :is_instagram_eligible, 'bool'
@@ -114,22 +115,22 @@ module FacebookAds
114
115
  has_edge :comments do |edge|
115
116
  edge.get 'Comment' do |api|
116
117
  api.has_param :filter, { enum: -> { Comment::FILTER }}
117
- api.has_param :order, { enum: -> { Comment::ORDER }}
118
118
  api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
119
+ api.has_param :order, { enum: -> { Comment::ORDER }}
119
120
  api.has_param :since, 'datetime'
120
121
  end
121
122
  edge.post 'Comment' do |api|
122
- api.has_param :message, 'string'
123
- api.has_param :tracking, 'string'
124
- api.has_param :nectar_module, 'string'
125
123
  api.has_param :attachment_id, 'string'
126
- api.has_param :attachment_url, 'string'
127
124
  api.has_param :attachment_share_url, 'string'
128
- api.has_param :post_id, 'string'
129
- api.has_param :parent_comment_id, 'object'
125
+ api.has_param :attachment_url, 'string'
130
126
  api.has_param :comment, 'string'
131
- api.has_param :feedback_source, 'string'
132
127
  api.has_param :comment_privacy_value, { enum: -> { Comment::COMMENT_PRIVACY_VALUE }}
128
+ api.has_param :feedback_source, 'string'
129
+ api.has_param :message, 'string'
130
+ api.has_param :nectar_module, 'string'
131
+ api.has_param :parent_comment_id, 'object'
132
+ api.has_param :post_id, 'string'
133
+ api.has_param :tracking, 'string'
133
134
  end
134
135
  end
135
136
 
@@ -143,98 +144,98 @@ module FacebookAds
143
144
 
144
145
  has_edge :insights do |edge|
145
146
  edge.get 'InsightsResult' do |api|
146
- api.has_param :since, 'datetime'
147
- api.has_param :until, 'datetime'
147
+ api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
148
148
  api.has_param :metric, { list: 'object' }
149
149
  api.has_param :period, { enum: -> { InsightsResult::PERIOD }}
150
- api.has_param :date_preset, { enum: -> { InsightsResult::DATE_PRESET }}
150
+ api.has_param :since, 'datetime'
151
+ api.has_param :until, 'datetime'
151
152
  end
152
153
  end
153
154
 
154
155
  has_edge :likes do |edge|
155
156
  edge.delete do |api|
156
- api.has_param :tracking, 'string'
157
157
  api.has_param :nectar_module, 'string'
158
+ api.has_param :tracking, 'string'
158
159
  end
159
160
  edge.get 'Profile'
160
161
  edge.post 'Post' do |api|
161
- api.has_param :tracking, 'string'
162
- api.has_param :nectar_module, 'string'
163
162
  api.has_param :feedback_source, 'string'
163
+ api.has_param :nectar_module, 'string'
164
+ api.has_param :tracking, 'string'
164
165
  end
165
166
  end
166
167
 
167
168
  has_edge :photos do |edge|
168
169
  edge.post 'Photo' do |api|
169
170
  api.has_param :aid, 'string'
171
+ api.has_param :allow_spherical_photo, 'bool'
170
172
  api.has_param :alt_text_custom, 'string'
173
+ api.has_param :android_key_hash, 'string'
174
+ api.has_param :application_id, 'string'
175
+ api.has_param :attempt, 'int'
176
+ api.has_param :audience_exp, 'bool'
177
+ api.has_param :backdated_time, 'datetime'
178
+ api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
171
179
  api.has_param :caption, 'string'
172
- api.has_param :url, 'string'
173
- api.has_param :uid, 'int'
174
- api.has_param :profile_id, 'int'
175
- api.has_param :target_id, 'int'
176
- api.has_param :vault_image_id, 'string'
177
- api.has_param :tags, { list: 'object' }
178
- api.has_param :place, 'object'
179
- api.has_param :is_explicit_place, 'bool'
180
+ api.has_param :composer_session_id, 'string'
181
+ api.has_param :direct_share_status, 'int'
182
+ api.has_param :feed_targeting, 'object'
183
+ api.has_param :filter_type, 'int'
184
+ api.has_param :full_res_is_coming_later, 'bool'
185
+ api.has_param :initial_view_heading_override_degrees, 'int'
186
+ api.has_param :initial_view_pitch_override_degrees, 'int'
187
+ api.has_param :initial_view_vertical_fov_override_degrees, 'int'
188
+ api.has_param :ios_bundle_id, 'string'
180
189
  api.has_param :is_explicit_location, 'bool'
190
+ api.has_param :is_explicit_place, 'bool'
191
+ api.has_param :manual_privacy, 'bool'
192
+ api.has_param :message, 'string'
193
+ api.has_param :name, 'string'
194
+ api.has_param :no_story, 'bool'
195
+ api.has_param :offline_id, 'int'
181
196
  api.has_param :og_action_type_id, 'string'
197
+ api.has_param :og_icon_id, 'string'
182
198
  api.has_param :og_object_id, 'string'
183
199
  api.has_param :og_phrase, 'string'
184
- api.has_param :og_icon_id, 'string'
185
- api.has_param :og_suggestion_mechanism, 'string'
186
200
  api.has_param :og_set_profile_badge, 'bool'
201
+ api.has_param :og_suggestion_mechanism, 'string'
202
+ api.has_param :place, 'object'
187
203
  api.has_param :privacy, 'string'
188
- api.has_param :targeting, 'object'
189
- api.has_param :feed_targeting, 'object'
190
- api.has_param :no_story, 'bool'
204
+ api.has_param :profile_id, 'int'
205
+ api.has_param :proxied_app_id, 'string'
191
206
  api.has_param :published, 'bool'
192
- api.has_param :offline_id, 'int'
193
- api.has_param :attempt, 'int'
194
- api.has_param :backdated_time, 'datetime'
195
- api.has_param :backdated_time_granularity, { enum: -> { Photo::BACKDATED_TIME_GRANULARITY }}
196
- api.has_param :time_since_original_post, 'int'
197
- api.has_param :filter_type, 'int'
198
- api.has_param :scheduled_publish_time, 'int'
199
- api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
200
- api.has_param :full_res_is_coming_later, 'bool'
201
- api.has_param :composer_session_id, 'string'
202
207
  api.has_param :qn, 'string'
203
- api.has_param :manual_privacy, 'bool'
204
- api.has_param :audience_exp, 'bool'
205
- api.has_param :proxied_app_id, 'string'
206
- api.has_param :ios_bundle_id, 'string'
207
- api.has_param :android_key_hash, 'string'
208
- api.has_param :user_selected_tags, 'bool'
209
- api.has_param :allow_spherical_photo, 'bool'
208
+ api.has_param :scheduled_publish_time, 'int'
210
209
  api.has_param :spherical_metadata, 'hash'
211
- api.has_param :initial_view_heading_override_degrees, 'int'
212
- api.has_param :initial_view_pitch_override_degrees, 'int'
213
- api.has_param :initial_view_vertical_fov_override_degrees, 'int'
214
210
  api.has_param :sponsor_id, 'string'
215
- api.has_param :direct_share_status, 'int'
216
211
  api.has_param :sponsor_relationship, 'int'
217
- api.has_param :application_id, 'string'
218
- api.has_param :name, 'string'
219
- api.has_param :message, 'string'
212
+ api.has_param :tags, { list: 'object' }
213
+ api.has_param :target_id, 'int'
214
+ api.has_param :targeting, 'object'
215
+ api.has_param :time_since_original_post, 'int'
216
+ api.has_param :uid, 'int'
217
+ api.has_param :unpublished_content_type, { enum: -> { Photo::UNPUBLISHED_CONTENT_TYPE }}
218
+ api.has_param :url, 'string'
219
+ api.has_param :user_selected_tags, 'bool'
220
+ api.has_param :vault_image_id, 'string'
220
221
  end
221
222
  end
222
223
 
223
224
  has_edge :promotions do |edge|
224
225
  edge.post do |api|
225
- api.has_param :budget, 'int'
226
- api.has_param :currency, 'string'
227
226
  api.has_param :ad_account_id, 'string'
228
- api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
229
- api.has_param :targeting, 'Targeting'
230
- api.has_param :start_time, 'int'
231
- api.has_param :stop_time, 'int'
232
227
  api.has_param :ad_conversion_pixel_id, 'int'
233
- api.has_param :placement, 'string'
234
- api.has_param :flow_id, 'string'
228
+ api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
235
229
  api.has_param :audience_id, 'string'
236
230
  api.has_param :bid_amount, 'int'
237
- api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FOLLOW_NEWS_STORYLINE GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PLAY_GAME RECORD_NOW SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
231
+ api.has_param :budget, 'int'
232
+ api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FIND_A_GROUP FOLLOW_NEWS_STORYLINE GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PLAY_GAME RECORD_NOW SAY_THANKS SEE_MORE SELL_NOW SHARE SHOP_NOW SIGN_UP SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
233
+ api.has_param :currency, 'string'
234
+ api.has_param :flow_id, 'string'
235
+ api.has_param :placement, 'string'
236
+ api.has_param :start_time, 'int'
237
+ api.has_param :stop_time, 'int'
238
+ api.has_param :targeting, 'Targeting'
238
239
  end
239
240
  end
240
241