facebookbusiness 0.7.0.2 → 0.8.0.4

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad_account.rb +21 -22
  3. data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +24 -0
  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 +22 -5
  7. data/lib/facebook_ads/ad_objects/ad_activity.rb +7 -1
  8. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +5 -0
  9. data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
  10. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +4 -2
  11. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  12. data/lib/facebook_ads/ad_objects/ad_creative.rb +4 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
  14. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +4 -0
  15. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  16. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
  17. data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
  18. data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
  19. data/lib/facebook_ads/ad_objects/ad_set.rb +2 -0
  20. data/lib/facebook_ads/ad_objects/ad_study.rb +2 -1
  21. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
  22. data/lib/facebook_ads/ad_objects/ad_video.rb +15 -27
  23. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +4 -0
  24. data/lib/facebook_ads/ad_objects/{user_taggable_friend.rb → adoptable_pet.rb} +27 -14
  25. data/lib/facebook_ads/ad_objects/ads_insights.rb +5 -0
  26. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -0
  27. data/lib/facebook_ads/ad_objects/application.rb +27 -0
  28. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +3 -3
  29. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  30. data/lib/facebook_ads/ad_objects/business.rb +55 -119
  31. data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -3
  32. data/lib/facebook_ads/ad_objects/business_role_request.rb +9 -0
  33. data/lib/facebook_ads/ad_objects/business_unit.rb +1 -1
  34. data/lib/facebook_ads/ad_objects/business_user.rb +9 -0
  35. data/lib/facebook_ads/ad_objects/campaign.rb +258 -0
  36. data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +88 -0
  37. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +24 -19
  38. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
  39. data/lib/facebook_ads/ad_objects/commerce_order.rb +6 -0
  40. data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +4 -0
  41. data/lib/facebook_ads/ad_objects/{creative_asset_tag.rb → connections_targeting.rb} +2 -2
  42. data/lib/facebook_ads/ad_objects/{business_creative_folder_sharing_agreement.rb → cpas_advertiser_partnership_recommendation.rb} +8 -11
  43. data/lib/facebook_ads/ad_objects/{brand_audience.rb → cpas_collaboration_request.rb} +15 -9
  44. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
  45. data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
  46. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  47. data/lib/facebook_ads/ad_objects/event.rb +12 -1
  48. data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -0
  49. data/lib/facebook_ads/ad_objects/external_event_source.rb +1 -0
  50. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/group.rb +12 -1
  52. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  53. data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  55. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
  56. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  57. data/lib/facebook_ads/ad_objects/link.rb +6 -6
  58. data/lib/facebook_ads/ad_objects/live_video.rb +12 -16
  59. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -1
  60. data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
  61. data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
  62. data/lib/facebook_ads/ad_objects/page.rb +52 -72
  63. data/lib/facebook_ads/ad_objects/page_admin_note.rb +1 -0
  64. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
  65. data/lib/facebook_ads/ad_objects/page_change_proposal.rb +2 -0
  66. data/lib/facebook_ads/ad_objects/page_post.rb +2 -0
  67. data/lib/facebook_ads/ad_objects/{business_creative.rb → payment_subscription.rb} +24 -16
  68. data/lib/facebook_ads/ad_objects/photo.rb +6 -0
  69. data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
  70. data/lib/facebook_ads/ad_objects/post.rb +49 -2
  71. data/lib/facebook_ads/ad_objects/product_catalog.rb +44 -7
  72. data/lib/facebook_ads/ad_objects/product_feed.rb +32 -0
  73. data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
  74. data/lib/facebook_ads/ad_objects/product_item.rb +3 -0
  75. data/lib/facebook_ads/ad_objects/product_set.rb +4 -0
  76. data/lib/facebook_ads/ad_objects/{user_influence.rb → product_set_metadata.rb} +5 -4
  77. data/lib/facebook_ads/ad_objects/profile.rb +1 -0
  78. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +4 -0
  79. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
  80. data/lib/facebook_ads/ad_objects/referral.rb +2 -0
  81. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  82. data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
  83. data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
  84. data/lib/facebook_ads/ad_objects/server_side/content.rb +75 -13
  85. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +45 -6
  86. data/lib/facebook_ads/ad_objects/server_side/delivery_category.rb +33 -0
  87. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +134 -13
  88. data/lib/facebook_ads/ad_objects/{client_transparency_status.rb → server_side/event_request_async.rb} +20 -17
  89. data/lib/facebook_ads/ad_objects/{whats_app_business_profile.rb → server_side/http_method.rb} +7 -15
  90. data/lib/facebook_ads/ad_objects/{ads_interest.rb → server_side/http_service_interface.rb} +10 -18
  91. data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
  92. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +145 -17
  93. data/lib/facebook_ads/ad_objects/server_side/util.rb +216 -149
  94. data/lib/facebook_ads/ad_objects/system_user.rb +9 -4
  95. data/lib/facebook_ads/ad_objects/targeting.rb +4 -3
  96. data/lib/facebook_ads/ad_objects/{atlas_url.rb → targeting_relaxation.rb} +2 -2
  97. data/lib/facebook_ads/ad_objects/unified_thread.rb +1 -0
  98. data/lib/facebook_ads/ad_objects/user.rb +30 -24
  99. data/lib/facebook_ads/ad_objects/vehicle.rb +2 -0
  100. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  101. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -0
  102. data/lib/facebook_ads/errors.rb +1 -1
  103. data/lib/facebook_ads/session.rb +1 -1
  104. data/lib/facebook_ads/version.rb +2 -2
  105. metadata +63 -25
  106. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -79
  107. data/lib/facebook_ads/ad_objects/business_image.rb +0 -95
  108. data/lib/facebook_ads/ad_objects/iterative_split_test_config.rb +0 -43
  109. data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +0 -39
  110. data/lib/facebook_ads/ad_objects/page_about_story.rb +0 -39
  111. data/lib/facebook_ads/ad_objects/split_test_config.rb +0 -41
  112. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +0 -51
