facebookbusiness 0.10.0.1 → 0.11.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +16 -11
  3. data/lib/facebook_ads/ad_objects/{cpas_parent_catalog_settings.rb → ad_account_ios_fourteen_campaign_limits.rb} +7 -16
  4. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +1 -0
  5. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  6. data/lib/facebook_ads/ad_objects/ad_rule.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_study.rb +0 -1
  8. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  9. data/lib/facebook_ads/ad_objects/ad_video.rb +8 -1
  10. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
  11. data/lib/facebook_ads/ad_objects/adoptable_pet.rb +4 -0
  12. data/lib/facebook_ads/ad_objects/ads_insights.rb +2 -3
  13. data/lib/facebook_ads/ad_objects/application.rb +7 -4
  14. data/lib/facebook_ads/ad_objects/audio_copyright.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/automotive_model.rb +4 -0
  16. data/lib/facebook_ads/ad_objects/business.rb +21 -19
  17. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
  18. data/lib/facebook_ads/ad_objects/canvas.rb +2 -0
  19. data/lib/facebook_ads/ad_objects/canvas_template.rb +48 -0
  20. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +31 -0
  21. data/lib/facebook_ads/ad_objects/commerce_order.rb +14 -13
  22. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -0
  23. data/lib/facebook_ads/ad_objects/destination.rb +4 -0
  24. data/lib/facebook_ads/ad_objects/event.rb +4 -0
  25. data/lib/facebook_ads/ad_objects/flight.rb +4 -0
  26. data/lib/facebook_ads/ad_objects/group.rb +0 -17
  27. data/lib/facebook_ads/ad_objects/home_listing.rb +4 -0
  28. data/lib/facebook_ads/ad_objects/hotel.rb +4 -0
  29. data/lib/facebook_ads/ad_objects/ig_user.rb +4 -1
  30. data/lib/facebook_ads/ad_objects/{invoice_campaign_new.rb → invoice_campaign.rb} +1 -1
  31. data/lib/facebook_ads/ad_objects/omega_customer_trx.rb +1 -1
  32. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +1 -1
  33. data/lib/facebook_ads/ad_objects/page.rb +43 -9
  34. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  35. data/lib/facebook_ads/ad_objects/product_catalog.rb +22 -2
  36. data/lib/facebook_ads/ad_objects/product_catalog_diagnostic_group.rb +90 -0
  37. data/lib/facebook_ads/ad_objects/product_group.rb +8 -6
  38. data/lib/facebook_ads/ad_objects/product_item.rb +8 -0
  39. data/lib/facebook_ads/ad_objects/saved_audience.rb +2 -0
  40. data/lib/facebook_ads/ad_objects/unified_thread.rb +5 -0
  41. data/lib/facebook_ads/ad_objects/vehicle.rb +4 -0
  42. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +4 -0
  43. data/lib/facebook_ads/ad_objects/video_copyright.rb +4 -0
  44. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +2 -0
  45. data/lib/facebook_ads/version.rb +2 -2
  46. metadata +9 -7
@@ -56,6 +56,37 @@ module FacebookAds
56
56
  has_no_post
57
57
  has_no_delete
58
58
 
59
+ has_edge :acknowledge_orders do |edge|
60
+ edge.post 'CommerceMerchantSettings' do |api|
61
+ api.has_param :idempotency_key, 'string'
62
+ api.has_param :orders, { list: 'hash' }
63
+ end
64
+ end
65
+
66
+ has_edge :commerce_orders do |edge|
67
+ edge.get 'CommerceOrder' do |api|
68
+ api.has_param :filters, { list: { enum: -> { CommerceOrder::FILTERS }} }
69
+ api.has_param :state, { list: { enum: -> { CommerceOrder::STATE }} }
70
+ api.has_param :updated_after, 'datetime'
71
+ api.has_param :updated_before, 'datetime'
72
+ end
73
+ end
74
+
75
+ has_edge :commerce_payouts do |edge|
76
+ edge.get 'CommercePayout' do |api|
77
+ api.has_param :end_time, 'datetime'
78
+ api.has_param :start_time, 'datetime'
79
+ end
80
+ end
81
+
82
+ has_edge :commerce_transactions do |edge|
83
+ edge.get 'CommerceOrderTransactionDetail' do |api|
84
+ api.has_param :end_time, 'datetime'
85
+ api.has_param :payout_reference_id, 'string'
86
+ api.has_param :start_time, 'datetime'
87
+ end
88
+ end
89
+
59
90
  has_edge :order_management_apps do |edge|
