facebookbusiness 0.7.0.2 → 0.8.0.4

Sign up to get free protection for your applications and to get access to all the features.
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)