facebookbusiness 0.8.0.2 → 0.9.0.2
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 +3 -0
- data/lib/facebook_ads/ad_objects/ad_account.rb +21 -13
- data/lib/facebook_ads/ad_objects/ad_account_ad_volume.rb +1 -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 +23 -5
- data/lib/facebook_ads/ad_objects/ad_activity.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +5 -0
- data/lib/facebook_ads/ad_objects/ad_async_request.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +6 -2
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative.rb +7 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +5 -0
- data/lib/facebook_ads/ad_objects/{ad_creative_instagram_branded_content.rb → ad_creative_omnichannel_link_spec.rb} +3 -1
- data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +3 -1
- data/lib/facebook_ads/ad_objects/ad_study.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_study_objective.rb +0 -4
- data/lib/facebook_ads/ad_objects/ad_video.rb +5 -10
- data/lib/facebook_ads/ad_objects/adgroup_activity.rb +2 -0
- data/lib/facebook_ads/ad_objects/adoptable_pet.rb +7 -0
- data/lib/facebook_ads/ad_objects/ads_insights.rb +1 -0
- data/lib/facebook_ads/ad_objects/ads_pixel.rb +1 -0
- data/lib/facebook_ads/ad_objects/album.rb +0 -10
- data/lib/facebook_ads/ad_objects/application.rb +2 -10
- data/lib/facebook_ads/ad_objects/business.rb +15 -12
- data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -1
- data/lib/facebook_ads/ad_objects/business_role_request.rb +4 -4
- data/lib/facebook_ads/ad_objects/business_unit.rb +0 -1
- data/lib/facebook_ads/ad_objects/business_user.rb +4 -4
- data/lib/facebook_ads/ad_objects/campaign.rb +11 -1
- data/lib/facebook_ads/ad_objects/{friend_list.rb → catalog_item_channels_to_integrity_status.rb} +5 -5
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +2 -24
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +1 -0
- data/lib/facebook_ads/ad_objects/custom_audience.rb +8 -0
- data/lib/facebook_ads/ad_objects/extended_credit.rb +0 -1
- data/lib/facebook_ads/ad_objects/group.rb +26 -10
- 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 +0 -1
- data/lib/facebook_ads/ad_objects/link.rb +0 -4
- data/lib/facebook_ads/ad_objects/live_video.rb +12 -12
- data/lib/facebook_ads/ad_objects/messenger_profile.rb +1 -0
- data/lib/facebook_ads/ad_objects/page.rb +23 -15
- data/lib/facebook_ads/ad_objects/page_post.rb +0 -10
- data/lib/facebook_ads/ad_objects/{event_tour.rb → payment_engine_payment.rb} +35 -18
- data/lib/facebook_ads/ad_objects/payment_subscription.rb +3 -3
- data/lib/facebook_ads/ad_objects/photo.rb +0 -10
- data/lib/facebook_ads/ad_objects/playable_content.rb +1 -0
- data/lib/facebook_ads/ad_objects/post.rb +46 -29
- data/lib/facebook_ads/ad_objects/product_catalog.rb +3 -7
- data/lib/facebook_ads/ad_objects/product_feed.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +2 -0
- data/lib/facebook_ads/ad_objects/product_group.rb +8 -0
- data/lib/facebook_ads/ad_objects/product_item.rb +15 -0
- data/lib/facebook_ads/ad_objects/referral.rb +2 -0
- 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/event.rb +32 -6
- data/lib/facebook_ads/ad_objects/server_side/event_request.rb +60 -13
- data/lib/facebook_ads/ad_objects/server_side/event_request_async.rb +12 -0
- data/lib/facebook_ads/ad_objects/{user_payment_modules_options.rb → server_side/http_method.rb} +7 -19
- data/lib/facebook_ads/ad_objects/server_side/http_service_interface.rb +33 -0
- data/lib/facebook_ads/ad_objects/server_side/http_util.rb +31 -0
- data/lib/facebook_ads/ad_objects/server_side/util.rb +13 -0
- data/lib/facebook_ads/ad_objects/system_user.rb +0 -20
- data/lib/facebook_ads/ad_objects/targeting.rb +0 -2
- data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +0 -1
- data/lib/facebook_ads/ad_objects/unified_thread.rb +0 -1
- data/lib/facebook_ads/ad_objects/user.rb +31 -26
- data/lib/facebook_ads/ad_objects/vehicle.rb +1 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +3 -0
- data/lib/facebook_ads/ad_objects/{offline_terms_of_service.rb → whats_app_business_profile.rb} +2 -4
- data/lib/facebook_ads/session.rb +1 -1
- data/lib/facebook_ads/version.rb +2 -2
- metadata +13 -10
- data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -71
- data/lib/facebook_ads/ad_objects/user_payment_methods_info.rb +0 -43
@@ -25,31 +25,48 @@ 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 PaymentEnginePayment < AdObject
|
29
|
+
REASON = [
|
30
|
+
"BANNED_USER",
|
31
|
+
"DENIED_REFUND",
|
32
|
+
"GRANTED_REPLACEMENT_ITEM",
|
33
|
+
]
|
29
34
|
|
30
|
-
|
31
|
-
field :
|
32
|
-
field :
|
35
|
+
|
36
|
+
field :actions, { list: 'object' }
|
37
|
+
field :application, 'Application'
|
38
|
+
field :country, 'string'
|
39
|
+
field :created_time, 'datetime'
|
40
|
+
field :disputes, { list: 'object' }
|
41
|
+
field :fraud_status, 'string'
|
42
|
+
field :fulfillment_status, 'string'
|
33
43
|
field :id, 'string'
|
34
|
-
field :
|
35
|
-
field :
|
36
|
-
field :
|
37
|
-
field :
|
38
|
-
field :
|
39
|
-
field :
|
40
|
-
field :
|
41
|
-
field :
|
42
|
-
field :
|
43
|
-
field :
|
44
|
+
field :is_from_ad, 'bool'
|
45
|
+
field :is_from_page_post, 'bool'
|
46
|
+
field :items, { list: 'object' }
|
47
|
+
field :payout_foreign_exchange_rate, 'double'
|
48
|
+
field :phone_support_eligible, 'bool'
|
49
|
+
field :refundable_amount, 'CurrencyAmount'
|
50
|
+
field :request_id, 'string'
|
51
|
+
field :tax, 'string'
|
52
|
+
field :tax_country, 'string'
|
53
|
+
field :test, 'int'
|
54
|
+
field :user, 'User'
|
44
55
|
has_no_post
|
45
56
|
has_no_delete
|
46
57
|
|
47
|
-
has_edge :
|
48
|
-
edge.
|
58
|
+
has_edge :dispute do |edge|
|
59
|
+
edge.post 'PaymentEnginePayment' do |api|
|
60
|
+
api.has_param :reason, { enum: -> { PaymentEnginePayment::REASON }}
|
61
|
+
end
|
49
62
|
end
|
50
63
|
|
51
|
-
has_edge :
|
52
|
-
edge.
|
64
|
+
has_edge :refunds do |edge|
|
65
|
+
edge.post 'PaymentEnginePayment' do |api|
|
66
|
+
api.has_param :amount, 'double'
|
67
|
+
api.has_param :currency, 'string'
|
68
|
+
api.has_param :reason, { enum: -> { PaymentEnginePayment::REASON }}
|
69
|
+
end
|
53
70
|
end
|
54
71
|
|
55
72
|
end
|
@@ -29,13 +29,13 @@ module FacebookAds
|
|
29
29
|
|
30
30
|
field :amount, 'string'
|
31
31
|
field :app_param_data, 'string'
|
32
|
-
field :application, '
|
32
|
+
field :application, 'Application'
|
33
33
|
field :billing_period, 'string'
|
34
34
|
field :canceled_reason, 'string'
|
35
35
|
field :created_time, 'datetime'
|
36
36
|
field :currency, 'string'
|
37
37
|
field :id, 'string'
|
38
|
-
field :last_payment, '
|
38
|
+
field :last_payment, 'PaymentEnginePayment'
|
39
39
|
field :next_bill_time, 'datetime'
|
40
40
|
field :next_period_amount, 'string'
|
41
41
|
field :next_period_currency, 'string'
|
@@ -50,7 +50,7 @@ module FacebookAds
|
|
50
50
|
field :trial_currency, 'string'
|
51
51
|
field :trial_expiry_time, 'datetime'
|
52
52
|
field :updated_time, 'datetime'
|
53
|
-
field :user, '
|
53
|
+
field :user, 'User'
|
54
54
|
has_no_post
|
55
55
|
has_no_delete
|
56
56
|
|
@@ -125,16 +125,6 @@ module FacebookAds
|
|
125
125
|
end
|
126
126
|
end
|
127
127
|
|
128
|
-
has_edge :reactions do |edge|
|
129
|
-
edge.get 'Profile' do |api|
|
130
|
-
api.has_param :type, { enum: -> { Profile::TYPE }}
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
has_edge :sharedposts do |edge|
|
135
|
-
edge.get 'Post'
|
136
|
-
end
|
137
|
-
|
138
128
|
has_edge :sponsor_tags do |edge|
|
139
129
|
edge.get 'Page'
|
140
130
|
end
|
@@ -35,6 +35,51 @@ module FacebookAds
|
|
35
35
|
"year",
|
36
36
|
]
|
37
37
|
|
38
|
+
CHECKIN_ENTRY_POINT = [
|
39
|
+
"BRANDING_CHECKIN",
|
40
|
+
"BRANDING_OTHER",
|
41
|
+
"BRANDING_PHOTO",
|
42
|
+
"BRANDING_STATUS",
|
43
|
+
]
|
44
|
+
|
45
|
+
FORMATTING = [
|
46
|
+
"MARKDOWN",
|
47
|
+
"PLAINTEXT",
|
48
|
+
]
|
49
|
+
|
50
|
+
PLACE_ATTACHMENT_SETTING = [
|
51
|
+
"1",
|
52
|
+
"2",
|
53
|
+
]
|
54
|
+
|
55
|
+
POST_SURFACES_BLACKLIST = [
|
56
|
+
"1",
|
57
|
+
"2",
|
58
|
+
"3",
|
59
|
+
"4",
|
60
|
+
"5",
|
61
|
+
]
|
62
|
+
|
63
|
+
POSTING_TO_REDSPACE = [
|
64
|
+
"disabled",
|
65
|
+
"enabled",
|
66
|
+
]
|
67
|
+
|
68
|
+
TARGET_SURFACE = [
|
69
|
+
"STORY",
|
70
|
+
"TIMELINE",
|
71
|
+
]
|
72
|
+
|
73
|
+
UNPUBLISHED_CONTENT_TYPE = [
|
74
|
+
"ADS_POST",
|
75
|
+
"DRAFT",
|
76
|
+
"INLINE_CREATED",
|
77
|
+
"PUBLISHED",
|
78
|
+
"REVIEWABLE_BRANDED_CONTENT",
|
79
|
+
"SCHEDULED",
|
80
|
+
"SCHEDULED_RECURRING",
|
81
|
+
]
|
82
|
+
|
38
83
|
FEED_STORY_VISIBILITY = [
|
39
84
|
"hidden",
|
40
85
|
"visible",
|
@@ -59,22 +104,17 @@ module FacebookAds
|
|
59
104
|
field :comments_mirroring_domain, 'string'
|
60
105
|
field :coordinates, 'object'
|
61
106
|
field :created_time, 'datetime'
|
62
|
-
field :delivery_growth_optimizations, { list: 'string' }
|
63
107
|
field :description, 'string'
|
64
|
-
field :entities, 'object'
|
65
108
|
field :event, 'Event'
|
66
109
|
field :expanded_height, 'int'
|
67
110
|
field :expanded_width, 'int'
|
68
111
|
field :feed_targeting, 'object'
|
69
|
-
field :formatting, 'string'
|
70
112
|
field :from, 'object'
|
71
113
|
field :full_picture, 'string'
|
72
114
|
field :height, 'int'
|
73
115
|
field :icon, 'string'
|
74
116
|
field :id, 'string'
|
75
|
-
field :implicit_place, 'Place'
|
76
117
|
field :instagram_eligibility, 'string'
|
77
|
-
field :instream_eligibility, 'string'
|
78
118
|
field :is_app_share, 'bool'
|
79
119
|
field :is_eligible_for_promotion, 'bool'
|
80
120
|
field :is_expired, 'bool'
|
@@ -84,8 +124,7 @@ module FacebookAds
|
|
84
124
|
field :is_popular, 'bool'
|
85
125
|
field :is_published, 'bool'
|
86
126
|
field :is_spherical, 'bool'
|
87
|
-
field :link, '
|
88
|
-
field :live_video_eligibility, { list: 'string' }
|
127
|
+
field :link, 'object'
|
89
128
|
field :message, 'string'
|
90
129
|
field :message_tags, { list: 'string' }
|
91
130
|
field :multi_share_end_card, 'bool'
|
@@ -96,12 +135,10 @@ module FacebookAds
|
|
96
135
|
field :permalink_url, 'object'
|
97
136
|
field :picture, 'string'
|
98
137
|
field :place, 'Place'
|
99
|
-
field :poll, 'object'
|
100
138
|
field :privacy, 'Privacy'
|
101
139
|
field :promotable_id, 'string'
|
102
140
|
field :promotion_status, 'string'
|
103
141
|
field :properties, { list: 'string' }
|
104
|
-
field :publishing_stats, 'int'
|
105
142
|
field :scheduled_publish_time, 'double'
|
106
143
|
field :shares, 'object'
|
107
144
|
field :source, 'string'
|
@@ -112,13 +149,11 @@ module FacebookAds
|
|
112
149
|
field :target, 'Profile'
|
113
150
|
field :targeting, 'object'
|
114
151
|
field :timeline_visibility, 'string'
|
115
|
-
field :translations, 'hash'
|
116
152
|
field :type, 'string'
|
117
153
|
field :updated_time, 'datetime'
|
118
154
|
field :via, 'object'
|
119
155
|
field :video_buying_eligibility, { list: 'string' }
|
120
156
|
field :width, 'int'
|
121
|
-
field :will_be_autocropped_when_deliver_to_instagram, 'bool'
|
122
157
|
|
123
158
|
has_edge :attachments do |edge|
|
124
159
|
edge.get
|
@@ -172,24 +207,6 @@ module FacebookAds
|
|
172
207
|
end
|
173
208
|
end
|
174
209
|
|
175
|
-
has_edge :promotions do |edge|
|
176
|
-
edge.post do |api|
|
177
|
-
api.has_param :ad_account_id, 'string'
|
178
|
-
api.has_param :ad_conversion_pixel_id, 'int'
|
179
|
-
api.has_param :audience, { enum: %w{AUTO_LOOKALIKE AUTO_PAGE_LOOKALIKE AUTO_TARGETING COUNTRY_AND_INTEREST CREATE_NEW CUSTOM_AUDIENCE DISTRICT EVENT_CUSTOM_AUDIENCES EVENT_ENGAGEMENT FANS GROUPER HEC_AUDIENCE IG_PROMOTED_POST_AUTO LOCAL LOOKALIKE MARKETPLACE_DEFAULT MARKETPLACE_NATIONWIDE_AUDIENCE MARKETPLACE_SAVED_AUDIENCE MULT_CUSTOM_AUDIENCES NCPP SAVED_AUDIENCE SMART_AUDIENCE }}
|
180
|
-
api.has_param :audience_id, 'string'
|
181
|
-
api.has_param :bid_amount, 'int'
|
182
|
-
api.has_param :budget, 'int'
|
183
|
-
api.has_param :cta_type, { enum: %w{ADD_TO_CART APPLY_NOW BOOK_TRAVEL BUY BUY_NOW BUY_TICKETS CALL CALL_ME CONTACT CONTACT_US DONATE DONATE_NOW DOWNLOAD EVENT_RSVP FIND_A_GROUP FIND_YOUR_GROUPS FOLLOW_NEWS_STORYLINE FOLLOW_PAGE FOLLOW_USER GET_DIRECTIONS GET_OFFER GET_OFFER_VIEW GET_QUOTE GET_SHOWTIMES INSTALL_APP INSTALL_MOBILE_APP LEARN_MORE LIKE_PAGE LISTEN_MUSIC LISTEN_NOW MESSAGE_PAGE MOBILE_DOWNLOAD MOMENTS NO_BUTTON OPEN_LINK ORDER_NOW PAY_TO_ACCESS PLAY_GAME PURCHASE_GIFT_CARDS RECORD_NOW REQUEST_TIME SAY_THANKS SEE_MORE SELL_NOW SEND_A_GIFT SHARE SHOP_NOW SIGN_UP SOTTO_SUBSCRIBE SUBSCRIBE UPDATE_APP USE_APP USE_MOBILE_APP VIDEO_ANNOTATION VISIT_PAGES_FEED WATCH_MORE WATCH_VIDEO WHATSAPP_MESSAGE WOODHENGE_SUPPORT }}
|
184
|
-
api.has_param :currency, 'string'
|
185
|
-
api.has_param :flow_id, 'string'
|
186
|
-
api.has_param :placement, 'string'
|
187
|
-
api.has_param :start_time, 'int'
|
188
|
-
api.has_param :stop_time, 'int'
|
189
|
-
api.has_param :targeting, 'Targeting'
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
210
|
has_edge :reactions do |edge|
|
194
211
|
edge.get 'Profile' do |api|
|
195
212
|
api.has_param :type, { enum: -> { Profile::TYPE }}
|
@@ -35,6 +35,7 @@ module FacebookAds
|
|
35
35
|
"home_listings",
|
36
36
|
"hotels",
|
37
37
|
"jobs",
|
38
|
+
"local_delivery_shipping_profiles",
|
38
39
|
"local_service_businesses",
|
39
40
|
"offer_items",
|
40
41
|
"offline_commerce",
|
@@ -110,7 +111,6 @@ module FacebookAds
|
|
110
111
|
field :catalog_segment_product_set_id, 'string'
|
111
112
|
field :destination_catalog_settings, 'hash'
|
112
113
|
field :flight_catalog_settings, 'hash'
|
113
|
-
field :onsite_commerce_merchant, 'object'
|
114
114
|
field :parent_catalog_id, 'string'
|
115
115
|
|
116
116
|
has_edge :agencies do |edge|
|
@@ -274,12 +274,6 @@ module FacebookAds
|
|
274
274
|
end
|
275
275
|
end
|
276
276
|
|
277
|
-
has_edge :onsite_commerce_merchant do |edge|
|
278
|
-
edge.post 'ProductCatalog' do |api|
|
279
|
-
api.has_param :onsite_commerce_merchant, 'object'
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
277
|
has_edge :pricing_variables_batch do |edge|
|
284
278
|
edge.get 'ProductCatalogPricingVariablesBatch' do |api|
|
285
279
|
api.has_param :handle, 'string'
|
@@ -305,6 +299,7 @@ module FacebookAds
|
|
305
299
|
api.has_param :feed_type, { enum: -> { ProductFeed::FEED_TYPE }}
|
306
300
|
api.has_param :file_name, 'string'
|
307
301
|
api.has_param :item_sub_type, { enum: -> { ProductFeed::ITEM_SUB_TYPE }}
|
302
|
+
api.has_param :migrated_from_feed_id, 'string'
|
308
303
|
api.has_param :name, 'string'
|
309
304
|
api.has_param :override_type, { enum: -> { ProductFeed::OVERRIDE_TYPE }}
|
310
305
|
api.has_param :override_value, 'string'
|
@@ -354,6 +349,7 @@ module FacebookAds
|
|
354
349
|
edge.post 'ProductItem' do |api|
|
355
350
|
api.has_param :additional_image_files, { list: 'file' }
|
356
351
|
api.has_param :additional_image_urls, { list: 'string' }
|
352
|
+
api.has_param :additional_uploaded_image_ids, { list: 'string' }
|
357
353
|
api.has_param :additional_variant_attributes, 'hash'
|
358
354
|
api.has_param :android_app_name, 'string'
|
359
355
|
api.has_param :android_class, 'string'
|
@@ -116,6 +116,7 @@ module FacebookAds
|
|
116
116
|
field :id, 'string'
|
117
117
|
field :item_sub_type, 'string'
|
118
118
|
field :latest_upload, 'ProductFeedUpload'
|
119
|
+
field :migrated_from_feed_id, 'string'
|
119
120
|
field :name, 'string'
|
120
121
|
field :override_type, 'string'
|
121
122
|
field :product_count, 'int'
|
@@ -32,6 +32,14 @@ module FacebookAds
|
|
32
32
|
field :retailer_id, 'string'
|
33
33
|
field :variants, { list: 'ProductVariant' }
|
34
34
|
|
35
|
+
has_edge :ar_data do |edge|
|
36
|
+
edge.post do |api|
|
37
|
+
api.has_param :effect_icon, 'file'
|
38
|
+
api.has_param :state, { enum: %w{DISABLED ENABLED TEST }}
|
39
|
+
api.has_param :surfaces, { list: { enum: %w{SHOPS TEST_CAPABILITY UNIVERSAL_CHECKOUT US_MARKETPLACE }} }
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
35
43
|
has_edge :products do |edge|
|
36
44
|
edge.get 'ProductItem'
|
37
45
|
edge.post 'ProductItem' do |api|
|
@@ -316,12 +316,14 @@ module FacebookAds
|
|
316
316
|
field :id, 'string'
|
317
317
|
field :image_cdn_urls, 'hash'
|
318
318
|
field :image_url, 'string'
|
319
|
+
field :images, { list: 'string' }
|
319
320
|
field :inventory, 'int'
|
320
321
|
field :manufacturer_part_number, 'string'
|
321
322
|
field :material, 'string'
|
322
323
|
field :mobile_link, 'string'
|
323
324
|
field :name, 'string'
|
324
325
|
field :ordering_index, 'int'
|
326
|
+
field :parent_product_id, 'string'
|
325
327
|
field :pattern, 'string'
|
326
328
|
field :price, 'string'
|
327
329
|
field :product_catalog, 'ProductCatalog'
|
@@ -343,6 +345,7 @@ module FacebookAds
|
|
343
345
|
field :url, 'string'
|
344
346
|
field :visibility, { enum: -> { VISIBILITY }}
|
345
347
|
field :additional_image_files, { list: 'file' }
|
348
|
+
field :additional_uploaded_image_ids, { list: 'string' }
|
346
349
|
field :android_app_name, 'string'
|
347
350
|
field :android_class, 'string'
|
348
351
|
field :android_package, 'string'
|
@@ -367,6 +370,18 @@ module FacebookAds
|
|
367
370
|
field :windows_phone_app_name, 'string'
|
368
371
|
field :windows_phone_url, 'string'
|
369
372
|
|
373
|
+
has_edge :ar_data do |edge|
|
374
|
+
edge.post do |api|
|
375
|
+
api.has_param :container_effect, { enum: %w{MAKEUP }}
|
376
|
+
api.has_param :effect_parameters, 'hash'
|
377
|
+
api.has_param :picker_icon, 'file'
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
has_edge :channels_to_integrity_status do |edge|
|
382
|
+
edge.get 'CatalogItemChannelsToIntegrityStatus'
|
383
|
+
end
|
384
|
+
|
370
385
|
has_edge :product_sets do |edge|
|
371
386
|
edge.get 'ProductSet'
|
372
387
|
end
|
@@ -34,10 +34,12 @@ module FacebookAds
|
|
34
34
|
field :namespace, 'string'
|
35
35
|
field :need_promo_code, 'bool'
|
36
36
|
field :offer_origin, 'string'
|
37
|
+
field :privacy_policy_link, 'string'
|
37
38
|
field :promotion_text, 'string'
|
38
39
|
field :receiver_benefits_text, 'string'
|
39
40
|
field :referral_link_uri, 'string'
|
40
41
|
field :sender_benefits_text, 'string'
|
42
|
+
field :terms_and_condition_link, 'string'
|
41
43
|
|
42
44
|
end
|
43
45
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
|
4
|
+
# copy, modify, and distribute this software in source code or binary form for use
|
5
|
+
# in connection with the web services and APIs provided by Facebook.
|
6
|
+
#
|
7
|
+
# As with any software that integrates with the Facebook platform, your use of
|
8
|
+
# this software is subject to the Facebook Platform Policy
|
9
|
+
# [http://developers.facebook.com/policy/]. This copyright notice shall be
|
10
|
+
# included in all copies or substantial portions of the software.
|
11
|
+
#
|
12
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
13
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
14
|
+
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
15
|
+
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
16
|
+
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
17
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
18
|
+
|
19
|
+
module FacebookAds
|
20
|
+
module ServerSide
|
21
|
+
ActionSource = Set[
|
22
|
+
|
23
|
+
# Conversion happened over email.
|
24
|
+
'email',
|
25
|
+
|
26
|
+
# Conversion was made on your website.
|
27
|
+
'website',
|
28
|
+
|
29
|
+
# Conversion was made using your app.
|
30
|
+
'app',
|
31
|
+
|
32
|
+
# Conversion was made over the phone.
|
33
|
+
'phone_call',
|
34
|
+
|
35
|
+
# Conversion was made via a messaging app, SMS, or online messaging feature.
|
36
|
+
'chat',
|
37
|
+
|
38
|
+
# Conversion was made in person at your physical store.
|
39
|
+
'physical_store',
|
40
|
+
|
41
|
+
# Conversion happened automatically, for example, a subscription renewal that's set on auto-pay each month.
|
42
|
+
'system_generated',
|
43
|
+
|
44
|
+
# Conversion happened in a way that is not listed.
|
45
|
+
'other'
|
46
|
+
]
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# Copyright (c) 2017-present, Facebook, Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
|
4
|
+
# copy, modify, and distribute this software in source code or binary form for use
|
5
|
+
# in connection with the web services and APIs provided by Facebook.
|
6
|
+
#
|
7
|
+
# As with any software that integrates with the Facebook platform, your use of
|
8
|
+
# this software is subject to the Facebook Platform Policy
|
9
|
+
# [http://developers.facebook.com/policy/]. This copyright notice shall be
|
10
|
+
# included in all copies or substantial portions of the software.
|
11
|
+
#
|
12
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
13
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
14
|
+
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
15
|
+
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
16
|
+
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
17
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
18
|
+
|
19
|
+
module FacebookAds::ServerSide
|
20
|
+
class BatchProcessor
|
21
|
+
attr_accessor :batch_size
|
22
|
+
attr_accessor :concurrent_requests
|
23
|
+
|
24
|
+
# Initializes the object
|
25
|
+
# @param [Integer] batch_size The number of events to send in each request
|
26
|
+
# @param [Integer] concurrent_requests The number of threads to use when making requests concurrently
|
27
|
+
def initialize(batch_size=50, concurrent_requests=4)
|
28
|
+
self.batch_size = batch_size
|
29
|
+
self.concurrent_requests = concurrent_requests
|
30
|
+
end
|
31
|
+
|
32
|
+
def process_event_requests(event_requests_async)
|
33
|
+
generator = self.process_event_requests_generator(event_requests_async)
|
34
|
+
generator.each do |batch|
|
35
|
+
Concurrent::Promise.zip(*batch).execute.value!
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def process_events(event_request_async_to_clone, events)
|
40
|
+
generator = self.process_events_generator(event_request_async_to_clone, events)
|
41
|
+
generator.each do |batch|
|
42
|
+
Concurrent::Promise.zip(*batch).execute.value!
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def process_event_requests_generator(event_requests_async)
|
47
|
+
index = 0
|
48
|
+
Enumerator.new do |generator|
|
49
|
+
while index < event_requests_async.size do
|
50
|
+
batch = event_requests_async[index, concurrent_requests].map(&:execute)
|
51
|
+
generator.yield *[batch]
|
52
|
+
index += concurrent_requests
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def process_events_generator(event_request_async_to_clone, events)
|
58
|
+
index = 0
|
59
|
+
Enumerator.new do |generator|
|
60
|
+
while index < events.size do
|
61
|
+
batch = []
|
62
|
+
while index < events.size && batch.size < concurrent_requests do
|
63
|
+
event_request_async = event_request_async_to_clone.clone_without_events
|
64
|
+
event_request_async.events = events[index, batch_size]
|
65
|
+
batch << event_request_async
|
66
|
+
index += batch_size
|
67
|
+
end
|
68
|
+
generator.yield *[batch.map(&:execute)]
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|