60
91
  edge.get 'Application'
61
92
  edge.post 'CommerceMerchantSettings'
@@ -26,19 +26,6 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class CommerceOrder < AdObject
29
- REASON_CODE = [
30
- "BUYERS_REMORSE",
31
- "DAMAGED_GOODS",
32
- "NOT_AS_DESCRIBED",
33
- "QUALITY_ISSUE",
34
- "REFUND_COMPROMISED",
35
- "REFUND_FOR_RETURN",
36
- "REFUND_REASON_OTHER",
37
- "REFUND_SFI_FAKE",
38
- "REFUND_SFI_REAL",
39
- "WRONG_ITEM",
40
- ]
41
-
42
29
  FILTERS = [
43
30
  "HAS_CANCELLATIONS",
44
31
  "HAS_FULFILLMENTS",
@@ -55,6 +42,20 @@ module FacebookAds
55
42
  "IN_PROGRESS",
56
43
  ]
57
44
 
45
+ REASON_CODE = [
46
+ "BUYERS_REMORSE",
47
+ "DAMAGED_GOODS",
48
+ "FACEBOOK_INITIATED",
49
+ "NOT_AS_DESCRIBED",
50
+ "QUALITY_ISSUE",
51
+ "REFUND_COMPROMISED",
52
+ "REFUND_FOR_RETURN",
53
+ "REFUND_REASON_OTHER",
54
+ "REFUND_SFI_FAKE",
55
+ "REFUND_SFI_REAL",
56
+ "WRONG_ITEM",
57
+ ]
58
+
58
59
 
59
60
  field :buyer_details, 'object'
60
61
  field :channel, 'string'
@@ -84,6 +84,7 @@ module FacebookAds
84
84
  field :data_source, 'CustomAudienceDataSource'
85
85
  field :data_source_types, 'string'
86
86
  field :datafile_custom_audience_uploading_status, 'string'
87
+ field :delete_time, 'int'
87
88
  field :delivery_status, 'CustomAudienceStatus'
88
89
  field :description, 'string'
89
90
  field :excluded_custom_audiences, { list: 'CustomAudience' }
@@ -58,6 +58,10 @@ module FacebookAds
58
58
  edge.get
59
59
  end
60
60
 
61
+ has_edge :channels_to_integrity_status do |edge|
62
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
63
+ end
64
+
61
65
  has_edge :videos_metadata do |edge|
62
66
  edge.get
63
67
  end
@@ -170,6 +170,10 @@ module FacebookAds
170
170
  edge.get 'Profile'
171
171
  end
172
172
 
173
+ has_edge :ticket_tiers do |edge|
174
+ edge.get
175
+ end
176
+
173
177
  has_edge :videos do |edge|
174
178
  edge.get 'NullNode'
175
179
  end
@@ -59,6 +59,10 @@ module FacebookAds
59
59
  edge.get
60
60
  end
61
61
 
62
+ has_edge :channels_to_integrity_status do |edge|
63
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
64
+ end
65
+
62
66
  has_edge :videos_metadata do |edge|
63
67
  edge.get
64
68
  end
@@ -351,14 +351,6 @@ module FacebookAds
351
351
  end
352
352
  end
353
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'
359
- end
360
- end
361
-
362
354
  has_edge :live_videos do |edge|
363
355
  edge.get 'LiveVideo' do |api|
364
356
  api.has_param :broadcast_status, { list: { enum: -> { LiveVideo::BROADCAST_STATUS }} }
@@ -474,15 +466,6 @@ module FacebookAds
474
466
  end
475
467
  end
476
468
 
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
-
486
469
  has_edge :videos do |edge|
487
470
  edge.get 'AdVideo' do |api|
488
471
  api.has_param :type, { enum: -> { AdVideo::TYPE }}
@@ -85,6 +85,10 @@ module FacebookAds
85
85
  edge.get
86
86
  end
87
87
 
88
+ has_edge :channels_to_integrity_status do |edge|
89
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
90
+ end
91
+
88
92
  has_edge :videos_metadata do |edge|
89
93
  edge.get
90
94
  end
@@ -63,6 +63,10 @@ module FacebookAds
63
63
  edge.get
64
64
  end
65
65
 
66
+ has_edge :channels_to_integrity_status do |edge|
67
+ edge.get 'CatalogItemChannelsToIntegrityStatus'
68
+ end
69
+
66
70
  has_edge :hotel_rooms do |edge|
67
71
  edge.get 'HotelRoom'
68
72
  end
@@ -60,7 +60,10 @@ module FacebookAds
60
60
  end