@@ -29,10 +29,19 @@ module FacebookAds
29
29
  ROLE = [
30
30
  "ADMIN",
31
31
  "ADS_RIGHTS_REVIEWER",
32
+ "DEFAULT",
32
33
  "DEVELOPER",
33
34
  "EMPLOYEE",
34
35
  "FINANCE_ANALYST",
36
+ "FINANCE_EDIT",
35
37
  "FINANCE_EDITOR",
38
+ "FINANCE_VIEW",
39
+ "MANAGE",
40
+ "PARTNER_CENTER_ADMIN",
41
+ "PARTNER_CENTER_ANALYST",
42
+ "PARTNER_CENTER_EDUCATION",
43
+ "PARTNER_CENTER_MARKETING",
44
+ "PARTNER_CENTER_OPERATIONS",
36
45
  ]
37
46
 
38
47
 
@@ -65,9 +74,5 @@ module FacebookAds
65
74
  edge.get 'ProductCatalog'
66
75
  end
67
76
 
68
- has_edge :updated_by do |edge|
69
- edge.get 'User'
70
- end
71
-
72
77
  end
73
78
  end
@@ -50,7 +50,7 @@ module FacebookAds
50
50
  field :catalog_based_targeting, 'CatalogBasedTargeting'
51
51
  field :cities, { list: 'IdName' }
52
52
  field :college_years, { list: 'int' }
53
- field :connections, { list: 'IdName' }
53
+ field :connections, { list: 'ConnectionsTargeting' }
54
54
  field :contextual_targeting_categories, { list: 'IdName' }
55
55
  field :countries, { list: 'string' }
56
56
  field :country, { list: 'string' }
@@ -72,7 +72,7 @@ module FacebookAds
72
72
  field :ethnic_affinity, { list: 'IdName' }
73
73
  field :exclude_reached_since, { list: 'string' }
74
74
  field :excluded_brand_safety_content_types, { list: 'string' }
75
- field :excluded_connections, { list: 'IdName' }
75
+ field :excluded_connections, { list: 'ConnectionsTargeting' }
76
76
  field :excluded_custom_audiences, { list: 'RawCustomAudience' }
77
77
  field :excluded_dynamic_audience_ids, { list: 'string' }
78
78
  field :excluded_engagement_specs, { list: 'TargetingDynamicRule' }
@@ -87,7 +87,7 @@ module FacebookAds
87
87
  field :family_statuses, { list: 'IdName' }
88
88
  field :fb_deal_id, 'string'
89
89
  field :flexible_spec, { list: 'FlexibleTargeting' }
90
- field :friends_of_connections, { list: 'IdName' }
90
+ field :friends_of_connections, { list: 'ConnectionsTargeting' }
91
91
  field :genders, { list: 'int' }
92
92
  field :generation, { list: 'IdName' }
93
93
  field :geo_locations, 'TargetingGeoLocation'
@@ -98,6 +98,7 @@ module FacebookAds
98
98
  field :income, { list: 'IdName' }
99
99
  field :industries, { list: 'IdName' }
100
100
  field :instagram_positions, { list: 'string' }
101
+ field :instream_video_skippable_excluded, 'bool'
101
102
  field :interested_in, { list: 'int' }
102
103
  field :interests, { list: 'IdName' }
103
104
  field :is_whatsapp_destination_ad, 'bool'
@@ -25,9 +25,9 @@ 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 AtlasUrl < AdObject
28
+ class TargetingRelaxation < AdObject
29
29
 
30
- field :url, 'string'
30
+ field :lookalike, 'int'
31
31
  has_no_id
32
32
  has_no_get
33
33
  has_no_post
@@ -32,6 +32,7 @@ module FacebookAds
32
32
  field :id, 'string'
33
33
  field :is_subscribed, 'bool'
