facebookbusiness 0.9.0.0 → 0.10.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +4 -1
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +11 -45
  4. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +3 -1
  7. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +3 -0
  8. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +6 -2
  9. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  10. data/lib/facebook_ads/ad_objects/ad_creative.rb +9 -7
  11. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +2 -0
  12. data/lib/facebook_ads/ad_objects/{read_only_analytics_user_property_config.rb → ad_creative_omnichannel_link_spec.rb} +5 -3
  13. data/lib/facebook_ads/ad_objects/ad_creative_portrait_customizations.rb +1 -0
  14. data/lib/facebook_ads/ad_objects/ad_preview.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_rule_evaluation_spec.rb +1 -2
  17. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +1 -2
  18. data/lib/facebook_ads/ad_objects/ad_set.rb +6 -2
  19. data/lib/facebook_ads/ad_objects/ad_study.rb +8 -11
  20. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +3 -0
  21. data/lib/facebook_ads/ad_objects/ad_video.rb +18 -17
  22. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +0 -2
  23. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  24. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +18 -0
  25. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +2 -0
  26. data/lib/facebook_ads/ad_objects/ads_insights.rb +3 -1
  27. data/lib/facebook_ads/ad_objects/ads_pixel.rb +5 -0
  28. data/lib/facebook_ads/ad_objects/album.rb +0 -10
  29. data/lib/facebook_ads/ad_objects/application.rb +22 -10
  30. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +0 -8
  31. data/lib/facebook_ads/ad_objects/automotive_model.rb +43 -0
  32. data/lib/facebook_ads/ad_objects/business.rb +40 -3
  33. data/lib/facebook_ads/ad_objects/business_asset_group.rb +2 -0
  34. data/lib/facebook_ads/ad_objects/campaign.rb +5 -4
  35. data/lib/facebook_ads/ad_objects/{user_payment_modules_options.rb → catalog_item_channels_to_integrity_status.rb} +3 -5
  36. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +3 -1
  37. data/lib/facebook_ads/ad_objects/comment.rb +3 -1
  38. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +2 -0
  39. data/lib/facebook_ads/ad_objects/content_delivery_report.rb +4 -0
  40. data/lib/facebook_ads/ad_objects/{offline_terms_of_service.rb → contextual_bundling_spec.rb} +4 -4
  41. data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
  42. data/lib/facebook_ads/ad_objects/custom_audience.rb +8 -12
  43. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  44. data/lib/facebook_ads/ad_objects/delivery_window.rb +287 -0
  45. data/lib/facebook_ads/ad_objects/destination.rb +18 -0
  46. data/lib/facebook_ads/ad_objects/flight.rb +18 -0
  47. data/lib/facebook_ads/ad_objects/group.rb +38 -22
  48. data/lib/facebook_ads/ad_objects/home_listing.rb +18 -0
  49. data/lib/facebook_ads/ad_objects/hotel.rb +18 -0
  50. data/lib/facebook_ads/ad_objects/ig_media.rb +2 -1
  51. data/lib/facebook_ads/ad_objects/ig_user.rb +6 -1
  52. data/lib/facebook_ads/ad_objects/image_copyright.rb +302 -0
  53. data/lib/facebook_ads/ad_objects/insights_result.rb +1 -1
  54. data/lib/facebook_ads/ad_objects/instagram_user.rb +0 -3
  55. data/lib/facebook_ads/ad_objects/{invoice_campaign.rb → invoice_campaign_new.rb} +1 -1
  56. data/lib/facebook_ads/ad_objects/link.rb +0 -10
  57. data/lib/facebook_ads/ad_objects/live_video.rb +20 -13
  58. data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -0
  59. data/lib/facebook_ads/ad_objects/{event_tour.rb → omega_customer_trx.rb} +28 -20
  60. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +1 -6
  61. data/lib/facebook_ads/ad_objects/page.rb +49 -11
  62. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  63. data/lib/facebook_ads/ad_objects/page_commerce_eligibility.rb +38 -0
  64. data/lib/facebook_ads/ad_objects/page_post.rb +0 -10
  65. data/lib/facebook_ads/ad_objects/payment_engine_payment.rb +73 -0
  66. data/lib/facebook_ads/ad_objects/payment_subscription.rb +3 -3
  67. data/lib/facebook_ads/ad_objects/photo.rb +0 -10
  68. data/lib/facebook_ads/ad_objects/post.rb +12 -40
  69. data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +46 -0
  70. data/lib/facebook_ads/ad_objects/product_catalog.rb +29 -2
  71. data/lib/facebook_ads/ad_objects/product_feed.rb +17 -1
  72. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +2 -0
  73. data/lib/facebook_ads/ad_objects/product_item.rb +17 -1
  74. data/lib/facebook_ads/ad_objects/{user_payment_methods_info.rb → product_item_ar_data.rb} +24 -8
  75. data/lib/facebook_ads/ad_objects/product_set.rb +7 -0
  76. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  77. data/lib/facebook_ads/ad_objects/server_side/action_source.rb +48 -0
  78. data/lib/facebook_ads/ad_objects/server_side/event.rb +32 -6
  79. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +290 -96
  80. data/lib/facebook_ads/ad_objects/server_side/util.rb +29 -1
  81. data/lib/facebook_ads/ad_objects/system_user.rb +20 -0
  82. data/lib/facebook_ads/ad_objects/targeting.rb +0 -2
  83. data/lib/facebook_ads/ad_objects/unified_thread.rb +0 -1
  84. data/lib/facebook_ads/ad_objects/user.rb +18 -13
  85. data/lib/facebook_ads/ad_objects/vehicle.rb +18 -0
  86. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +18 -0
  87. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +1 -0
  88. data/lib/facebook_ads/ad_objects/{friend_list.rb → whats_app_business_profile.rb} +3 -5
  89. data/lib/facebook_ads/edge.rb +2 -1
  90. data/lib/facebook_ads/version.rb +2 -2
  91. metadata +23 -19
  92. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -71
  93. data/lib/facebook_ads/ad_objects/ad_account_roas.rb +0 -65
