facebookbusiness 0.7.0.3 → 0.9.0.0

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_account.rb +24 -16
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +24 -0
  4. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +22 -5
  5. data/lib/facebook_ads/ad_objects/ad_activity.rb +0 -1
  6. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +5 -0
  7. data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
  8. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +4 -0
  9. data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -0
  10. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
  11. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +4 -0
  12. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
  14. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  15. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
  16. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
  17. data/lib/facebook_ads/ad_objects/ad_study.rb +1 -1
  18. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  19. data/lib/facebook_ads/ad_objects/ad_video.rb +11 -0
  20. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -0
  21. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +8 -0
  22. data/lib/facebook_ads/ad_objects/ads_insights.rb +1 -0
  23. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  24. data/lib/facebook_ads/ad_objects/application.rb +23 -0
  25. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +1 -1
  26. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  27. data/lib/facebook_ads/ad_objects/business.rb +62 -11
  28. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  29. data/lib/facebook_ads/ad_objects/business_role_request.rb +4 -0
  30. data/lib/facebook_ads/ad_objects/business_unit.rb +1 -2
  31. data/lib/facebook_ads/ad_objects/business_user.rb +4 -0
  32. data/lib/facebook_ads/ad_objects/campaign.rb +8 -0
  33. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +88 -0
  34. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +16 -19
  35. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
  36. data/lib/facebook_ads/ad_objects/commerce_order.rb +6 -0
  37. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +4 -0
  38. data/lib/facebook_ads/ad_objects/{work_meeting_link.rb → connections_targeting.rb} +3 -2
  39. data/lib/facebook_ads/ad_objects/{iterative_split_test_config.rb → cpas_advertiser_partnership_recommendation.rb} +9 -9
  40. data/lib/facebook_ads/ad_objects/{split_test_config.rb → cpas_collaboration_request.rb} +16 -7
  41. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  42. data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
  43. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  44. data/lib/facebook_ads/ad_objects/event.rb +1 -1
  45. data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -1
  46. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/group.rb +8 -1
  48. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  49. data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  52. data/lib/facebook_ads/ad_objects/link.rb +6 -6
  53. data/lib/facebook_ads/ad_objects/live_video.rb +12 -16
  54. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
  55. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
  56. data/lib/facebook_ads/ad_objects/page.rb +48 -70
  57. data/lib/facebook_ads/ad_objects/page_post.rb +2 -0
  58. data/lib/facebook_ads/ad_objects/photo.rb +6 -0
  59. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
  60. data/lib/facebook_ads/ad_objects/post.rb +49 -2
  61. data/lib/facebook_ads/ad_objects/product_catalog.rb +43 -7
  62. data/lib/facebook_ads/ad_objects/product_feed.rb +31 -0
  63. data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/product_item.rb +4 -0
  65. data/lib/facebook_ads/ad_objects/product_set.rb +1 -0
  66. data/lib/facebook_ads/ad_objects/product_set_metadata.rb +1 -0
  67. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
  68. data/lib/facebook_ads/ad_objects/referral.rb +2 -0
  69. data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
  70. data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
  71. data/lib/facebook_ads/ad_objects/server_side/content.rb +23 -4
  72. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +21 -0
  73. data/lib/facebook_ads/ad_objects/{page_about_story.rb → server_side/delivery_category.rb} +10 -16
  74. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +61 -14
  75. data/lib/facebook_ads/ad_objects/server_side/event_request_async.rb +43 -0
  76. data/lib/facebook_ads/ad_objects/{atlas_url.rb → server_side/http_method.rb} +7 -16
  77. data/lib/facebook_ads/ad_objects/server_side/http_service_interface.rb +33 -0
  78. data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
  79. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +20 -1
  80. data/lib/facebook_ads/ad_objects/server_side/util.rb +13 -0
  81. data/lib/facebook_ads/ad_objects/system_user.rb +0 -20
  82. data/lib/facebook_ads/ad_objects/targeting.rb +3 -3
  83. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +0 -1
  84. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  85. data/lib/facebook_ads/ad_objects/user.rb +28 -30
  86. data/lib/facebook_ads/ad_objects/vehicle.rb +2 -0
  87. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  88. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -0
  89. data/lib/facebook_ads/errors.rb +1 -1
  90. data/lib/facebook_ads/session.rb +1 -1
  91. data/lib/facebook_ads/version.rb +2 -2
  92. metadata +30 -12
  93. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +0 -50