34
34
  field :link, 'string'
35
+ field :linked_group, 'Group'
35
36
  field :message_count, 'int'
36
37
  field :name, 'string'
37
38
  field :participants, 'object'
@@ -54,7 +54,6 @@ module FacebookAds
54
54
  field :age_range, 'AgeRange'
55
55
  field :auth_method, 'string'
56
56
  field :birthday, 'string'
57
- field :can_review_measurement_request, 'bool'
58
57
  field :cover, 'UserCoverPhoto'
59
58
  field :currency, 'Currency'
60
59
  field :devices, { list: 'UserDevice' }
@@ -70,9 +69,7 @@ module FacebookAds
70
69
  field :install_type, 'string'
71
70
  field :installed, 'bool'
72
71
  field :interested_in, { list: 'string' }
73
- field :is_famedeeplinkinguser, 'bool'
74
72
  field :is_guest_user, 'bool'
75
- field :is_shared_login, 'bool'
76
73
  field :is_verified, 'bool'
77
74
  field :languages, { list: 'Experience' }
78
75
  field :last_name, 'string'
@@ -82,6 +79,7 @@ module FacebookAds
82
79
  field :locale, 'string'
83
80
  field :location, 'Page'
84
81
  field :meeting_for, { list: 'string' }
82
+ field :messenger_join_notifications_enabled, 'bool'
85
83
  field :middle_name, 'string'
86
84
  field :name, 'string'
87
85
  field :name_format, 'string'
@@ -89,23 +87,23 @@ module FacebookAds
89
87
  field :political, 'string'
90
88
  field :profile_pic, 'string'
91
89
  field :public_key, 'string'
90
+ field :published_timeline, 'bool'
92
91
  field :quotes, 'string'
93
92
  field :relationship_status, 'string'
94
93
  field :religion, 'string'
95
- field :security_settings, 'SecuritySettings'
96
94
  field :shared_login_upgrade_required_by, 'datetime'
97
95
  field :short_name, 'string'
98
96
  field :significant_other, 'User'
99
97
  field :sports, { list: 'Experience' }
100
98
  field :supports_donate_button_in_live_video, 'bool'
101
- field :test_group, 'int'
102
99
  field :third_party_id, 'string'
103
100
  field :timezone, 'double'
104
101
  field :token_for_business, 'string'
105
102
  field :updated_time, 'datetime'
103
+ field :user_storage_key, 'string'
104
+ field :username, 'string'
106
105
  field :verified, 'bool'
107
106
  field :video_upload_limits, 'VideoUploadLimits'
108
- field :viewer_can_send_gift, 'bool'
109
107
  field :website, 'string'
110
108
  field :work, { list: 'object' }
111
109
 
@@ -211,6 +209,7 @@ module FacebookAds
211
209
  end
212
210
  edge.get 'Business'
213
211
  edge.post 'Business' do |api|
212
+ api.has_param :child_business_external_id, 'string'
214
213
  api.has_param :email, 'string'
215
214
  api.has_param :name, 'string'
216
215
  api.has_param :primary_page, 'string'
@@ -243,7 +242,15 @@ module FacebookAds
243
242
  end
244
243
 
245
244
  has_edge :feed do |edge|
246
- edge.post do |api|
245
+ edge.get 'Post' do |api|
246
+ api.has_param :include_hidden, 'bool'
247
+ api.has_param :q, 'string'
248
+ api.has_param :show_expired, 'bool'
249
+ api.has_param :since, 'datetime'
250
+ api.has_param :until, 'datetime'
251
+ api.has_param :with, 'string'
252
+ end
253
+ edge.post 'Post' do |api|
247
254
  api.has_param :actions, 'object'
248
255
  api.has_param :adaptive_type, 'string'
249
256
  api.has_param :album_id, 'string'
@@ -257,10 +264,10 @@ module FacebookAds
257
264
  api.has_param :attached_media, { list: 'object' }
258
265
  api.has_param :audience_exp, 'bool'
259
266
  api.has_param :backdated_time, 'datetime'
260
- api.has_param :backdated_time_granularity, { enum: %w{day hour min month none year }}
267
+ api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }}
261
268
  api.has_param :call_to_action, 'object'
262
269
  api.has_param :caption, 'string'
263
- api.has_param :checkin_entry_point, { enum: %w{BRANDING_CHECKIN BRANDING_OTHER BRANDING_PHOTO BRANDING_STATUS }}
270
+ api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }}
264
271
  api.has_param :child_attachments, { list: 'object' }
265
272
  api.has_param :client_mutation_id, 'string'
266
273
  api.has_param :composer_entry_picker, 'string'
@@ -280,7 +287,7 @@ module FacebookAds
280
287
  api.has_param :expanded_height, 'int'
281
288
  api.has_param :expanded_width, 'int'
282
289
  api.has_param :feed_targeting, 'object'