@@ -42,6 +42,7 @@ module FacebookAds
42
42
  "EXPANDED_AUDIENCE",
43
43
  "EXTERNAL_IDS",
44
44
  "EXTERNAL_IDS_MIX",
45
+ "FACEBOOK_WIFI_EVENTS",
45
46
  "FB_EVENT_SIGNALS",
46
47
  "FB_PIXEL_HITS",
47
48
  "HASHES",
@@ -0,0 +1,287 @@
1
+ # Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
2
+ #
3
+ # You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ # copy, modify, and distribute this software in source code or binary form for use
5
+ # in connection with the web services and APIs provided by Facebook.
6
+ #
7
+ # As with any software that integrates with the Facebook platform, your use of
8
+ # this software is subject to the Facebook Platform Policy
9
+ # [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ # included in all copies or substantial portions of the software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ # FB:AUTOGEN
20
+
21
+ module FacebookAds
22
+ # This class is auto-generated.
23
+
24
+ # For any issues or feature requests related to this class, please let us know
25
+ # on github and we'll fix in our codegen framework. We'll not be able to accept
26
+ # pull request for this class.
27
+
28
+ class DeliveryWindow < AdObject
29
+
30
+ field :ad, 'int'
31
+ field :ae, 'int'
32
+ field :af, 'int'
33
+ field :ag, 'int'
34
+ field :ai, 'int'
35
+ field :al, 'int'
36
+ field :all, 'int'
37
+ field :am, 'int'
38
+ field :an, 'int'
39
+ field :ao, 'int'
40
+ field :aq, 'int'
41
+ field :ar, 'int'
42
+ field :as, 'int'
43
+ field :at, 'int'
44
+ field :au, 'int'
45
+ field :aw, 'int'
46
+ field :ax, 'int'
47
+ field :az, 'int'
48
+ field :ba, 'int'
49
+ field :bb, 'int'
50
+ field :bd, 'int'
51
+ field :be, 'int'
52
+ field :bf, 'int'
53
+ field :bg, 'int'
54
+ field :bh, 'int'
55
+ field :bi, 'int'
56
+ field :bj, 'int'
57
+ field :bl, 'int'
58
+ field :bm, 'int'
59
+ field :bn, 'int'
60
+ field :bo, 'int'
61
+ field :bq, 'int'
62
+ field :br, 'int'
63
+ field :bs, 'int'
64
+ field :bt, 'int'
65
+ field :bv, 'int'
66
+ field :bw, 'int'
67
+ field :by, 'int'
68
+ field :bz, 'int'
69
+ field :ca, 'int'
70
+ field :cc, 'int'
71
+ field :cd, 'int'
72
+ field :cf, 'int'
73
+ field :cg, 'int'
74
+ field :ch, 'int'
75
+ field :ci, 'int'
76
+ field :ck, 'int'
77
+ field :cl, 'int'
78
+ field :cm, 'int'
79
+ field :cn, 'int'
80
+ field :co, 'int'
81
+ field :cr, 'int'
82
+ field :cu, 'int'
83
+ field :cv, 'int'
84
+ field :cw, 'int'
85
+ field :cx, 'int'
86
+ field :cy, 'int'
87
+ field :cz, 'int'
88
+ field :de, 'int'
89
+ field :dj, 'int'
90
+ field :dk, 'int'
91
+ field :dm, 'int'
92
+ field :_do, 'int'
93
+ field :dz, 'int'
94
+ field :ec, 'int'
95
+ field :ee, 'int'
96
+ field :eg, 'int'
97
+ field :eh, 'int'
98
+ field :er, 'int'
99
+ field :es, 'int'
100
+ field :et, 'int'
101
+ field :fi, 'int'
102
+ field :fj, 'int'
103
+ field :fk, 'int'
104
+ field :fm, 'int'
105
+ field :fo, 'int'
106
+ field :fr, 'int'
107
+ field :ga, 'int'
108
+ field :gb, 'int'
109
+ field :gd, 'int'
110
+ field :ge, 'int'
111
+ field :gf, 'int'
112
+ field :gg, 'int'
113
+ field :gh, 'int'
114
+ field :gi, 'int'
115
+ field :gl, 'int'
116
+ field :gm, 'int'
117
+ field :gn, 'int'
118
+ field :gp, 'int'
119
+ field :gq, 'int'
120
+ field :gr, 'int'
121
+ field :gs, 'int'
122
+ field :gt, 'int'
123
+ field :gu, 'int'
124
+ field :gw, 'int'
125
+ field :gy, 'int'
126
+ field :hk, 'int'
127
+ field :hm, 'int'
128
+ field :hn, 'int'
129
+ field :hr, 'int'
130
+ field :ht, 'int'
131
+ field :hu, 'int'
132
+ field :id, 'int'
133
+ field :ie, 'int'
134
+ field :il, 'int'
135
+ field :im, 'int'
136
+ field :in, 'int'
137
+ field :io, 'int'
138
+ field :iq, 'int'
139
+ field :ir, 'int'
140
+ field :is, 'int'
141
+ field :it, 'int'
142
+ field :je, 'int'
143
+ field :jm, 'int'
144
+ field :jo, 'int'
145
+ field :jp, 'int'
146
+ field :ke, 'int'
147
+ field :kg, 'int'
148
+ field :kh, 'int'
149
+ field :ki, 'int'
150
+ field :km, 'int'
151
+ field :kn, 'int'
152
+ field :kp, 'int'
153
+ field :kr, 'int'
154
+ field :kw, 'int'
155
+ field :ky, 'int'
156
+ field :kz, 'int'
157
+ field :la, 'int'
158
+ field :lb, 'int'
159
+ field :lc, 'int'
160
+ field :li, 'int'
161
+ field :lk, 'int'
162
+ field :lr, 'int'
163
+ field :ls, 'int'
164
+ field :lt, 'int'
165
+ field :lu, 'int'
166
+ field :lv, 'int'
167
+ field :ly, 'int'
168
+ field :ma, 'int'
169
+ field :mc, 'int'
170
+ field :md, 'int'
171
+ field :me, 'int'
172
+ field :mf, 'int'
173
+ field :mg, 'int'
174
+ field :mh, 'int'
175
+ field :mk, 'int'
176
+ field :ml, 'int'
177
+ field :mm, 'int'
178
+ field :mn, 'int'
179
+ field :mo, 'int'
180
+ field :mp, 'int'
181
+ field :mq, 'int'
182
+ field :mr, 'int'
183
+ field :ms, 'int'
184
+ field :mt, 'int'
185
+ field :mu, 'int'
186
+ field :mv, 'int'
187
+ field :mw, 'int'
188
+ field :mx, 'int'
189
+ field :my, 'int'
190
+ field :mz, 'int'
191
+ field :na, 'int'
192
+ field :nc, 'int'
193
+ field :ne, 'int'
194
+ field :nf, 'int'
195
+ field :ng, 'int'
196
+ field :ni, 'int'
197
+ field :nl, 'int'
198
+ field :no, 'int'
199
+ field :np, 'int'
200
+ field :nr, 'int'
201
+ field :nu, 'int'
202
+ field :nz, 'int'
203
+ field :om, 'int'
204
+ field :pa, 'int'
205
+ field :pe, 'int'
206
+ field :pf, 'int'
207
+ field :pg, 'int'
208
+ field :ph, 'int'
209
+ field :pk, 'int'
210
+ field :pl, 'int'
211
+ field :pm, 'int'
212
+ field :pn, 'int'
213
+ field :pr, 'int'
214
+ field :ps, 'int'
215
+ field :pt, 'int'
216
+ field :pw, 'int'
217
+ field :py, 'int'
218
+ field :qa, 'int'
219
+ field :re, 'int'
220
+ field :ro, 'int'
221
+ field :rs, 'int'
222
+ field :ru, 'int'
223
+ field :rw, 'int'
224
+ field :sa, 'int'
225
+ field :sb, 'int'
226
+ field :sc, 'int'
227
+ field :sd, 'int'
228
+ field :se, 'int'
229
+ field :sg, 'int'
230
+ field :sh, 'int'
231
+ field :si, 'int'
232
+ field :sj, 'int'
233
+ field :sk, 'int'
234
+ field :sl, 'int'
235
+ field :sm, 'int'
236
+ field :sn, 'int'
237
+ field :so, 'int'
238
+ field :sr, 'int'
239
+ field :ss, 'int'
240
+ field :st, 'int'
241
+ field :sv, 'int'
242
+ field :sx, 'int'
243
+ field :sy, 'int'
244
+ field :sz, 'int'
245
+ field :tc, 'int'
246
+ field :td, 'int'
247
+ field :tf, 'int'
248
+ field :tg, 'int'
249
+ field :th, 'int'
250
+ field :tj, 'int'
251
+ field :tk, 'int'
252
+ field :tl, 'int'
253
+ field :tm, 'int'
254
+ field :tn, 'int'
255
+ field :to, 'int'
256
+ field :tr, 'int'
257
+ field :tt, 'int'
258
+ field :tv, 'int'
259
+ field :tw, 'int'
260
+ field :tz, 'int'
261
+ field :ua, 'int'
262
+ field :ug, 'int'
263
+ field :um, 'int'
264
+ field :us, 'int'
265
+ field :uy, 'int'
266
+ field :uz, 'int'
267
+ field :va, 'int'
268
+ field :vc, 'int'
269
+ field :ve, 'int'
270
+ field :vg, 'int'
271
+ field :vi, 'int'
272
+ field :vn, 'int'
273
+ field :vu, 'int'
274
+ field :wf, 'int'
275
+ field :ws, 'int'
276
+ field :xk, 'int'
277
+ field :ye, 'int'
278
+ field :yt, 'int'
279
+ field :za, 'int'
280
+ field :zm, 'int'
281
+ field :zw, 'int'
282
+ has_no_get
283
+ has_no_post
284
+ has_no_delete
285
+
286
+ end
287
+ end
@@ -26,6 +26,15 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class Destination < AdObject
29
+ IMAGE_FETCH_STATUS = [
30
+ "DIRECT_UPLOAD",
31
+ "FETCHED",
32
+ "FETCH_FAILED",
33
+ "NO_STATUS",
34
+ "OUTDATED",
35
+ "PARTIAL_FETCH",
36
+ ]
37
+
29
38
 