@@ -43,6 +43,12 @@ module FacebookAds
43
43
  has_no_delete
44
44
 
45
45
  has_edge :comments do |edge|
46
+ edge.get 'Comment' do |api|
47
+ api.has_param :filter, { enum: -> { Comment::FILTER }}
48
+ api.has_param :live_filter, { enum: -> { Comment::LIVE_FILTER }}
49
+ api.has_param :order, { enum: -> { Comment::ORDER }}
50
+ api.has_param :since, 'datetime'
51
+ end
46
52
  edge.post 'Comment' do |api|
47
53
  api.has_param :attachment_id, 'string'
48
54
  api.has_param :attachment_share_url, 'string'
@@ -64,12 +70,6 @@ module FacebookAds
64
70
  edge.get 'Profile'
65
71
  end
66
72
 
67
- has_edge :reactions do |edge|
68
- edge.get 'Profile' do |api|
69
- api.has_param :type, { enum: -> { Profile::TYPE }}
70
- end
71
- end
72
-
73
73
  has_edge :sharedposts do |edge|
74
74
  edge.get 'Post'
75
75
  end
@@ -26,6 +26,18 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class LiveVideo < AdObject
29
+ BROADCAST_STATUS = [
30
+ "live",
31
+ "live_stopped",
32
+ "processing",
33
+ "scheduled_canceled",
34
+ "scheduled_expired",
35
+ "scheduled_live",
36
+ "scheduled_unpublished",
37
+ "unpublished",
38
+ "vod",
39
+ ]
40
+
29
41
  PROJECTION = [
30
42
  "CUBEMAP",
31
43
  "EQUIRECTANGULAR",
@@ -55,18 +67,6 @@ module FacebookAds
55
67
  "REGULAR",
56
68
  ]
57
69
 
58
- BROADCAST_STATUS = [
59
- "LIVE",
60
- "LIVE_STOPPED",
61
- "PROCESSING",
62
- "SCHEDULED_CANCELED",
63
- "SCHEDULED_EXPIRED",
64
- "SCHEDULED_LIVE",
65
- "SCHEDULED_UNPUBLISHED",
66
- "UNPUBLISHED",
67
- "VOD",
68
- ]
69
-
70
70
  SOURCE = [
71
71
  "owner",
72
72
  "target",
@@ -141,10 +141,6 @@ module FacebookAds
141
141
  edge.post 'LiveVideoInputStream'
142
142
  end
143
143
 
144
- has_edge :likes do |edge|
145
- edge.get 'Profile'
146
- end
147
-
148
144
  has_edge :polls do |edge|
149
145
  edge.get 'VideoPoll'
150
146
  edge.post 'VideoPoll' do |api|
@@ -33,7 +33,6 @@ module FacebookAds
33
33
  has_no_delete
34
34
 
35
35
  has_edge :photos do |edge|
36
- edge.get 'Photo'
37
36
  edge.post 'NativeOfferView' do |api|
38
37
  api.has_param :ad_account, 'string'
39
38
  api.has_param :ad_image_hashes, { list: 'string' }
@@ -37,7 +37,6 @@ module FacebookAds
37
37
  field :amount_due, 'CurrencyAmount'
38
38
  field :billed_amount_details, 'BilledAmountDetails'
39
39
  field :billing_period, 'string'
40
- field :campaign, 'AtlasCampaign'
41
40
  field :cdn_download_uri, 'string'
42
41
  field :currency, 'string'
43
42
  field :download_uri, 'string'
@@ -58,11 +57,5 @@ module FacebookAds
58
57
  edge.get 'InvoiceCampaign'
59
58
  end
60
59
 
61
- has_edge :data do |edge|
62
- edge.get 'AtlasUrl' do |api|
63
- api.has_param :redirect, 'bool'
64
- end
65
- end
66
-
67
60
  end
68
61
  end
@@ -92,6 +92,12 @@ module FacebookAds
92
92
  "Vietnamese",
93
93
  ]
94
94
 