283
- api.has_param :formatting, { enum: %w{MARKDOWN PLAINTEXT }}
290
+ api.has_param :formatting, { enum: -> { Post::FORMATTING }}
284
291
  api.has_param :fun_fact_prompt_id, 'int'
285
292
  api.has_param :fun_fact_toastee_id, 'int'
286
293
  api.has_param :has_nickname, 'bool'
@@ -317,11 +324,11 @@ module FacebookAds
317
324
  api.has_param :page_recommendation, 'string'
318
325
  api.has_param :picture, 'string'
319
326
  api.has_param :place, 'object'
320
- api.has_param :place_attachment_setting, { enum: %w{1 2 }}
327
+ api.has_param :place_attachment_setting, { enum: -> { Post::PLACE_ATTACHMENT_SETTING }}
321
328
  api.has_param :place_list, 'string'
322
329
  api.has_param :place_list_data, { list: 'string' }
323
- api.has_param :post_surfaces_blacklist, { list: { enum: %w{1 2 3 4 5 }} }
324
- api.has_param :posting_to_redspace, { enum: %w{disabled enabled }}
330
+ api.has_param :post_surfaces_blacklist, { list: { enum: -> { Post::POST_SURFACES_BLACKLIST }} }
331
+ api.has_param :posting_to_redspace, { enum: -> { Post::POSTING_TO_REDSPACE }}
325
332
  api.has_param :privacy, 'string'
326
333
  api.has_param :prompt_id, 'string'
327
334
  api.has_param :prompt_tracking_string, 'string'
@@ -341,7 +348,7 @@ module FacebookAds
341
348
  api.has_param :sponsor_relationship, 'int'
342
349
  api.has_param :suggested_place_id, 'object'
343
350
  api.has_param :tags, { list: 'int' }
344
- api.has_param :target_surface, { enum: %w{STORY TIMELINE }}
351
+ api.has_param :target_surface, { enum: -> { Post::TARGET_SURFACE }}
345
352
  api.has_param :targeting, 'object'
346
353
  api.has_param :text_format_metadata, 'string'
347
354
  api.has_param :text_format_preset_id, 'string'
@@ -351,7 +358,7 @@ module FacebookAds
351
358
  api.has_param :time_since_original_post, 'int'
352
359
  api.has_param :title, 'string'
353
360
  api.has_param :tracking_info, 'string'
354
- api.has_param :unpublished_content_type, { enum: %w{ADS_POST DRAFT INLINE_CREATED PUBLISHED REVIEWABLE_BRANDED_CONTENT SCHEDULED SCHEDULED_RECURRING }}
361
+ api.has_param :unpublished_content_type, { enum: -> { Post::UNPUBLISHED_CONTENT_TYPE }}
355
362
  api.has_param :user_selected_tags, 'bool'
356
363
  api.has_param :video_start_time_ms, 'int'
357
364
  api.has_param :viewer_coordinates, 'object'
@@ -359,10 +366,6 @@ module FacebookAds
359
366
  end
360
367
  end
361
368
 
362
- has_edge :friendlists do |edge|
363
- edge.get 'FriendList'
364
- end
365
-
366
369
  has_edge :friends do |edge|
367
370
  edge.get 'User' do |api|
368
371
  api.has_param :uid, 'int'
@@ -472,6 +475,7 @@ module FacebookAds
472
475
  edge.post 'LiveVideo' do |api|
473
476
  api.has_param :content_tags, { list: 'string' }
474
477
  api.has_param :description, 'string'
478
+ api.has_param :enable_backup_ingest, 'bool'
475
479
  api.has_param :encoding_settings, 'string'
476
480
  api.has_param :fisheye_video_cropped, 'bool'
477
481
  api.has_param :front_z_rotation, 'double'
@@ -483,7 +487,6 @@ module FacebookAds
483
487
  api.has_param :privacy, 'string'
484
488
  api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
485
489
  api.has_param :published, 'bool'
486
- api.has_param :save_vod, 'bool'
487
490
  api.has_param :schedule_custom_profile_image, 'file'
488
491
  api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
489
492
  api.has_param :status, { enum: -> { LiveVideo::STATUS }}
@@ -513,6 +516,10 @@ module FacebookAds
513
516
  end
514
517
  end
515
518
 
519
+ has_edge :owned_product_catalogs do |edge|
520
+ edge.get 'ProductCatalog'
521
+ end
522
+
516
523
  has_edge :permissions do |edge|
517
524
  edge.delete do |api|
518
525
  api.has_param :permission, 'string'
@@ -589,6 +596,7 @@ module FacebookAds
589
596
 
590
597
  has_edge :picture do |edge|
591
598
  edge.get 'ProfilePictureSource' do |api|
599
+ api.has_param :breaking_change, { enum: -> { ProfilePictureSource::BREAKING_CHANGE }}
592
600
  api.has_param :height, 'int'
593
601
  api.has_param :redirect, 'bool'