30
39
  field :address, 'string'
31
40
  field :applinks, 'CatalogItemAppLinks'
@@ -34,6 +43,7 @@ module FacebookAds
34
43
  field :description, 'string'
35
44
  field :destination_id, 'string'
36
45
  field :id, 'string'
46
+ field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
37
47
  field :images, { list: 'string' }
38
48
  field :name, 'string'
39
49
  field :price, 'string'
@@ -44,5 +54,13 @@ module FacebookAds
44
54
  has_no_post
45
55
  has_no_delete
46
56
 
57
+ has_edge :augmented_realities_metadata do |edge|
58
+ edge.get
59
+ end
60
+
61
+ has_edge :videos_metadata do |edge|
62
+ edge.get
63
+ end
64
+
47
65
  end
48
66
  end
@@ -26,6 +26,15 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class Flight < AdObject
29
+ IMAGE_FETCH_STATUS = [
30
+ "DIRECT_UPLOAD",
31
+ "FETCHED",
32
+ "FETCH_FAILED",
33
+ "NO_STATUS",
34
+ "OUTDATED",
35
+ "PARTIAL_FETCH",
36
+ ]
37
+
29
38
 
30
39
  field :applinks, 'CatalogItemAppLinks'
31
40
  field :category_specific_fields, 'CatalogSubVerticalList'