95
+ PICKUP_OPTIONS = [
96
+ "CURBSIDE",
97
+ "IN_STORE",
98
+ "OTHER",
99
+ ]
100
+
95
101
  TEMPORARY_STATUS = [
96
102
  "DIFFERENTLY_OPEN",
97
103
  "NO_DATA",
@@ -107,6 +113,7 @@ module FacebookAds
107
113
  "MANAGE",
108
114
  "MANAGE_JOBS",
109
115
  "MANAGE_LEADS",
116
+ "MESSAGING",
110
117
  "MODERATE",
111
118
  "MODERATE_COMMUNITY",
112
119
  "PAGES_MESSAGING",
@@ -129,6 +136,7 @@ module FacebookAds
129
136
  "MANAGE",
130
137
  "MANAGE_JOBS",
131
138
  "MANAGE_LEADS",
139
+ "MESSAGING",
132
140
  "MODERATE",
133
141
  "MODERATE_COMMUNITY",
134
142
  "PAGES_MESSAGING",
@@ -276,6 +284,7 @@ module FacebookAds
276
284
  "leadgen",
277
285
  "leadgen_fat",
278
286
  "live_videos",
287
+ "local_delivery",
279
288
  "location",
280
289
  "mcom_invoice_change",
281
290
  "members",
@@ -328,29 +337,6 @@ module FacebookAds
328
337
  "website",
329
338
  ]
330
339
 
331
- DOMAIN_ACTION_TYPE = [
332
- "ADD",
333
- "REMOVE",
334
- ]
335
-
336
- PAYMENT_DEV_MODE_ACTION = [
337
- "ADD",
338
- "REMOVE",
339
- ]
340
-
341
- SETTING_TYPE = [
342
- "ACCOUNT_LINKING",
343
- "CALL_TO_ACTIONS",
344
- "DOMAIN_WHITELISTING",
345
- "GREETING",
346
- "PAYMENT",
347
- ]
348
-
349
- THREAD_STATE = [
350
- "EXISTING_THREAD",
351
- "NEW_THREAD",
352
- ]
353
-
354
340
 
355
341
  field :about, 'string'
356
342
  field :access_token, 'string'
@@ -375,6 +361,7 @@ module FacebookAds
375
361
  field :checkins, 'int'
376
362
  field :company_overview, 'string'
377
363
  field :connected_instagram_account, 'IgUser'
364
+ field :connected_page_backed_instagram_account, 'IgUser'
378
365
  field :contact_address, 'MailingAddress'
379
366
  field :copyright_whitelisted_ig_partners, { list: 'string' }
380
367
  field :country_page_likes, 'int'
@@ -443,7 +430,6 @@ module FacebookAds
443
430
  field :new_like_count, 'int'
444
431
  field :offer_eligible, 'bool'
445
432
  field :overall_star_rating, 'double'
446
- field :page_about_story, 'PageAboutStory'
447
433
  field :page_token, 'string'
448
434
  field :parent_page, 'Page'
449
435
  field :parking, 'PageParking'
@@ -452,6 +438,7 @@ module FacebookAds
452
438
  field :personal_interests, 'string'
453
439
  field :pharma_safety_info, 'string'
454
440
  field :phone, 'string'
441
+ field :pickup_options, { list: 'string' }
455
442
  field :place_type, 'string'
456
443
  field :plot_outline, 'string'
457
444
  field :preferred_audience, 'Targeting'
@@ -558,6 +545,13 @@ module FacebookAds
558
545
  end
559
546
  end
560
547
 
548
+ has_edge :business_data do |edge|
549
+ edge.post 'Page' do |api|
550
+ api.has_param :data, { list: 'string' }
551
+ api.has_param :partner_agent, 'string'
552
+ end
553
+ end
554
+
561
555
  has_edge :call_to_actions do |edge|
562
556
  edge.get 'PageCallToAction'
563
557
  end
@@ -599,9 +593,6 @@ module FacebookAds
599
593
  api.has_param :url, 'string'
600
594
  end
601
595
  edge.get 'Url'
602
- edge.post 'Page' do |api|
603
- api.has_param :url, 'string'
604
- end
605
596
  end
606
597
 
607
598
  has_edge :commerce_merchant_settings do |edge|
@@ -689,6 +680,13 @@ module FacebookAds
689
680
  end
690
681
  end
691
682
 
683
+ has_edge :extend_thread_control do |edge|
684
+ edge.post 'Page' do |api|
685
+ api.has_param :duration, 'int'
686
+ api.has_param :recipient, 'object'
687
+ end
688
+ end
689
+
692
690
  has_edge :feed do |edge|
693
691
  edge.get 'PagePost' do |api|
694
692
  api.has_param :include_hidden, 'bool'
@@ -913,6 +911,7 @@ module FacebookAds
913
911
  api.has_param :crossposting_actions, { list: 'hash' }
914
912
  api.has_param :custom_labels, { list: 'string' }