61
61
 
62
62
  has_edge :media do |edge|
63
- edge.get 'IgMedia'
63
+ edge.get 'IgMedia' do |api|
64
+ api.has_param :since, 'datetime'
65
+ api.has_param :until, 'datetime'
66
+ end
64
67
  edge.post 'IgMedia' do |api|
65
68
  api.has_param :caption, 'string'
66
69
  api.has_param :image_url, 'string'
@@ -25,7 +25,7 @@ module FacebookAds
25
25
  # on github and we'll fix in our codegen framework. We'll not be able to accept
26
26
  # pull request for this class.
27
27
 
28
- class InvoiceCampaignNew < AdObject
28
+ class InvoiceCampaign < AdObject
29
29
 
30
30
  field :ad_account_id, 'string'
31
31
  field :billed_amount_details, 'BilledAmountDetails'
@@ -57,7 +57,7 @@ module FacebookAds
57
57
  has_no_delete
58
58
 
59
59
  has_edge :campaigns do |edge|
60
- edge.get 'InvoiceCampaignNew'
60
+ edge.get 'InvoiceCampaign'
61
61
  end
62
62
 
63
63
  end
@@ -49,7 +49,7 @@ module FacebookAds
49
49
  has_no_delete
50
50
 
51
51
  has_edge :campaigns do |edge|
52
- edge.get 'InvoiceCampaignNew'
52
+ edge.get 'InvoiceCampaign'
53
53
  end
54
54
 
55
55
  end
@@ -122,6 +122,7 @@ module FacebookAds
122
122
  "PROFILE_PLUS_ANALYZE",
123
123
  "PROFILE_PLUS_CREATE_CONTENT",
124
124
  "PROFILE_PLUS_FACEBOOK_ACCESS",
125
+ "PROFILE_PLUS_FULL_CONTROL",
125
126
  "PROFILE_PLUS_MANAGE",
126
127
  "PROFILE_PLUS_MESSAGING",
127
128
  "PROFILE_PLUS_MODERATE",
@@ -146,6 +147,7 @@ module FacebookAds
146
147
  "PROFILE_PLUS_ANALYZE",
147
148
  "PROFILE_PLUS_CREATE_CONTENT",
148
149
  "PROFILE_PLUS_FACEBOOK_ACCESS",
150
+ "PROFILE_PLUS_FULL_CONTROL",
149
151
  "PROFILE_PLUS_MANAGE",
150
152
  "PROFILE_PLUS_MESSAGING",
151
153
  "PROFILE_PLUS_MODERATE",
@@ -232,6 +234,11 @@ module FacebookAds
232
234
  "UNREACT",
233
235
  ]
234
236
 