@@ -35,6 +44,7 @@ module FacebookAds
35
44
  field :destination_city, 'string'
36
45
  field :flight_id, 'string'
37
46
  field :id, 'string'
47
+ field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
38
48
  field :images, { list: 'string' }
39
49
  field :oneway_currency, 'string'
40
50
  field :oneway_price, 'string'
@@ -45,5 +55,13 @@ module FacebookAds
45
55
  field :url, 'string'
46
56
  has_no_delete
47
57
 
58
+ has_edge :augmented_realities_metadata do |edge|
59
+ edge.get
60
+ end
61
+
62
+ has_edge :videos_metadata do |edge|
63
+ edge.get
64
+ end
65
+
48
66
  end
49
67
  end
@@ -150,15 +150,6 @@ module FacebookAds
150
150
  "WORK_VC_CALL",
151
151
  ]
152
152
 
153
- SUGGESTION_CATEGORY = [
154
- "EVENT",
155
- "MESSENGER",
156
- "WORK",
157
- "WORKPLACE",
158
- "WORKPLACE_1_1",
159
- "WORKPLACE_MANAGER",
160
- ]
161
-
162
153
 
163
154
  field :archived, 'bool'
164
155
  field :cover, 'CoverPhoto'
@@ -171,7 +162,6 @@ module FacebookAds
171
162
  field :member_count, 'int'