915
913
  api.has_param :description, 'string'
914
+ api.has_param :enable_backup_ingest, 'bool'
916
915
  api.has_param :encoding_settings, 'string'
917
916
  api.has_param :fisheye_video_cropped, 'bool'
918
917
  api.has_param :front_z_rotation, 'double'
@@ -925,7 +924,6 @@ module FacebookAds
925
924
  api.has_param :privacy, 'string'
926
925
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
927
926
  api.has_param :published, 'bool'
928
- api.has_param :save_vod, 'bool'
929
927
  api.has_param :schedule_custom_profile_image, 'file'
930
928
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
931
929
  api.has_param :status, { enum: -> { LiveVideo::STATUS }}
@@ -955,6 +953,7 @@ module FacebookAds
955
953
  api.has_param :page_username, 'string'
956
954
  api.has_param :permanently_closed, 'bool'
957
955
  api.has_param :phone, 'string'
956
+ api.has_param :pickup_options, { list: { enum: -> { Page::PICKUP_OPTIONS }} }
958
957
  api.has_param :place_topics, { list: 'string' }
959
958
  api.has_param :price_range, 'string'
960
959
  api.has_param :store_code, 'string'
@@ -1001,13 +1000,9 @@ module FacebookAds
1001
1000
  edge.get 'MessagingFeatureReview'
1002
1001
  end
1003
1002
 
1004
- has_edge :messenger_ads_page_welcome_messages do |edge|
1005
- edge.get 'MessengerDestinationPageWelcomeMessage'
1006
- end
1007
-
1008
1003
  has_edge :messenger_profile do |edge|
1009
1004
  edge.delete do |api|
1010
- api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1005
+ api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU PLATFORM TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1011
1006
  end
1012
1007
  edge.get 'MessengerProfile'
1013
1008
  edge.post 'Page' do |api|
@@ -1061,16 +1056,6 @@ module FacebookAds
1061
1056
  end
1062
1057
  end
1063
1058
 
1064
- has_edge :page_about_story do |edge|
1065
- edge.post 'Page' do |api|
1066
- api.has_param :composed_text, { list: 'hash' }
1067
- api.has_param :cover_photo, 'hash'
1068
- api.has_param :entity_map, { list: 'hash' }
1069
- api.has_param :is_published, 'bool'
1070
- api.has_param :title, 'string'
1071
- end
1072
- end
1073
-
1074
1059
  has_edge :page_backed_instagram_accounts do |edge|
1075
1060
  edge.get 'InstagramUser'
1076
1061
  edge.post 'InstagramUser'
@@ -1091,6 +1076,14 @@ module FacebookAds
1091
1076
  end
1092
1077
  end
1093
1078
 
1079
+ has_edge :pass_thread_metadata do |edge|
1080
+ edge.post 'Page' do |api|
1081
+ api.has_param :metadata, 'string'
1082
+ api.has_param :recipient, 'object'
1083
+ api.has_param :target_app_id, 'int'
1084
+ end
1085
+ end
1086
+
1094
1087
  has_edge :personas do |edge|
1095
1088
  edge.get 'Persona'
1096
1089
  edge.post 'Persona' do |api|
@@ -1175,6 +1168,7 @@ module FacebookAds
1175
1168
  end
1176
1169
  edge.post 'ProfilePictureSource' do |api|
1177
1170
  api.has_param :android_key_hash, 'string'
1171
+ api.has_param :burn_media_effect, 'bool'
1178
1172
  api.has_param :caption, 'string'
1179
1173
  api.has_param :composer_session_id, 'string'
1180
1174
  api.has_param :has_umg, 'bool'
@@ -1201,10 +1195,6 @@ module FacebookAds
1201
1195
  end
1202
1196
  end
1203
1197
 
1204
- has_edge :place_topics do |edge|
1205
- edge.get 'PlaceTopic'
1206
- end
1207
-
1208
1198
  has_edge :posts do |edge|
1209
1199
  edge.get 'PagePost' do |api|
1210
1200
  api.has_param :include_hidden, 'bool'
@@ -1230,6 +1220,12 @@ module FacebookAds
1230
1220
  edge.get 'Recommendation'
1231
1221
  end
1232
1222
 
1223
+ has_edge :release_thread_control do |edge|
1224
+ edge.post 'Page' do |api|
1225
+ api.has_param :recipient, 'object'
1226
+ end
1227
+ end
1228
+
1233
1229
  has_edge :request_thread_control do |edge|