237
+ PLATFORM = [
238
+ "INSTAGRAM",
239
+ "MESSENGER",
240
+ ]
241
+
235
242
  MODEL = [
236
243
  "ARABIC",
237
244
  "CHINESE",
@@ -534,6 +541,10 @@ module FacebookAds
534
541
  end
535
542
  end
536
543
 
544
+ has_edge :audio_isrcs do |edge|
545
+ edge.get
546
+ end
547
+
537
548
  has_edge :blocked do |edge|
538
549
  edge.delete do |api|
539
550
  api.has_param :asid, 'string'
@@ -600,6 +611,7 @@ module FacebookAds
600
611
  api.has_param :is_hidden, 'bool'
601
612
  api.has_param :is_published, 'bool'
602
613
  api.has_param :name, 'string'
614
+ api.has_param :source_template_id, 'string'
603
615
  end
604
616
  end
605
617
 
@@ -642,6 +654,7 @@ module FacebookAds
642
654
  has_edge :conversations do |edge|
643
655
  edge.get 'UnifiedThread' do |api|
644
656
  api.has_param :folder, 'string'
657
+ api.has_param :platform, { enum: -> { UnifiedThread::PLATFORM }}
645
658
  api.has_param :tags, { list: 'string' }
646
659
  api.has_param :user_id, 'string'
647
660
  end
@@ -831,6 +844,13 @@ module FacebookAds
831
844
  edge.get 'Page'
832
845
  end
833
846
 
847
+ has_edge :groups do |edge|
848
+ edge.get 'Group' do |api|
849
+ api.has_param :admin_only, 'bool'
850
+ api.has_param :parent, 'string'
851
+ end
852
+ end
853
+
834
854
  has_edge :image_copyrights do |edge|
835
855
  edge.get 'ImageCopyright'
836
856
  edge.post 'ImageCopyright' do |api|
@@ -1020,6 +1040,7 @@ module FacebookAds
1020
1040
  api.has_param :message, 'object'
1021
1041
  api.has_param :messaging_type, { enum: -> { Page::MESSAGING_TYPE }}
1022
1042
  api.has_param :notification_type, { enum: -> { Page::NOTIFICATION_TYPE }}
1043
+ api.has_param :payload, 'string'
1023
1044
  api.has_param :persona_id, 'string'
1024
1045
  api.has_param :recipient, 'object'
1025
1046
  api.has_param :sender_action, { enum: -> { Page::SENDER_ACTION }}
@@ -1034,8 +1055,11 @@ module FacebookAds
1034
1055
  has_edge :messenger_profile do |edge|
1035
1056
  edge.delete do |api|
1036
1057
  api.has_param :fields, { list: { enum: %w{ACCOUNT_LINKING_URL GET_STARTED GREETING HOME_URL ICE_BREAKERS PAYMENT_SETTINGS PERSISTENT_MENU PLATFORM SUBJECT_TO_NEW_EU_PRIVACY_RULES TARGET_AUDIENCE WHITELISTED_DOMAINS }} }
1058
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1059
+ end
1060
+ edge.get 'MessengerProfile' do |api|
1061
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1037
1062
  end
1038
- edge.get 'MessengerProfile'
1039
1063
  edge.post 'Page' do |api|
1040
1064
  api.has_param :account_linking_url, 'string'
1041
1065
  api.has_param :get_started, 'object'
@@ -1043,6 +1067,7 @@ module FacebookAds
1043
1067
  api.has_param :ice_breakers, { list: 'hash' }
1044
1068
  api.has_param :payment_settings, 'object'
1045
1069
  api.has_param :persistent_menu, { list: 'object' }
1070
+ api.has_param :platform, { enum: -> { Page::PLATFORM }}
1046
1071
  api.has_param :target_audience, 'object'
1047
1072
  api.has_param :whitelisted_domains, { list: 'string' }
1048
1073
  end
@@ -1123,13 +1148,6 @@ module FacebookAds
1123
1148
  end
1124
1149
  end
1125
1150
 
1126
- has_edge :phone_data do |edge|
1127
- edge.post do |api|
1128
- api.has_param :call_ads_phone_data_use_case, { enum: %w{CALL_DESTINATION_AD CALL_EXTENSION_AD }}
1129
- api.has_param :phone_number, 'string'
1130
- end
1131
- end
1132
-
1133
1151
  has_edge :photos do |edge|
1134
1152
  edge.get 'Photo' do |api|
1135
1153
  api.has_param :biz_tag_id, 'int'
@@ -1209,6 +1227,7 @@ module FacebookAds
1209
1227
  api.has_param :burn_media_effect, 'bool'
1210
1228
  api.has_param :caption, 'string'
1211
1229
  api.has_param :composer_session_id, 'string'
1230
+ api.has_param :frame_entrypoint, 'string'
1212
1231
  api.has_param :has_umg, 'bool'
1213
1232
  api.has_param :height, 'int'
1214
1233
  api.has_param :ios_bundle_id, 'string'
@@ -1289,7 +1308,9 @@ module FacebookAds
1289
1308
  end
1290
1309
 
1291
1310
  has_edge :secondary_receivers do |edge|
1292
- edge.get 'Application'
1311
+ edge.get 'Application' do |api|
1312
+ api.has_param :platform, { enum: -> { Application::PLATFORM }}
1313
+ end
1293
1314
  end
1294
1315
 
1295
1316
  has_edge :settings do |edge|
@@ -1501,5 +1522,18 @@ module FacebookAds
1501
1522
  end
1502
1523
  end
1503
1524
 
1525
+ has_edge :workpagemessages do |edge|
1526
+ edge.post 'Page' do |api|
1527
+ api.has_param :message, 'object'
1528
+ api.has_param :messaging_type, { enum: -> { Page::MESSAGING_TYPE }}
1529
+ api.has_param :notification_type, { enum: -> { Page::NOTIFICATION_TYPE }}
1530
+ api.has_param :payload, 'string'
1531
+ api.has_param :persona_id, 'string'
1532
+ api.has_param :recipient, 'object'
1533
+ api.has_param :sender_action, { enum: -> { Page::SENDER_ACTION }}
1534
+ api.has_param :tag, 'object'
1535
+ end
1536
+ end
1537
+
1504
1538
  end
1505
1539
  end
@@ -33,6 +33,7 @@ module FacebookAds
33
33
  "FACEBOOK_APP",
34
34
  "FOLLOW",
35
35
  "MARKETPLACE_INVENTORY_PAGE",
36
+ "MENU_ON_FACEBOOK",
36
37
  "MESSENGER",
37
38
  "MINI_SHOP",
38
39
  "MOBILE_CENTER",
@@ -49,6 +50,7 @@ module FacebookAds
49
50
  "FACEBOOK_APP",
50
51
  "FOLLOW",
51
52
  "MARKETPLACE_INVENTORY_PAGE",
53
+ "MENU_ON_FACEBOOK",
52
54
  "MESSENGER",
53
55
  "MINI_SHOP",
54
56
  "NONE",
@@ -88,6 +90,7 @@ module FacebookAds
88
90
  "SHOP_ON_FACEBOOK",
89
91
  "SIGN_UP",
90
92
  "VIEW_INVENTORY",
93
+ "VIEW_MENU",
91
94
  "VIEW_SHOP",
92
95
  "VISIT_GROUP",
93
96
  "WATCH_NOW",
@@ -112,6 +112,7 @@ module FacebookAds
112
112
  field :destination_catalog_settings, 'hash'
113
113
  field :flight_catalog_settings, 'hash'
114
114
  field :parent_catalog_id, 'string'
115
+ field :partner_integration, 'hash'
115
116
 
116
117
  has_edge :agencies do |edge|
117
118
  edge.delete do |api|
@@ -203,6 +204,15 @@ module FacebookAds
203
204
  end
204
205
  end
205
206
 
207
+ has_edge :diagnostics do |edge|
208
+ edge.get 'ProductCatalogDiagnosticGroup' do |api|
209
+ api.has_param :affected_channels, { list: { enum: -> { ProductCatalogDiagnosticGroup::AFFECTED_CHANNELS }} }
210
+ api.has_param :affected_features, { list: { enum: -> { ProductCatalogDiagnosticGroup::AFFECTED_FEATURES }} }
211
+ api.has_param :severities, { list: { enum: -> { ProductCatalogDiagnosticGroup::SEVERITIES }} }
212
+ api.has_param :types, { list: { enum: -> { ProductCatalogDiagnosticGroup::TYPES }} }
213
+ end
214
+ end
215
+
206
216
  has_edge :event_stats do |edge|
207
217
  edge.get 'ProductEventStat' do |api|
208
218
  api.has_param :breakdowns, { list: { enum: -> { ProductEventStat::BREAKDOWNS }} }
@@ -211,11 +221,11 @@ module FacebookAds
211
221
 
212
222
  has_edge :external_event_sources do |edge|
213
223
  edge.delete do |api|
214
- api.has_param :external_event_sources, { list: 'string' }
224
+ api.has_param :external_event_sources, 'object'
215
225
  end
216
226
  edge.get 'ExternalEventSource'
217
227
  edge.post 'ProductCatalog' do |api|
218
- api.has_param :external_event_sources, { list: 'string' }
228
+ api.has_param :external_event_sources, 'object'
219
229
  end
220
230
  end
221
231
 
@@ -295,6 +305,14 @@ module FacebookAds
295
305
  end
296
306
  end
297
307
 
308
+ has_edge :localized_items_batch do |edge|
309
+ edge.post 'ProductCatalog' do |api|
310
+ api.has_param :allow_upsert, 'bool'
311
+ api.has_param :item_type, 'string'
312
+ api.has_param :requests, 'hash'
313
+ end
314
+ end
315
+
298
316
  has_edge :media_titles do |edge|
299
317
  edge.get do |api|
300
318
  api.has_param :bulk_pagination, 'bool'
@@ -415,6 +433,7 @@ module FacebookAds
415
433
  api.has_param :iphone_url, 'string'
416
434
  api.has_param :launch_date, 'string'
417
435
  api.has_param :manufacturer_part_number, 'string'
436
+ api.has_param :marked_for_product_launch, { enum: -> { ProductItem::MARKED_FOR_PRODUCT_LAUNCH }}
418
437
  api.has_param :material, 'string'
419
438
  api.has_param :mobile_link, 'string'
420
439
  api.has_param :name, 'string'
@@ -425,6 +444,7 @@ module FacebookAds
425
444
  api.has_param :pattern, 'string'
426
445
  api.has_param :price, 'int'
427
446
  api.has_param :product_type, 'string'
447
+ api.has_param :quantity_to_sell_on_facebook, 'int'
428
448
  api.has_param :retailer_id, 'string'
429
449
  api.has_param :retailer_product_group_id, 'string'
430
450
  api.has_param :return_policy_days, 'int'