172
163
  field :member_request_count, 'int'
173
164
  field :name, 'string'
174
- field :owner, 'object'
175
165
  field :parent, 'object'
176
166
  field :permissions, { list: 'string' }
177
167
  field :privacy, 'string'
@@ -216,7 +206,15 @@ module FacebookAds
216
206
  end
217
207
 
218
208
  has_edge :feed do |edge|
219
- edge.post do |api|
209
+ edge.get 'Post' do |api|
210
+ api.has_param :include_hidden, 'bool'
211
+ api.has_param :q, 'string'
212
+ api.has_param :show_expired, 'bool'
213
+ api.has_param :since, 'datetime'
214
+ api.has_param :until, 'datetime'
215
+ api.has_param :with, 'string'
216
+ end
217
+ edge.post 'Post' do |api|
220
218
  api.has_param :actions, 'object'
221
219
  api.has_param :adaptive_type, 'string'
222
220
  api.has_param :album_id, 'string'
@@ -230,10 +228,10 @@ module FacebookAds
230
228
  api.has_param :attached_media, { list: 'object' }
231
229
  api.has_param :audience_exp, 'bool'
232
230
  api.has_param :backdated_time, 'datetime'
233
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
231
+ api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }}
234
232
  api.has_param :call_to_action, 'object'
235
233
  api.has_param :caption, 'string'
236
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
234
+ api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }}
237
235
  api.has_param :child_attachments, { list: 'object' }
238
236
  api.has_param :client_mutation_id, 'string'
239
237
  api.has_param :composer_entry_picker, 'string'
@@ -253,7 +251,7 @@ module FacebookAds
253
251
  api.has_param :expanded_height, 'int'
254
252
  api.has_param :expanded_width, 'int'
255
253
  api.has_param :feed_targeting, 'object'
256
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
254
+ api.has_param :formatting, { enum: -> { Post::FORMATTING }}
257
255
  api.has_param :fun_fact_prompt_id, 'int'
258
256
  api.has_param :fun_fact_toastee_id, 'int'