594
602
  api.has_param :type, { enum: -> { ProfilePictureSource::TYPE }}
@@ -608,10 +616,6 @@ module FacebookAds
608
616
  end
609
617
  end
610
618
 
611
- has_edge :taggable_friends do |edge|
612
- edge.get 'UserTaggableFriend'
613
- end
614
-
615
619
  has_edge :videos do |edge|
616
620
  edge.get 'AdVideo' do |api|
617
621
  api.has_param :type, { enum: -> { AdVideo::TYPE }}
@@ -632,6 +636,7 @@ module FacebookAds
632
636
  api.has_param :composer_type, 'string'
633
637
  api.has_param :container_type, { enum: -> { AdVideo::CONTAINER_TYPE }}
634
638
  api.has_param :content_category, { enum: -> { AdVideo::CONTENT_CATEGORY }}
639
+ api.has_param :creative_tools, 'string'
635
640
  api.has_param :description, 'string'
636
641
  api.has_param :direct_share_status, 'int'
637
642
  api.has_param :embeddable, 'bool'
@@ -690,6 +695,7 @@ module FacebookAds
690
695
  api.has_param :upload_session_id, 'string'
691
696
  api.has_param :upload_setting_properties, 'string'
692
697
  api.has_param :video_file_chunk, 'string'
698
+ api.has_param :video_id_original, 'string'
693
699
  api.has_param :video_start_time_ms, 'int'
694
700
  api.has_param :waterfall_id, 'string'
695
701
  end
@@ -29,6 +29,7 @@ module FacebookAds
29
29
  AVAILABILITY = [
30
30
  "AVAILABLE",
31
31
  "NOT_AVAILABLE",
32
+ "PENDING",
32
33
  ]
33
34
 