1234
1230
  edge.post 'Page' do |api|
1235
1231
  api.has_param :metadata, 'string'
@@ -1276,9 +1272,6 @@ module FacebookAds
1276
1272
  end
1277
1273
 
1278
1274
  has_edge :tabs do |edge|
1279
- edge.delete do |api|
1280
- api.has_param :tab, 'string'
1281
- end
1282
1275
  edge.get 'Tab' do |api|
1283
1276
  api.has_param :tab, { list: 'string' }
1284
1277
  end
@@ -1309,26 +1302,6 @@ module FacebookAds
1309
1302
  end
1310
1303
  end
1311
1304
 
1312
- has_edge :thread_settings do |edge|
1313
- edge.delete do |api|
1314
- api.has_param :setting_type, { enum: -> { Page::SETTING_TYPE }}
1315
- api.has_param :thread_state, { enum: -> { Page::THREAD_STATE }}
1316
- end
1317
- edge.post 'Page' do |api|
1318
- api.has_param :account_linking_url, 'string'
1319
- api.has_param :call_to_actions, { list: 'object' }
1320
- api.has_param :domain_action_type, { enum: -> { Page::DOMAIN_ACTION_TYPE }}
1321
- api.has_param :greeting, 'object'
1322
- api.has_param :payment_dev_mode_action, { enum: -> { Page::PAYMENT_DEV_MODE_ACTION }}
1323
- api.has_param :payment_privacy_url, 'string'
1324
- api.has_param :payment_public_key, 'string'
1325
- api.has_param :payment_testers, { list: 'string' }
1326
- api.has_param :setting_type, { enum: -> { Page::SETTING_TYPE }}
1327
- api.has_param :thread_state, { enum: -> { Page::THREAD_STATE }}
1328
- api.has_param :whitelisted_domains, { list: 'string' }
1329
- end
1330
- end
1331
-
1332
1305
  has_edge :threads do |edge|
1333
1306
  edge.get 'UnifiedThread' do |api|
1334
1307
  api.has_param :folder, 'string'
@@ -1352,6 +1325,10 @@ module FacebookAds
1352
1325
  api.has_param :selected_rule_id, 'string'
1353
1326
  api.has_param :source, { enum: -> { VideoCopyrightRule::SOURCE }}
1354
1327
  end
1328
+ edge.post 'VideoCopyrightRule' do |api|
1329
+ api.has_param :condition_groups, { list: 'object' }
1330
+ api.has_param :name, 'string'
1331
+ end
1355
1332
  end
1356
1333
 
1357
1334
  has_edge :video_copyrights do |edge|
@@ -1453,6 +1430,7 @@ module FacebookAds
1453
1430
  api.has_param :slideshow_spec, 'hash'
1454
1431
  api.has_param :social_actions, 'bool'
1455
1432
  api.has_param :source, 'string'
1433
+ api.has_param :source_instagram_media_id, 'string'
1456
1434
  api.has_param :specified_dialect, 'string'
1457
1435
  api.has_param :spherical, 'bool'
1458
1436
  api.has_param :sponsor_id, 'string'
@@ -76,6 +76,7 @@ module FacebookAds
76
76
  field :id, 'string'
77
77
  field :implicit_place, 'Place'
78
78
  field :instagram_eligibility, 'string'
79
+ field :instream_eligibility, 'string'
79
80
  field :is_app_share, 'bool'
80
81
  field :is_eligible_for_promotion, 'bool'
81
82
  field :is_expired, 'bool'
@@ -94,6 +95,7 @@ module FacebookAds
94
95
  field :permalink_url, 'object'
95
96
  field :picture, 'string'
96
97
  field :place, 'Place'
98
+ field :poll, 'object'
97
99
  field :privacy, 'Privacy'
98
100
  field :promotable_id, 'string'
99
101
  field :promotion_status, 'string'
@@ -125,6 +125,12 @@ module FacebookAds
125
125
  end
126
126
  end
127
127
 
128
+ has_edge :reactions do |edge|
129
+ edge.get 'Profile' do |api|
130
+ api.has_param :type, { enum: -> { Profile::TYPE }}
131
+ end
132
+ end
133
+
128
134
  has_edge :sharedposts do |edge|
129
135
  edge.get 'Post'
130
136
  end
@@ -31,6 +31,7 @@ module FacebookAds
31
31
  field :name, 'string'
32
32
  field :owner, 'Profile'
