facebookbusiness 0.9.0.0 → 0.10.0.1

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 (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'