facebookbusiness 0.7.0.3 → 0.10.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/facebook_ads/ad_objects/ad.rb +4 -1
- data/lib/facebook_ads/ad_objects/ad_account.rb +33 -46
- data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +24 -0
- data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +22 -5
- data/lib/facebook_ads/ad_objects/ad_activity.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +8 -0
- data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +10 -2
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative.rb +8 -0
- data/lib/facebook_ads/ad_objects/ad_creative_interactive_components_spec.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +6 -0
- data/lib/facebook_ads/ad_objects/{offline_terms_of_service.rb → ad_creative_omnichannel_link_spec.rb} +5 -4
- data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +6 -0
- data/lib/facebook_ads/ad_objects/ad_preview.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_report_spec.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_rule_evaluation_spec.rb +1 -2
- data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +6 -2
- data/lib/facebook_ads/ad_objects/ad_study.rb +1 -12
- data/lib/facebook_ads/ad_objects/ad_study_objective.rb +1 -4
- data/lib/facebook_ads/ad_objects/ad_video.rb +8 -6
- data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -0
- data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +1 -0
- data/lib/facebook_ads/ad_objects/adoptable_pet.rb +8 -0
- data/lib/facebook_ads/ad_objects/ads_action_stats.rb +2 -0
- data/lib/facebook_ads/ad_objects/ads_insights.rb +3 -1
- data/lib/facebook_ads/ad_objects/ads_pixel.rb +8 -0
- data/lib/facebook_ads/ad_objects/album.rb +0 -10
- data/lib/facebook_ads/ad_objects/application.rb +18 -4
- data/lib/facebook_ads/ad_objects/atlas_campaign.rb +1 -1
- data/lib/facebook_ads/ad_objects/automotive_model.rb +26 -0
- data/lib/facebook_ads/ad_objects/business.rb +77 -2
- data/lib/facebook_ads/ad_objects/business_asset_group.rb +2 -0
- data/lib/facebook_ads/ad_objects/business_role_request.rb +4 -0
- data/lib/facebook_ads/ad_objects/business_unit.rb +1 -2
- data/lib/facebook_ads/ad_objects/business_user.rb +4 -0
- data/lib/facebook_ads/ad_objects/campaign.rb +11 -2
- data/lib/facebook_ads/ad_objects/{friend_list.rb → catalog_item_channels_to_integrity_status.rb} +5 -5
- data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +91 -0
- data/lib/facebook_ads/ad_objects/comment.rb +1 -0
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +17 -19
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
- data/lib/facebook_ads/ad_objects/commerce_order.rb +6 -0
- data/lib/facebook_ads/ad_objects/commerce_order_transaction_detail.rb +4 -0
- data/lib/facebook_ads/ad_objects/{work_meeting_link.rb → connections_targeting.rb} +3 -2
- data/lib/facebook_ads/ad_objects/{atlas_url.rb → contextual_bundling_spec.rb} +2 -2
- data/lib/facebook_ads/ad_objects/{iterative_split_test_config.rb → cpas_advertiser_partnership_recommendation.rb} +9 -9
- data/lib/facebook_ads/ad_objects/cpas_collaboration_request.rb +50 -0
- data/lib/facebook_ads/ad_objects/custom_audience.rb +8 -10
- data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
- data/lib/facebook_ads/ad_objects/da_check.rb +7 -0
- data/lib/facebook_ads/ad_objects/destination.rb +1 -0
- data/lib/facebook_ads/ad_objects/event.rb +1 -1
- data/lib/facebook_ads/ad_objects/extended_credit.rb +7 -1
- data/lib/facebook_ads/ad_objects/flight.rb +1 -0
- data/lib/facebook_ads/ad_objects/group.rb +29 -23
- data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
- data/lib/facebook_ads/ad_objects/hotel.rb +1 -0
- data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
- data/lib/facebook_ads/ad_objects/ig_media.rb +0 -1
- data/lib/facebook_ads/ad_objects/ig_user.rb +6 -1
- data/lib/facebook_ads/ad_objects/image_copyright.rb +302 -0
- data/lib/facebook_ads/ad_objects/insights_result.rb +1 -1
- data/lib/facebook_ads/ad_objects/instagram_user.rb +0 -3
- data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
- data/lib/facebook_ads/ad_objects/link.rb +0 -10
- data/lib/facebook_ads/ad_objects/live_video.rb +0 -4
- data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -0
- data/lib/facebook_ads/ad_objects/native_offer_view.rb +0 -1
- data/lib/facebook_ads/ad_objects/oracle_transaction.rb +0 -7
- data/lib/facebook_ads/ad_objects/page.rb +76 -72
- data/lib/facebook_ads/ad_objects/page_call_to_action.rb +3 -0
- data/lib/facebook_ads/ad_objects/page_commerce_eligibility.rb +38 -0
- data/lib/facebook_ads/ad_objects/page_post.rb +0 -8
- data/lib/facebook_ads/ad_objects/{user_taggable_friend.rb → payment_engine_payment.rb} +36 -13
- data/lib/facebook_ads/ad_objects/payment_subscription.rb +3 -3
- data/lib/facebook_ads/ad_objects/photo.rb +0 -4
- data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
- data/lib/facebook_ads/ad_objects/post.rb +46 -27
- data/lib/facebook_ads/ad_objects/product_catalog.rb +57 -9
- data/lib/facebook_ads/ad_objects/product_feed.rb +32 -1
- data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +2 -0
- data/lib/facebook_ads/ad_objects/product_group.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_item.rb +11 -1
- data/lib/facebook_ads/ad_objects/{user_payment_methods_info.rb → product_item_ar_data.rb} +23 -8
- data/lib/facebook_ads/ad_objects/product_set.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_set_metadata.rb +1 -0
- data/lib/facebook_ads/ad_objects/publisher_block_list.rb +6 -0
- data/lib/facebook_ads/ad_objects/referral.rb +2 -0
- data/lib/facebook_ads/ad_objects/security_settings.rb +0 -1
- data/lib/facebook_ads/ad_objects/server_side/action_source.rb +48 -0
- data/lib/facebook_ads/ad_objects/server_side/batch_processor.rb +73 -0
- data/lib/facebook_ads/ad_objects/server_side/content.rb +23 -4
- data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +21 -0
- data/lib/facebook_ads/ad_objects/server_side/delivery_category.rb +33 -0
- data/lib/facebook_ads/ad_objects/server_side/event.rb +32 -6
- data/lib/facebook_ads/ad_objects/server_side/event_request.rb +61 -14
- data/lib/facebook_ads/ad_objects/server_side/event_request_async.rb +43 -0
- data/lib/facebook_ads/ad_objects/server_side/http_method.rb +28 -0
- data/lib/facebook_ads/ad_objects/{page_about_story.rb → server_side/http_service_interface.rb} +10 -16
- data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
- data/lib/facebook_ads/ad_objects/server_side/user_data.rb +20 -1
- data/lib/facebook_ads/ad_objects/server_side/util.rb +27 -1
- data/lib/facebook_ads/ad_objects/system_user.rb +4 -4
- data/lib/facebook_ads/ad_objects/targeting.rb +3 -5
- data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +0 -1
- data/lib/facebook_ads/ad_objects/user.rb +35 -32
- data/lib/facebook_ads/ad_objects/vehicle.rb +2 -0
- data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +25 -0
- data/lib/facebook_ads/ad_objects/{read_only_analytics_user_property_config.rb → whats_app_business_profile.rb} +2 -3
- data/lib/facebook_ads/edge.rb +2 -1
- data/lib/facebook_ads/errors.rb +1 -1
- data/lib/facebook_ads/session.rb +1 -1
- data/lib/facebook_ads/version.rb +2 -2
- metadata +47 -28
- data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -71
- data/lib/facebook_ads/ad_objects/ad_account_roas.rb +0 -65
- data/lib/facebook_ads/ad_objects/event_tour.rb +0 -56
- data/lib/facebook_ads/ad_objects/split_test_config.rb +0 -41
- data/lib/facebook_ads/ad_objects/user_payment_modules_options.rb +0 -40
@@ -52,12 +52,16 @@ module FacebookAds
|
|
52
52
|
normalized_input = input;
|
53
53
|
|
54
54
|
case field_type
|
55
|
+
when 'action_source'
|
56
|
+
return normalize_action_source input
|
55
57
|
when 'country'
|
56
58
|
normalized_input = normalize_country input
|
57
59
|
when 'ct'
|
58
60
|
normalized_input = normalize_city input
|
59
61
|
when 'currency'
|
60
62
|
return normalize_currency input
|
63
|
+
when 'delivery_category'
|
64
|
+
return normalize_delivery_category input
|
61
65
|
when 'em'
|
62
66
|
normalized_input = normalize_email input
|
63
67
|
when 'ge'
|
@@ -150,7 +154,7 @@ module FacebookAds
|
|
150
154
|
def self.normalize_email(email)
|
151
155
|
|
152
156
|
if EMAIL_REGEX.match(email) == nil
|
153
|
-
|
157
|
+
raise ArgumentError, "Invalid email format for the passed email: '#{email}'. Please check the passed email format."
|
154
158
|
end
|
155
159
|
|
156
160
|
return email
|
@@ -277,6 +281,28 @@ module FacebookAds
|
|
277
281
|
end
|
278
282
|
doby
|
279
283
|
end
|
284
|
+
|
285
|
+
# Normalizes the input delivery category and returns valid value (or throw exception if invalid).
|
286
|
+
def self.normalize_delivery_category(delivery_category)
|
287
|
+
|
288
|
+
unless FacebookAds::ServerSide::DeliveryCategory.include?(delivery_category)
|
289
|
+
raise ArgumentError.new("Invalid delivery_category passed: " + delivery_category + ". Please use one of the defined values #{FacebookAds::ServerSide::DeliveryCategory.to_a.join(',')}" )
|
290
|
+
end
|
291
|
+
|
292
|
+
delivery_category;
|
293
|
+
end
|
294
|
+
|
295
|
+
# Normalizes the input action_source and returns valid value (or throw exception if invalid).
|
296
|
+
def self.normalize_action_source(action_source)
|
297
|
+
unless FacebookAds::ServerSide::ActionSource.include?(action_source)
|
298
|
+
values = FacebookAds::ServerSide::ActionSource.to_a.join(',')
|
299
|
+
raise ArgumentError.new(
|
300
|
+
"Invalid action_source passed: #{action_source}. Please use one of the defined values: #{values}"
|
301
|
+
)
|
302
|
+
end
|
303
|
+
|
304
|
+
action_source
|
305
|
+
end
|
280
306
|
end
|
281
307
|
end
|
282
308
|
end
|
@@ -29,10 +29,14 @@ 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",
|
36
40
|
"PARTNER_CENTER_ADMIN",
|
37
41
|
"PARTNER_CENTER_ANALYST",
|
38
42
|
"PARTNER_CENTER_EDUCATION",
|
@@ -70,9 +74,5 @@ module FacebookAds
|
|
70
74
|
edge.get 'ProductCatalog'
|
71
75
|
end
|
72
76
|
|
73
|
-
has_edge :updated_by do |edge|
|
74
|
-
edge.get 'User'
|
75
|
-
end
|
76
|
-
|
77
77
|
end
|
78
78
|
end
|
@@ -27,13 +27,11 @@ module FacebookAds
|
|
27
27
|
|
28
28
|
class Targeting < AdObject
|
29
29
|
DEVICE_PLATFORMS = [
|
30
|
-
"connected_tv",
|
31
30
|
"desktop",
|
32
31
|
"mobile",
|
33
32
|
]
|
34
33
|
|
35
34
|
EFFECTIVE_DEVICE_PLATFORMS = [
|
36
|
-
"connected_tv",
|
37
35
|
"desktop",
|
38
36
|
"mobile",
|
39
37
|
]
|
@@ -50,7 +48,7 @@ module FacebookAds
|
|
50
48
|
field :catalog_based_targeting, 'CatalogBasedTargeting'
|
51
49
|
field :cities, { list: 'IdName' }
|
52
50
|
field :college_years, { list: 'int' }
|
53
|
-
field :connections, { list: '
|
51
|
+
field :connections, { list: 'ConnectionsTargeting' }
|
54
52
|
field :contextual_targeting_categories, { list: 'IdName' }
|
55
53
|
field :countries, { list: 'string' }
|
56
54
|
field :country, { list: 'string' }
|
@@ -72,7 +70,7 @@ module FacebookAds
|
|
72
70
|
field :ethnic_affinity, { list: 'IdName' }
|
73
71
|
field :exclude_reached_since, { list: 'string' }
|
74
72
|
field :excluded_brand_safety_content_types, { list: 'string' }
|
75
|
-
field :excluded_connections, { list: '
|
73
|
+
field :excluded_connections, { list: 'ConnectionsTargeting' }
|
76
74
|
field :excluded_custom_audiences, { list: 'RawCustomAudience' }
|
77
75
|
field :excluded_dynamic_audience_ids, { list: 'string' }
|
78
76
|
field :excluded_engagement_specs, { list: 'TargetingDynamicRule' }
|
@@ -87,7 +85,7 @@ module FacebookAds
|
|
87
85
|
field :family_statuses, { list: 'IdName' }
|
88
86
|
field :fb_deal_id, 'string'
|
89
87
|
field :flexible_spec, { list: 'FlexibleTargeting' }
|
90
|
-
field :friends_of_connections, { list: '
|
88
|
+
field :friends_of_connections, { list: 'ConnectionsTargeting' }
|
91
89
|
field :genders, { list: 'int' }
|
92
90
|
field :generation, { list: 'IdName' }
|
93
91
|
field :geo_locations, 'TargetingGeoLocation'
|
@@ -49,15 +49,10 @@ module FacebookAds
|
|
49
49
|
|
50
50
|
|
51
51
|
field :about, 'string'
|
52
|
-
field :address, 'Location'
|
53
|
-
field :admin_notes, { list: 'PageAdminNote' }
|
54
52
|
field :age_range, 'AgeRange'
|
55
|
-
field :auth_method, 'string'
|
56
53
|
field :birthday, 'string'
|
57
|
-
field :can_review_measurement_request, 'bool'
|
58
54
|
field :cover, 'UserCoverPhoto'
|
59
55
|
field :currency, 'Currency'
|
60
|
-
field :devices, { list: 'UserDevice' }
|
61
56
|
field :education, { list: 'object' }
|
62
57
|
field :email, 'string'
|
63
58
|
field :favorite_athletes, { list: 'Experience' }
|
@@ -70,9 +65,7 @@ module FacebookAds
|
|
70
65
|
field :install_type, 'string'
|
71
66
|
field :installed, 'bool'
|
72
67
|
field :interested_in, { list: 'string' }
|
73
|
-
field :is_famedeeplinkinguser, 'bool'
|
74
68
|
field :is_guest_user, 'bool'
|
75
|
-
field :is_shared_login, 'bool'
|
76
69
|
field :is_verified, 'bool'
|
77
70
|
field :languages, { list: 'Experience' }
|
78
71
|
field :last_name, 'string'
|
@@ -88,26 +81,21 @@ module FacebookAds
|
|
88
81
|
field :payment_pricepoints, 'PaymentPricepoints'
|
89
82
|
field :political, 'string'
|
90
83
|
field :profile_pic, 'string'
|
91
|
-
field :public_key, 'string'
|
92
84
|
field :quotes, 'string'
|
93
85
|
field :relationship_status, 'string'
|
94
86
|
field :religion, 'string'
|
95
|
-
field :security_settings, 'SecuritySettings'
|
96
87
|
field :shared_login_upgrade_required_by, 'datetime'
|
97
88
|
field :short_name, 'string'
|
98
89
|
field :significant_other, 'User'
|
99
90
|
field :sports, { list: 'Experience' }
|
100
91
|
field :supports_donate_button_in_live_video, 'bool'
|
101
|
-
field :test_group, 'int'
|
102
92
|
field :third_party_id, 'string'
|
103
93
|
field :timezone, 'double'
|
104
94
|
field :token_for_business, 'string'
|
105
95
|
field :updated_time, 'datetime'
|
106
96
|
field :verified, 'bool'
|
107
97
|
field :video_upload_limits, 'VideoUploadLimits'
|
108
|
-
field :viewer_can_send_gift, 'bool'
|
109
98
|
field :website, 'string'
|
110
|
-
field :work, { list: 'object' }
|
111
99
|
|
112
100
|
has_edge :access_tokens do |edge|
|
113
101
|
edge.delete
|
@@ -211,6 +199,7 @@ module FacebookAds
|
|
211
199
|
end
|
212
200
|
edge.get 'Business'
|
213
201
|
edge.post 'Business' do |api|
|
202
|
+
api.has_param :child_business_external_id, 'string'
|
214
203
|
api.has_param :email, 'string'
|
215
204
|
api.has_param :name, 'string'
|
216
205
|
api.has_param :primary_page, 'string'
|
@@ -243,7 +232,15 @@ module FacebookAds
|
|
243
232
|
end
|
244
233
|
|
245
234
|
has_edge :feed do |edge|
|
246
|
-
edge.
|
235
|
+
edge.get 'Post' do |api|
|
236
|
+
api.has_param :include_hidden, 'bool'
|
237
|
+
api.has_param :q, 'string'
|
238
|
+
api.has_param :show_expired, 'bool'
|
239
|
+
api.has_param :since, 'datetime'
|
240
|
+
api.has_param :until, 'datetime'
|
241
|
+
api.has_param :with, 'string'
|
242
|
+
end
|
243
|
+
edge.post 'Post' do |api|
|
247
244
|
api.has_param :actions, 'object'
|
248
245
|
api.has_param :adaptive_type, 'string'
|
249
246
|
api.has_param :album_id, 'string'
|
@@ -257,10 +254,10 @@ module FacebookAds
|
|
257
254
|
api.has_param :attached_media, { list: 'object' }
|
258
255
|
api.has_param :audience_exp, 'bool'
|
259
256
|
api.has_param :backdated_time, 'datetime'
|
260
|
-
api.has_param :backdated_time_granularity, { enum:
|
257
|
+
api.has_param :backdated_time_granularity, { enum: -> { Post::BACKDATED_TIME_GRANULARITY }}
|
261
258
|
api.has_param :call_to_action, 'object'
|
262
259
|
api.has_param :caption, 'string'
|
263
|
-
api.has_param :checkin_entry_point, { enum:
|
260
|
+
api.has_param :checkin_entry_point, { enum: -> { Post::CHECKIN_ENTRY_POINT }}
|
264
261
|
api.has_param :child_attachments, { list: 'object' }
|
265
262
|
api.has_param :client_mutation_id, 'string'
|
266
263
|
api.has_param :composer_entry_picker, 'string'
|
@@ -280,7 +277,7 @@ module FacebookAds
|
|
280
277
|
api.has_param :expanded_height, 'int'
|
281
278
|
api.has_param :expanded_width, 'int'
|
282
279
|
api.has_param :feed_targeting, 'object'
|
283
|
-
api.has_param :formatting, { enum:
|
280
|
+
api.has_param :formatting, { enum: -> { Post::FORMATTING }}
|
284
281
|
api.has_param :fun_fact_prompt_id, 'int'
|
285
282
|
api.has_param :fun_fact_toastee_id, 'int'
|
286
283
|
api.has_param :has_nickname, 'bool'
|
@@ -317,11 +314,11 @@ module FacebookAds
|
|
317
314
|
api.has_param :page_recommendation, 'string'
|
318
315
|
api.has_param :picture, 'string'
|
319
316
|
api.has_param :place, 'object'
|
320
|
-
api.has_param :place_attachment_setting, { enum:
|
317
|
+
api.has_param :place_attachment_setting, { enum: -> { Post::PLACE_ATTACHMENT_SETTING }}
|
321
318
|
api.has_param :place_list, 'string'
|
322
319
|
api.has_param :place_list_data, { list: 'string' }
|
323
|
-
api.has_param :post_surfaces_blacklist, { list: { enum:
|
324
|
-
api.has_param :posting_to_redspace, { enum:
|
320
|
+
api.has_param :post_surfaces_blacklist, { list: { enum: -> { Post::POST_SURFACES_BLACKLIST }} }
|
321
|
+
api.has_param :posting_to_redspace, { enum: -> { Post::POSTING_TO_REDSPACE }}
|
325
322
|
api.has_param :privacy, 'string'
|
326
323
|
api.has_param :prompt_id, 'string'
|
327
324
|
api.has_param :prompt_tracking_string, 'string'
|
@@ -341,7 +338,7 @@ module FacebookAds
|
|
341
338
|
api.has_param :sponsor_relationship, 'int'
|
342
339
|
api.has_param :suggested_place_id, 'object'
|
343
340
|
api.has_param :tags, { list: 'int' }
|
344
|
-
api.has_param :target_surface, { enum:
|
341
|
+
api.has_param :target_surface, { enum: -> { Post::TARGET_SURFACE }}
|
345
342
|
api.has_param :targeting, 'object'
|
346
343
|
api.has_param :text_format_metadata, 'string'
|
347
344
|
api.has_param :text_format_preset_id, 'string'
|
@@ -351,7 +348,7 @@ module FacebookAds
|
|
351
348
|
api.has_param :time_since_original_post, 'int'
|
352
349
|
api.has_param :title, 'string'
|
353
350
|
api.has_param :tracking_info, 'string'
|
354
|
-
api.has_param :unpublished_content_type, { enum:
|
351
|
+
api.has_param :unpublished_content_type, { enum: -> { Post::UNPUBLISHED_CONTENT_TYPE }}
|
355
352
|
api.has_param :user_selected_tags, 'bool'
|
356
353
|
api.has_param :video_start_time_ms, 'int'
|
357
354
|
api.has_param :viewer_coordinates, 'object'
|
@@ -468,6 +465,7 @@ module FacebookAds
|
|
468
465
|
edge.post 'LiveVideo' do |api|
|
469
466
|
api.has_param :content_tags, { list: 'string' }
|
470
467
|
api.has_param :description, 'string'
|
468
|
+
api.has_param :enable_backup_ingest, 'bool'
|
471
469
|
api.has_param :encoding_settings, 'string'
|
472
470
|
api.has_param :fisheye_video_cropped, 'bool'
|
473
471
|
api.has_param :front_z_rotation, 'double'
|
@@ -479,7 +477,6 @@ module FacebookAds
|
|
479
477
|
api.has_param :privacy, 'string'
|
480
478
|
api.has_param :projection, { enum: -> { LiveVideo::PROJECTION }}
|
481
479
|
api.has_param :published, 'bool'
|
482
|
-
api.has_param :save_vod, 'bool'
|
483
480
|
api.has_param :schedule_custom_profile_image, 'file'
|
484
481
|
api.has_param :spatial_audio_format, { enum: -> { LiveVideo::SPATIAL_AUDIO_FORMAT }}
|
485
482
|
api.has_param :status, { enum: -> { LiveVideo::STATUS }}
|
@@ -490,11 +487,6 @@ module FacebookAds
|
|
490
487
|
end
|
491
488
|
end
|
492
489
|
|
493
|
-
has_edge :meeting_link do |edge|
|
494
|
-
edge.get 'WorkMeetingLink'
|
495
|
-
edge.post 'WorkMeetingLink'
|
496
|
-
end
|
497
|
-
|
498
490
|
has_edge :music do |edge|
|
499
491
|
edge.get 'Page' do |api|
|
500
492
|
api.has_param :target_id, 'string'
|
@@ -514,6 +506,10 @@ module FacebookAds
|
|
514
506
|
end
|
515
507
|
end
|
516
508
|
|
509
|
+
has_edge :payment_transactions do |edge|
|
510
|
+
edge.get 'PaymentEnginePayment'
|
511
|
+
end
|
512
|
+
|
517
513
|
has_edge :permissions do |edge|
|
518
514
|
edge.delete do |api|
|
519
515
|
api.has_param :permission, 'string'
|
@@ -598,6 +594,17 @@ module FacebookAds
|
|
598
594
|
end
|
599
595
|
end
|
600
596
|
|
597
|
+
has_edge :posts do |edge|
|
598
|
+
edge.get 'Post' do |api|
|
599
|
+
api.has_param :include_hidden, 'bool'
|
600
|
+
api.has_param :q, 'string'
|
601
|
+
api.has_param :show_expired, 'bool'
|
602
|
+
api.has_param :since, 'datetime'
|
603
|
+
api.has_param :until, 'datetime'
|
604
|
+
api.has_param :with, 'string'
|
605
|
+
end
|
606
|
+
end
|
607
|
+
|
601
608
|
has_edge :rich_media_documents do |edge|
|
602
609
|
edge.get 'Canvas' do |api|
|
603
610
|
api.has_param :query, 'string'
|
@@ -610,10 +617,6 @@ module FacebookAds
|
|
610
617
|
end
|
611
618
|
end
|
612
619
|
|
613
|
-
has_edge :taggable_friends do |edge|
|
614
|
-
edge.get 'UserTaggableFriend'
|
615
|
-
end
|
616
|
-
|
617
620
|
has_edge :videos do |edge|
|
618
621
|
edge.get 'AdVideo' do |api|
|
619
622
|
api.has_param :type, { enum: -> { AdVideo::TYPE }}
|
@@ -623,7 +626,6 @@ module FacebookAds
|
|
623
626
|
api.has_param :animated_effect_id, 'int'
|
624
627
|
api.has_param :application_id, 'string'
|
625
628
|
api.has_param :asked_fun_fact_prompt_id, 'int'
|
626
|
-
api.has_param :attribution_app_id, 'string'
|
627
629
|
api.has_param :audio_story_wave_animation_handle, 'string'
|
628
630
|
api.has_param :composer_entry_picker, 'string'
|
629
631
|
api.has_param :composer_entry_point, 'string'
|
@@ -678,6 +680,7 @@ module FacebookAds
|
|
678
680
|
api.has_param :sales_promo_id, 'int'
|
679
681
|
api.has_param :slideshow_spec, 'hash'
|
680
682
|
api.has_param :source, 'string'
|
683
|
+
api.has_param :source_instagram_media_id, 'string'
|
681
684
|
api.has_param :spherical, 'bool'
|
682
685
|
api.has_param :sponsor_id, 'string'
|
683
686
|
api.has_param :start_offset, 'int'
|
@@ -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
|
|
@@ -25,11 +25,10 @@ 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
|
28
|
+
class WhatsAppBusinessProfile < AdObject
|
29
29
|
|
30
|
-
field :active_properties, { list: 'string' }
|
31
30
|
field :id, 'string'
|
32
|
-
|
31
|
+
field :name_verification, 'object'
|
33
32
|
has_no_delete
|
34
33
|
|
35
34
|
end
|
data/lib/facebook_ads/edge.rb
CHANGED
@@ -53,6 +53,7 @@ module FacebookAds
|
|
53
53
|
def reload!
|
54
54
|
@collection = Array.new
|
55
55
|
self.has_next_page = true
|
56
|
+
self.next_page_cursor = nil
|
56
57
|
end
|
57
58
|
|
58
59
|
private
|
@@ -95,7 +96,7 @@ module FacebookAds
|
|
95
96
|
node.post_edge(name, graph_params.merge(params)) do |response|
|
96
97
|
# TODO params check
|
97
98
|
# TODO Add new object to collection?
|
98
|
-
|
99
|
+
|
99
100
|
field_type = self.class.return_types[:post]
|
100
101
|
|
101
102
|
obj = field_type.deserialize(response, node.session)
|