33
33
  field :app_id, 'string'
34
+ field :session_id, 'string'
34
35
  field :source, 'file'
35
36
  field :source_url, 'string'
36
37
  field :source_zip, 'file'
@@ -46,6 +46,51 @@ module FacebookAds
46
46
  "normal",
47
47
  ]
48
48
 
49
+ CHECKIN_ENTRY_POINT = [
50
+ "BRANDING_CHECKIN",
51
+ "BRANDING_OTHER",
52
+ "BRANDING_PHOTO",
53
+ "BRANDING_STATUS",
54
+ ]
55
+
56
+ FORMATTING = [
57
+ "MARKDOWN",
58
+ "PLAINTEXT",
59
+ ]
60
+
61
+ PLACE_ATTACHMENT_SETTING = [
62
+ "1",
63
+ "2",
64
+ ]
65
+
66
+ POST_SURFACES_BLACKLIST = [
67
+ "1",
68
+ "2",
69
+ "3",
70
+ "4",
71
+ "5",
72
+ ]
73
+
74
+ POSTING_TO_REDSPACE = [
75
+ "disabled",
76
+ "enabled",
77
+ ]
78
+
79
+ TARGET_SURFACE = [
80
+ "STORY",
81
+ "TIMELINE",
82
+ ]
83
+
84
+ UNPUBLISHED_CONTENT_TYPE = [
85
+ "ADS_POST",
86
+ "DRAFT",
87
+ "INLINE_CREATED",
88
+ "PUBLISHED",
89
+ "REVIEWABLE_BRANDED_CONTENT",
90
+ "SCHEDULED",
91
+ "SCHEDULED_RECURRING",
92
+ ]
93
+
49
94
 
50
95
  field :actions, { list: 'string' }
51
96
  field :admin_creator, 'object'
@@ -74,6 +119,7 @@ module FacebookAds
74
119
  field :id, 'string'
75
120
  field :implicit_place, 'Place'
76
121
  field :instagram_eligibility, 'string'
122
+ field :instream_eligibility, 'string'
77
123
  field :is_app_share, 'bool'
78
124
  field :is_eligible_for_promotion, 'bool'
79
125
  field :is_expired, 'bool'
@@ -95,6 +141,7 @@ module FacebookAds
95
141
  field :permalink_url, 'object'
96
142
  field :picture, 'string'
97
143
  field :place, 'Place'
144
+ field :poll, 'object'
98
145
  field :privacy, 'Privacy'
99
146
  field :promotable_id, 'string'
100
147
  field :promotion_status, 'string'
@@ -174,11 +221,11 @@ module FacebookAds
174
221
  edge.post do |api|
175
222
  api.has_param :ad_account_id, 'string'
176
223
  api.has_param :ad_conversion_pixel_id, 'int'
177
- api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING COUNTRY_AND_INTEREST CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MARKETPLACE_DEFAULT MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
224
+ api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING COUNTRY_AND_INTEREST CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MARKETPLACE_DEFAULT MARKETPLACE_NATIONWIDE_AUDIENCE MARKETPLACE_SAVED_AUDIENCE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
178
225
  api.has_param :audience_id, 'string'
179
226
  api.has_param :bid_amount, 'int'
180
227
  api.has_param :budget, 'int'
181
- 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 FIND_YOUR_GROUPS FOLLOW_NEWS_STORYLINE FOLLOW_PAGE FOLLOW_USER 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 PAY_TO_ACCESS PLAY_GAME PURCHASE_GIFT_CARDS RECORD_NOW REQUEST_TIME SAY_THANKS SEE_MORE SELL_NOW SEND_A_GIFT SHARE SHOP_NOW SIGN_UP SOTTO_SUBSCRIBE SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
228
+ 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 FIND_YOUR_GROUPS FOLLOW_NEWS_STORYLINE FOLLOW_PAGE FOLLOW_USER 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 PAY_TO_ACCESS PLAY_GAME PURCHASE_GIFT_CARDS RECORD_NOW REFER_FRIENDS REQUEST_TIME SAY_THANKS SEE_MORE SELL_NOW SEND_A_GIFT SHARE SHOP_NOW SIGN_UP SOTTO_SUBSCRIBE START_ORDER SUBSCRIBE SWIPE_UP_PRODUCT SWIPE_UP_SHOP UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
182
229
  api.has_param :currency, 'string'
183
230
  api.has_param :flow_id, 'string'
184
231
  api.has_param :placement, 'string'