34
35
  BODY_STYLE = [
@@ -108,6 +109,7 @@ module FacebookAds
108
109
  field :applinks, 'CatalogItemAppLinks'
109
110
  field :availability, 'string'
110
111
  field :body_style, 'string'
112
+ field :category_specific_fields, 'CatalogSubVerticalList'
111
113
  field :condition, 'string'
112
114
  field :currency, 'string'
113
115
  field :custom_label_0, 'string'
@@ -35,6 +35,7 @@ module FacebookAds
35
35
  field :body_style, 'string'
36
36
  field :cashback_currency, 'string'
37
37
  field :cashback_price, 'string'
38
+ field :category_specific_fields, 'CatalogSubVerticalList'
38
39
  field :currency, 'string'
39
40
  field :dma_codes, { list: 'string' }
40
41
  field :downpayment_currency, 'string'
@@ -26,6 +26,14 @@ module FacebookAds
26
26
  # pull request for this class.
27
27
 
28
28
  class WhatsAppBusinessAccount < AdObject
29
+ TASKS = [
30
+ "DEVELOP",
31
+ "MANAGE",
32
+ "MANAGE_PHONE",
33
+ "MANAGE_TEMPLATES",
34
+ "VIEW_COST",
35
+ ]
36
+
29
37
  CATEGORY = [
30
38
  "ACCOUNT_UPDATE",
31
39
  "ALERT_UPDATE",
@@ -47,12 +55,27 @@ module FacebookAds
47
55
  field :message_template_namespace, 'string'
48
56
  field :name, 'string'
49
57
  field :on_behalf_of_business_info, 'object'
58
+ field :owner_business_info, 'object'
59
+ field :primary_funding_id, 'string'
50
60
  field :purchase_order_number, 'string'
51
61
  field :status, 'string'
52
62
  field :timezone_id, 'string'
53
63
  has_no_post
54
64
  has_no_delete
55
65
 
66
+ has_edge :assigned_users do |edge|
67
+ edge.delete do |api|
68
+ api.has_param :user, 'int'
69
+ end
70
+ edge.get 'AssignedUser' do |api|
71
+ api.has_param :business, 'string'
72
+ end
73
+ edge.post 'WhatsAppBusinessAccount' do |api|
74
+ api.has_param :tasks, { list: { enum: -> { WhatsAppBusinessAccount::TASKS }} }
75
+ api.has_param :user, 'int'
76
+ end
77
+ end
78
+
56
79
  has_edge :message_templates do |edge|
57
80
  edge.delete do |api|
58
81
  api.has_param :name, 'string'
@@ -78,6 +101,8 @@ module FacebookAds
78
101
  end
79
102
 
80
103
  has_edge :subscribed_apps do |edge|
104
+ edge.delete
105
+ edge.get
81
106
  edge.post 'WhatsAppBusinessAccount'
82
107
  end
83
108
 
@@ -26,7 +26,7 @@ module FacebookAds
26
26
  ERROR_ATTRS = [
27
27
  :headers, :fb_message, :type, :code,
28
28
  :error_subcode, :is_transient, :error_user_title,
29
- :error_user_msg, :fbtrace_id,
29
+ :error_user_msg, :error_data, :fbtrace_id,
30
30
  ]
31
31
 
32
32
  attr_accessor *ERROR_ATTRS
@@ -39,7 +39,7 @@ module FacebookAds
39
39
  case method
40
40
  when :get, :post, :delete
41
41
  api_conn.send(method, path.gsub(/^\//,''), params) do |req|
42
- req.headers[:user_agent] = "fbbizsdk-ruby-v#{API_VERSION}".freeze
42
+ req.headers[:user_agent] = "fbbizsdk-ruby-v#{VERSION}".freeze
43
43
  req.params[:access_token] = access_token if access_token
44
44
  req.params[:appsecret_proof] = appsecret_proof if app_secret
45
45
  end
@@ -19,6 +19,6 @@
19
19
  # FB:AUTOGEN
20
20
 
21
21
  module FacebookAds
22
- VERSION = '0.7.0.2'
23
- API_VERSION = '7.0'
22
+ VERSION = '0.8.0.4'
23
+ API_VERSION = '8.0'
24
24
  end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facebookbusiness
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.2
4
+ version: 0.8.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Facebook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-22 00:00:00.000000000 Z
11
+ date: 2020-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: concurrent-ruby
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: faraday
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - "~>"
18
32
  - !ruby/object:Gem::Version
19
- version: '0.15'
33
+ version: '1.0'
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: '0.15'
40
+ version: '1.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: json
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,34 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '2.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: countries
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: money
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '6.13'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '6.13'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: awesome_print
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +184,14 @@ dependencies:
142
184
  requirements:
143
185
  - - "~>"
144
186
  - !ruby/object:Gem::Version
145
- version: '12.3'
187
+ version: '13.0'
146
188
  type: :development
147
189
  prerelease: false
148
190
  version_requirements: !ruby/object:Gem::Requirement
149
191
  requirements:
150
192
  - - "~>"
151
193
  - !ruby/object:Gem::Version
152
- version: '12.3'
194
+ version: '13.0'
153
195
  - !ruby/object:Gem::Dependency
154
196
  name: rspec
155
197
  requirement: !ruby/object:Gem::Requirement
@@ -329,10 +371,10 @@ files:
329
371
  - lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb
330
372
  - lib/facebook_ads/ad_objects/adgroup_relevance_score.rb
331
373
  - lib/facebook_ads/ad_objects/adgroup_review_feedback.rb
374
+ - lib/facebook_ads/ad_objects/adoptable_pet.rb
332
375
  - lib/facebook_ads/ad_objects/ads_action_stats.rb
333
376
  - lib/facebook_ads/ad_objects/ads_image_crops.rb
334
377
  - lib/facebook_ads/ad_objects/ads_insights.rb
335
- - lib/facebook_ads/ad_objects/ads_interest.rb
336
378
  - lib/facebook_ads/ad_objects/ads_optimal_delivery_growth_opportunity.rb
337
379
  - lib/facebook_ads/ad_objects/ads_pixel.rb
338
380
  - lib/facebook_ads/ad_objects/ads_pixel_stats.rb
@@ -348,14 +390,12 @@ files:
348
390
  - lib/facebook_ads/ad_objects/async_request.rb
349
391
  - lib/facebook_ads/ad_objects/async_session.rb
350
392
  - lib/facebook_ads/ad_objects/atlas_campaign.rb
351
- - lib/facebook_ads/ad_objects/atlas_url.rb
352
393
  - lib/facebook_ads/ad_objects/attribution_spec.rb
353
394
  - lib/facebook_ads/ad_objects/audience_insights_study_spec.rb
354
395
  - lib/facebook_ads/ad_objects/audience_permission_for_actions.rb
355
396
  - lib/facebook_ads/ad_objects/audio_copyright.rb
356
397
  - lib/facebook_ads/ad_objects/automotive_model.rb
357
398
  - lib/facebook_ads/ad_objects/billed_amount_details.rb
358
- - lib/facebook_ads/ad_objects/brand_audience.rb
359
399
  - lib/facebook_ads/ad_objects/brand_safety_block_list_usage.rb
360
400
  - lib/facebook_ads/ad_objects/broad_targeting_categories.rb
361
401
  - lib/facebook_ads/ad_objects/business.rb
@@ -364,10 +404,6 @@ files:
364
404
  - lib/facebook_ads/ad_objects/business_application_request.rb
365
405
  - lib/facebook_ads/ad_objects/business_asset_group.rb
366
406
  - lib/facebook_ads/ad_objects/business_asset_sharing_agreement.rb
367
- - lib/facebook_ads/ad_objects/business_creative.rb
368
- - lib/facebook_ads/ad_objects/business_creative_folder.rb
369
- - lib/facebook_ads/ad_objects/business_creative_folder_sharing_agreement.rb
370
- - lib/facebook_ads/ad_objects/business_image.rb
371
407
  - lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb
372
408
  - lib/facebook_ads/ad_objects/business_page_request.rb
373
409
  - lib/facebook_ads/ad_objects/business_role_request.rb
@@ -383,9 +419,9 @@ files:
383
419
  - lib/facebook_ads/ad_objects/catalog_based_targeting.rb
384
420
  - lib/facebook_ads/ad_objects/catalog_item_app_links.rb
385
421
  - lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb
422
+ - lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb
386
423
  - lib/facebook_ads/ad_objects/check_batch_request_status.rb
387
424
  - lib/facebook_ads/ad_objects/child_event.rb
388
- - lib/facebook_ads/ad_objects/client_transparency_status.rb
389
425
  - lib/facebook_ads/ad_objects/collaborative_ads_partner_info_list_item.rb
390
426
  - lib/facebook_ads/ad_objects/collaborative_ads_share_settings.rb
391
427
  - lib/facebook_ads/ad_objects/comment.rb
@@ -395,12 +431,14 @@ files:
395
431
  - lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb
396
432
  - lib/facebook_ads/ad_objects/commerce_payout.rb
397
433
  - lib/facebook_ads/ad_objects/commerce_settings.rb
434
+ - lib/facebook_ads/ad_objects/connections_targeting.rb
398
435
  - lib/facebook_ads/ad_objects/content_delivery_report.rb
399
436
  - lib/facebook_ads/ad_objects/conversion_action_query.rb
400
437
  - lib/facebook_ads/ad_objects/copyright_reference_container.rb
401
438
  - lib/facebook_ads/ad_objects/cover_photo.rb
439
+ - lib/facebook_ads/ad_objects/cpas_advertiser_partnership_recommendation.rb
440
+ - lib/facebook_ads/ad_objects/cpas_collaboration_request.rb
402
441
  - lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb
403
- - lib/facebook_ads/ad_objects/creative_asset_tag.rb
404
442
  - lib/facebook_ads/ad_objects/creative_history.rb
405
443
  - lib/facebook_ads/ad_objects/credit_partition_action_options.rb
406
444
  - lib/facebook_ads/ad_objects/currency.rb
@@ -459,7 +497,6 @@ files:
459
497
  - lib/facebook_ads/ad_objects/instant_article_insights_query_result.rb
460
498
  - lib/facebook_ads/ad_objects/invoice_campaign.rb
461
499
  - lib/facebook_ads/ad_objects/ios_app_link.rb
462
- - lib/facebook_ads/ad_objects/iterative_split_test_config.rb
463
500
  - lib/facebook_ads/ad_objects/key_value.rb
464
501
  - lib/facebook_ads/ad_objects/lead.rb
465
502
  - lib/facebook_ads/ad_objects/lead_gen_appointment_booking_info.rb
@@ -485,7 +522,6 @@ files:
485
522
  - lib/facebook_ads/ad_objects/media_fingerprint.rb
486
523
  - lib/facebook_ads/ad_objects/messaging_feature_review.rb
487
524
  - lib/facebook_ads/ad_objects/messenger_destination_page_welcome_message.rb
488
- - lib/facebook_ads/ad_objects/messenger_platform_referral.rb
489
525
  - lib/facebook_ads/ad_objects/messenger_profile.rb
490
526
  - lib/facebook_ads/ad_objects/minimum_budget.rb
491
527
  - lib/facebook_ads/ad_objects/music_video_copyright.rb
@@ -500,7 +536,6 @@ files:
500
536
  - lib/facebook_ads/ad_objects/oracle_transaction.rb
501
537
  - lib/facebook_ads/ad_objects/outcome_prediction_point.rb
502
538
  - lib/facebook_ads/ad_objects/page.rb
503
- - lib/facebook_ads/ad_objects/page_about_story.rb
504
539
  - lib/facebook_ads/ad_objects/page_admin_note.rb
505
540
  - lib/facebook_ads/ad_objects/page_call_to_action.rb
506
541
  - lib/facebook_ads/ad_objects/page_category.rb
@@ -518,6 +553,7 @@ files:
518
553
  - lib/facebook_ads/ad_objects/page_user_message_thread_label.rb
519
554
  - lib/facebook_ads/ad_objects/partner_study.rb
520
555
  - lib/facebook_ads/ad_objects/payment_pricepoints.rb
556
+ - lib/facebook_ads/ad_objects/payment_subscription.rb
521
557
  - lib/facebook_ads/ad_objects/permission.rb
522
558
  - lib/facebook_ads/ad_objects/persona.rb
523
559
  - lib/facebook_ads/ad_objects/photo.rb
@@ -549,6 +585,7 @@ files:
549
585
  - lib/facebook_ads/ad_objects/product_item.rb
550
586
  - lib/facebook_ads/ad_objects/product_item_commerce_insights.rb
551
587
  - lib/facebook_ads/ad_objects/product_set.rb
588
+ - lib/facebook_ads/ad_objects/product_set_metadata.rb
552
589
  - lib/facebook_ads/ad_objects/product_variant.rb
553
590
  - lib/facebook_ads/ad_objects/profile.rb
554
591
  - lib/facebook_ads/ad_objects/profile_picture_source.rb
@@ -572,17 +609,21 @@ files:
572
609
  - lib/facebook_ads/ad_objects/saved_audience.rb
573
610
  - lib/facebook_ads/ad_objects/saved_message_response.rb
574
611
  - lib/facebook_ads/ad_objects/security_settings.rb
612
+ - lib/facebook_ads/ad_objects/server_side/batch_processor.rb
575
613
  - lib/facebook_ads/ad_objects/server_side/content.rb
576
614
  - lib/facebook_ads/ad_objects/server_side/custom_data.rb
615
+ - lib/facebook_ads/ad_objects/server_side/delivery_category.rb
577
616
  - lib/facebook_ads/ad_objects/server_side/event.rb
578
617
  - lib/facebook_ads/ad_objects/server_side/event_request.rb
618
+ - lib/facebook_ads/ad_objects/server_side/event_request_async.rb
579
619
  - lib/facebook_ads/ad_objects/server_side/event_response.rb
620
+ - lib/facebook_ads/ad_objects/server_side/http_method.rb
621
+ - lib/facebook_ads/ad_objects/server_side/http_service_interface.rb
622
+ - lib/facebook_ads/ad_objects/server_side/http_util.rb
580
623
  - lib/facebook_ads/ad_objects/server_side/user_data.rb
581
624
  - lib/facebook_ads/ad_objects/server_side/util.rb
582
- - lib/facebook_ads/ad_objects/split_test_config.rb
583
625
  - lib/facebook_ads/ad_objects/split_test_winner.rb
584
626
  - lib/facebook_ads/ad_objects/store_catalog_settings.rb
585
- - lib/facebook_ads/ad_objects/streaming_reaction.rb
586
627
  - lib/facebook_ads/ad_objects/system_user.rb
587
628
  - lib/facebook_ads/ad_objects/tab.rb
588
629
  - lib/facebook_ads/ad_objects/targeting.rb
@@ -602,6 +643,7 @@ files:
602
643
  - lib/facebook_ads/ad_objects/targeting_product_audience_spec.rb
603
644
  - lib/facebook_ads/ad_objects/targeting_product_audience_sub_spec.rb
604
645
  - lib/facebook_ads/ad_objects/targeting_prospecting_audience.rb
646
+ - lib/facebook_ads/ad_objects/targeting_relaxation.rb
605
647
  - lib/facebook_ads/ad_objects/targeting_sentence_line.rb
606
648
  - lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb
607
649
  - lib/facebook_ads/ad_objects/tracking_and_conversion_with_defaults.rb
@@ -612,13 +654,11 @@ files:
612
654
  - lib/facebook_ads/ad_objects/user_device.rb
613
655
  - lib/facebook_ads/ad_objects/user_id_for_app.rb
614
656
  - lib/facebook_ads/ad_objects/user_id_for_page.rb
615
- - lib/facebook_ads/ad_objects/user_influence.rb
616
657
  - lib/facebook_ads/ad_objects/user_lead_gen_disclaimer_response.rb
617
658
  - lib/facebook_ads/ad_objects/user_lead_gen_field_data.rb
618
659
  - lib/facebook_ads/ad_objects/user_payment_methods_info.rb
619
660
  - lib/facebook_ads/ad_objects/user_payment_mobile_pricepoints.rb
620
661
  - lib/facebook_ads/ad_objects/user_payment_modules_options.rb
621
- - lib/facebook_ads/ad_objects/user_taggable_friend.rb
622
662
  - lib/facebook_ads/ad_objects/value_based_eligible_source.rb
623
663
  - lib/facebook_ads/ad_objects/vehicle.rb
624
664
  - lib/facebook_ads/ad_objects/vehicle_offer.rb
@@ -634,7 +674,6 @@ files:
634
674
  - lib/facebook_ads/ad_objects/voip_info.rb
635
675
  - lib/facebook_ads/ad_objects/web_app_link.rb
636
676
  - lib/facebook_ads/ad_objects/whats_app_business_account.rb
637
- - lib/facebook_ads/ad_objects/whats_app_business_profile.rb
638
677
  - lib/facebook_ads/ad_objects/windows_app_link.rb
639
678
  - lib/facebook_ads/ad_objects/windows_phone_app_link.rb
640
679
  - lib/facebook_ads/ad_objects/work_user_frontline.rb
@@ -696,8 +735,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
696
735
  - !ruby/object:Gem::Version
697
736
  version: '0'
698
737
  requirements: []
699
- rubyforge_project:
700
- rubygems_version: 2.7.7
738
+ rubygems_version: 3.0.8
701
739
  signing_key:
702
740
  specification_version: 4
703
741
  summary: Facebook Business API SDK for Ruby (Official)