259
257
  api.has_param :has_nickname, 'bool'
@@ -290,11 +288,11 @@ module FacebookAds
290
288
  api.has_param :page_recommendation, 'string'
291
289
  api.has_param :picture, 'string'
292
290
  api.has_param :place, 'object'
293
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
291
+ api.has_param :place_attachment_setting, { enum: -> { Post::PLACE_ATTACHMENT_SETTING }}
294
292
  api.has_param :place_list, 'string'
295
293
  api.has_param :place_list_data, { list: 'string' }
296
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
297
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
294
+ api.has_param :post_surfaces_blacklist, { list: { enum: -> { Post::POST_SURFACES_BLACKLIST }} }
295
+ api.has_param :posting_to_redspace, { enum: -> { Post::POSTING_TO_REDSPACE }}
298
296
  api.has_param :privacy, 'string'
299
297
  api.has_param :prompt_id, 'string'
300
298
  api.has_param :prompt_tracking_string, 'string'
@@ -314,7 +312,7 @@ module FacebookAds
314
312
  api.has_param :sponsor_relationship, 'int'
315
313
  api.has_param :suggested_place_id, 'object'
316
314
  api.has_param :tags, { list: 'int' }
317
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
315
+ api.has_param :target_surface, { enum: -> { Post::TARGET_SURFACE }}
318
316
  api.has_param :targeting, 'object'
319
317
  api.has_param :text_format_metadata, 'string'
320
318
  api.has_param :text_format_preset_id, 'string'
@@ -324,7 +322,7 @@ module FacebookAds
324
322
  api.has_param :time_since_original_post, 'int'
325
323
  api.has_param :title, 'string'
326
324
  api.has_param :tracking_info, 'string'
327
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
325
+ api.has_param :unpublished_content_type, { enum: -> { Post::UNPUBLISHED_CONTENT_TYPE }}
328
326
  api.has_param :user_selected_tags, 'bool'
329
327
  api.has_param :video_start_time_ms, 'int'
330
328
  api.has_param :viewer_coordinates, 'object'
@@ -332,6 +330,10 @@ module FacebookAds
332
330
  end
333
331
  end
334
332
 
333
+ has_edge :files do |edge|
334
+ edge.get
335
+ end
336
+
335
337
  has_edge :groups do |edge|
336
338
  edge.get 'Group'
337
339
  edge.post 'Group' do |api|
@@ -346,8 +348,14 @@ module FacebookAds
346
348
  api.has_param :post_requires_admin_approval, 'bool'
347
349
  api.has_param :privacy, 'string'
348
350
  api.has_param :ref, 'string'
349
- api.has_param :suggestion_category, { enum: -> { Group::SUGGESTION_CATEGORY }}
350
- api.has_param :suggestion_identifier, 'string'
351
+ end
352
+ end
353
+
354
+ has_edge :important_posts do |edge|
355
+ edge.post do |api|
356
+ api.has_param :button_type, { enum: %w{DISMISS DONE MARK_AS_READ }}
357
+ api.has_param :expiration_time, 'datetime'
358
+ api.has_param :post_id, 'string'
351
359
  end
352
360
  end
353
361
 
@@ -466,6 +474,15 @@ module FacebookAds
466
474
  end
467
475
  end
468
476
 
477
+ has_edge :pinned_posts do |edge|
478
+ edge.delete do |api|
479
+ api.has_param :post_id, 'string'
480
+ end
481
+ edge.post 'Post' do |api|
482
+ api.has_param :post_ids, { list: 'string' }
483
+ end
484
+ end
485
+
469
486
  has_edge :videos do |edge|
470
487
  edge.get 'AdVideo' do |api|
471
488
  api.has_param :type, { enum: -> { AdVideo::TYPE }}
@@ -475,7 +492,6 @@ module FacebookAds
475
492
  api.has_param :animated_effect_id, 'int'
476
493
  api.has_param :application_id, 'string'
477
494
  api.has_param :asked_fun_fact_prompt_id, 'int'
478
- api.has_param :attribution_app_id, 'string'
479
495
  api.has_param :audio_story_wave_animation_handle, 'string'
480
496
  api.has_param :composer_entry_picker, 'string'
481
497
  api.has_param :composer_entry_point, 'string'