facebookads 0.2.9 → 0.2.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/facebook_ads.rb +1 -1
- data/lib/facebook_ads/ad_objects/ad.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_account.rb +10 -17
- data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +63 -0
- data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +6 -1
- data/lib/facebook_ads/ad_objects/ad_async_request.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +63 -0
- data/lib/facebook_ads/ad_objects/ad_creative.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_image.rb +2 -2
- data/lib/facebook_ads/ad_objects/ad_preview.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +17 -2
- data/lib/facebook_ads/ad_objects/ad_study.rb +2 -1
- data/lib/facebook_ads/ad_objects/ad_study_objective.rb +1 -0
- data/lib/facebook_ads/ad_objects/ads_action_stats.rb +1 -0
- data/lib/facebook_ads/ad_objects/ads_image_crops.rb +1 -0
- data/lib/facebook_ads/ad_objects/ads_insights.rb +10 -18
- data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -1
- data/lib/facebook_ads/ad_objects/ads_pixel_stats.rb +1 -0
- data/lib/facebook_ads/ad_objects/business.rb +5 -1
- data/lib/facebook_ads/ad_objects/campaign.rb +13 -0
- data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +40 -0
- data/lib/facebook_ads/ad_objects/custom_audience.rb +5 -1
- data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -0
- data/lib/facebook_ads/ad_objects/custom_conversion.rb +10 -1
- data/lib/facebook_ads/ad_objects/event.rb +4 -0
- data/lib/facebook_ads/ad_objects/lead_gen_question.rb +3 -0
- data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_catalog.rb +13 -1
- data/lib/facebook_ads/ad_objects/product_feed.rb +2 -0
- data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_group.rb +1 -1
- data/lib/facebook_ads/ad_objects/product_item.rb +2 -1
- data/lib/facebook_ads/ad_objects/reach_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +1 -1
- data/lib/facebook_ads/ad_objects/reach_frequency_spec.rb +1 -0
- data/lib/facebook_ads/ad_objects/targeting.rb +1 -1
- data/lib/facebook_ads/ad_objects/transaction.rb +1 -0
- data/lib/facebook_ads/ad_objects/user.rb +3 -0
- data/lib/facebook_ads/field_types/object.rb +1 -1
- data/lib/facebook_ads/version.rb +2 -2
- data/lib/facebookads.rb +1 -0
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbc110a24bb4669a6d4197887009fc6d9146943e
|
4
|
+
data.tar.gz: dad0fbba3c02b1735bd9cbb10fc4943041036793
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6be86bcfb67af98952a1a66565abfac62373172f453c021736b7e6a80161e47545b1e1a4cc4529817fa7c83b763263b342d6db9bcd0785faac57550a831e4708
|
7
|
+
data.tar.gz: e1b5b5e601eb7ddc2374d9131223304ed3a864cb73bb4a55666ba9b3eb977b8af69f33ade5502edb00f488abd2f30cc2dcea7563e14a9c77637041bdee9e25a1
|
data/README.md
CHANGED
@@ -69,10 +69,10 @@ The SDK contains ad object files auto generated from our API metadata, each node
|
|
69
69
|
|
70
70
|
```ruby
|
71
71
|
ad_account = FacebookAds::AdAccount.get('act_1234567', 'name')
|
72
|
-
|
72
|
+
puts "Ad Account Name: #{ad_account.name}"
|
73
73
|
```
|
74
74
|
|
75
|
-
The `#get` method doesn't trigger the `GET` request
|
75
|
+
The `#get` method doesn't trigger the `GET` request immediately. The API request for `GET` is fired on-demand. In the example above, API request won't fire until `ad_account.name` is executed.
|
76
76
|
|
77
77
|
### Updating a node
|
78
78
|
To update a node, you can use the `#save` method of ad object classes.
|
@@ -112,7 +112,7 @@ ad_account = FacebookAds::AdAccount.get('act_1234567', 'name')
|
|
112
112
|
|
113
113
|
# Printing all campaign names
|
114
114
|
ad_account.campaigns(fields: 'name').each do |campaign|
|
115
|
-
|
115
|
+
puts campaign.name
|
116
116
|
end
|
117
117
|
|
118
118
|
# Getting all campaign names
|
@@ -219,4 +219,4 @@ end
|
|
219
219
|
```
|
220
220
|
|
221
221
|
## Reporting Bugs/Feedback
|
222
|
-
Please raise any issue on
|
222
|
+
Please raise any issue on GitHub.
|
data/lib/facebook_ads.rb
CHANGED
@@ -58,7 +58,7 @@ module FacebookAds
|
|
58
58
|
require 'facebook_ads/batch_api/batch'
|
59
59
|
require 'facebook_ads/batch_api/batch_proxy'
|
60
60
|
|
61
|
-
# Autoload
|
61
|
+
# Autoload AdObjects Helpers
|
62
62
|
Dir.glob(File.expand_path(File.join(__FILE__, '..', 'facebook_ads', 'ad_objects', 'helpers', '*.rb'))).each do |file|
|
63
63
|
class_name = File.basename(file, '.rb').split('_').map(&:capitalize).join.to_sym
|
64
64
|
autoload class_name, file
|
@@ -114,6 +114,8 @@ module FacebookAds
|
|
114
114
|
field :last_updated_by_app_id, 'string'
|
115
115
|
field :name, 'string'
|
116
116
|
field :recommendations, { list: 'AdRecommendation' }
|
117
|
+
field :source_ad, 'Ad'
|
118
|
+
field :source_ad_id, 'string'
|
117
119
|
field :status, { enum: -> { STATUS }}
|
118
120
|
field :tracking_specs, { list: 'ConversionActionQuery' }
|
119
121
|
field :updated_time, 'datetime'
|
@@ -159,6 +161,7 @@ module FacebookAds
|
|
159
161
|
api.has_param :time_increment, 'string'
|
160
162
|
api.has_param :time_range, 'object'
|
161
163
|
api.has_param :time_ranges, { list: 'object' }
|
164
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
162
165
|
end
|
163
166
|
edge.post 'AdReportRun' do |api|
|
164
167
|
api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
|
@@ -180,6 +183,7 @@ module FacebookAds
|
|
180
183
|
api.has_param :time_increment, 'string'
|
181
184
|
api.has_param :time_range, 'object'
|
182
185
|
api.has_param :time_ranges, { list: 'object' }
|
186
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
183
187
|
end
|
184
188
|
end
|
185
189
|
|
@@ -46,6 +46,7 @@ module FacebookAds
|
|
46
46
|
field :age, 'double'
|
47
47
|
field :agency_client_declaration, 'AgencyClientDeclaration'
|
48
48
|
field :amount_spent, 'string'
|
49
|
+
field :attribution_spec, { list: 'object' }
|
49
50
|
field :balance, 'string'
|
50
51
|
field :business, 'Business'
|
51
52
|
field :business_city, 'string'
|
@@ -68,6 +69,7 @@ module FacebookAds
|
|
68
69
|
field :has_migrated_permissions, 'bool'
|
69
70
|
field :id, 'string'
|
70
71
|
field :io_number, 'string'
|
72
|
+
field :is_attribution_spec_system_default, 'bool'
|
71
73
|
field :is_notifications_enabled, 'bool'
|
72
74
|
field :is_personal, 'int'
|
73
75
|
field :is_prepay_account, 'bool'
|
@@ -171,9 +173,9 @@ module FacebookAds
|
|
171
173
|
api.has_param :name, 'string'
|
172
174
|
end
|
173
175
|
edge.post list: 'AdImage' do |api|
|
174
|
-
api.has_param :bytes, '
|
176
|
+
api.has_param :bytes, 'object'
|
175
177
|
api.has_param :copy_from, 'object'
|
176
|
-
api.has_param :zipbytes, '
|
178
|
+
api.has_param :zipbytes, 'object'
|
177
179
|
api.accepts_files!
|
178
180
|
end
|
179
181
|
end
|
@@ -259,7 +261,6 @@ module FacebookAds
|
|
259
261
|
api.has_param :promoted_object, 'object'
|
260
262
|
api.has_param :redownload, 'bool'
|
261
263
|
api.has_param :rf_prediction_id, 'string'
|
262
|
-
api.has_param :rtb_flag, 'bool'
|
263
264
|
api.has_param :start_time, 'datetime'
|
264
265
|
api.has_param :status, { enum: -> { AdSet::STATUS }}
|
265
266
|
api.has_param :targeting, 'Targeting'
|
@@ -304,6 +305,7 @@ module FacebookAds
|
|
304
305
|
api.has_param :og_object_id, 'string'
|
305
306
|
api.has_param :og_phrase, 'string'
|
306
307
|
api.has_param :og_suggestion_mechanism, 'string'
|
308
|
+
api.has_param :original_fov, 'int'
|
307
309
|
api.has_param :original_projection_type, { enum: %w{equirectangular cubemap }}
|
308
310
|
api.has_param :referenced_sticker_id, 'string'
|
309
311
|
api.has_param :slideshow_spec, 'hash'
|
@@ -347,7 +349,6 @@ module FacebookAds
|
|
347
349
|
api.has_param :object_count, 'int'
|
348
350
|
end
|
349
351
|
edge.get 'Campaign' do |api|
|
350
|
-
api.has_param :ad_draft_id, 'string'
|
351
352
|
api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }}
|
352
353
|
api.has_param :effective_status, { list: { enum: -> { Campaign::EFFECTIVE_STATUS }} }
|
353
354
|
api.has_param :is_completed, 'bool'
|
@@ -408,20 +409,18 @@ module FacebookAds
|
|
408
409
|
|
409
410
|
has_edge :customconversions do |edge|
|
410
411
|
edge.post 'CustomConversion' do |api|
|
411
|
-
api.has_param :aggregation_rule, 'string'
|
412
412
|
api.has_param :custom_event_type, { enum: -> { CustomConversion::CUSTOM_EVENT_TYPE }}
|
413
413
|
api.has_param :default_conversion_value, 'double'
|
414
414
|
api.has_param :description, 'string'
|
415
415
|
api.has_param :event_source_id, 'string'
|
416
416
|
api.has_param :name, 'string'
|
417
|
-
api.has_param :retention_days, 'int'
|
418
417
|
api.has_param :rule, 'string'
|
419
418
|
end
|
420
419
|
end
|
421
420
|
|
422
421
|
has_edge :delivery_estimate do |edge|
|
423
|
-
edge.get '
|
424
|
-
api.has_param :optimization_goal,
|
422
|
+
edge.get 'AdAccountDeliveryEstimate' do |api|
|
423
|
+
api.has_param :optimization_goal, { enum: -> { AdAccountDeliveryEstimate::OPTIMIZATION_GOAL }}
|
425
424
|
api.has_param :promoted_object, 'object'
|
426
425
|
api.has_param :targeting_spec, 'Targeting'
|
427
426
|
end
|
@@ -463,6 +462,7 @@ module FacebookAds
|
|
463
462
|
api.has_param :time_increment, 'string'
|
464
463
|
api.has_param :time_range, 'object'
|
465
464
|
api.has_param :time_ranges, { list: 'object' }
|
465
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
466
466
|
end
|
467
467
|
edge.post 'AdReportRun' do |api|
|
468
468
|
api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
|
@@ -484,6 +484,7 @@ module FacebookAds
|
|
484
484
|
api.has_param :time_increment, 'string'
|
485
485
|
api.has_param :time_range, 'object'
|
486
486
|
api.has_param :time_ranges, { list: 'object' }
|
487
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
487
488
|
end
|
488
489
|
end
|
489
490
|
|
@@ -507,14 +508,6 @@ module FacebookAds
|
|
507
508
|
edge.get
|
508
509
|
end
|
509
510
|
|
510
|
-
has_edge :offlineconversions do |edge|
|
511
|
-
edge.post do |api|
|
512
|
-
api.has_param :event, 'string'
|
513
|
-
api.has_param :payload, { list: 'object' }
|
514
|
-
api.has_param :pixel_id, 'string'
|
515
|
-
end
|
516
|
-
end
|
517
|
-
|
518
511
|
has_edge :offsitepixels do |edge|
|
519
512
|
edge.get 'OffsitePixel'
|
520
513
|
edge.post 'OffsitePixel' do |api|
|
@@ -546,7 +539,7 @@ module FacebookAds
|
|
546
539
|
api.has_param :opt_out_link, 'string'
|
547
540
|
api.has_param :parent_audience_id, 'int'
|
548
541
|
api.has_param :product_set_id, 'string'
|
549
|
-
api.has_param :subtype, { enum: %w{CUSTOM WEBSITE APP OFFLINE_CONVERSION CLAIM PARTNER MANAGED VIDEO LOOKALIKE ENGAGEMENT DATA_SET BAG_OF_ACCOUNTS STUDY_RULE_AUDIENCE }}
|
542
|
+
api.has_param :subtype, { enum: %w{CUSTOM WEBSITE APP OFFLINE_CONVERSION CLAIM PARTNER MANAGED VIDEO LOOKALIKE ENGAGEMENT DATA_SET BAG_OF_ACCOUNTS STUDY_RULE_AUDIENCE FOX }}
|
550
543
|
api.has_param :tags, { list: 'string' }
|
551
544
|
end
|
552
545
|
end
|
@@ -0,0 +1,63 @@
|
|
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
|
+
# FB:AUTOGEN
|
20
|
+
|
21
|
+
module FacebookAds
|
22
|
+
# This class is auto-genereated.
|
23
|
+
|
24
|
+
# For any issues or feature requests related to this class, please let us know
|
25
|
+
# on github and we'll fix in our codegen framework. We'll not be able to accept
|
26
|
+
# pull request for this class.
|
27
|
+
|
28
|
+
class AdAccountDeliveryEstimate < AdObject
|
29
|
+
OPTIMIZATION_GOAL = [
|
30
|
+
"NONE",
|
31
|
+
"APP_INSTALLS",
|
32
|
+
"BRAND_AWARENESS",
|
33
|
+
"CLICKS",
|
34
|
+
"ENGAGED_USERS",
|
35
|
+
"EVENT_RESPONSES",
|
36
|
+
"IMPRESSIONS",
|
37
|
+
"LEAD_GENERATION",
|
38
|
+
"LINK_CLICKS",
|
39
|
+
"OFFER_CLAIMS",
|
40
|
+
"OFFSITE_CONVERSIONS",
|
41
|
+
"PAGE_ENGAGEMENT",
|
42
|
+
"PAGE_LIKES",
|
43
|
+
"POST_ENGAGEMENT",
|
44
|
+
"REACH",
|
45
|
+
"SOCIAL_IMPRESSIONS",
|
46
|
+
"VIDEO_VIEWS",
|
47
|
+
"APP_DOWNLOADS",
|
48
|
+
"LANDING_PAGE_VIEWS",
|
49
|
+
]
|
50
|
+
|
51
|
+
|
52
|
+
field :bid_estimate, 'object'
|
53
|
+
field :daily_outcomes_curve, { list: 'OutcomePredictionPoint' }
|
54
|
+
field :estimate_dau, 'object'
|
55
|
+
field :estimate_mau, 'object'
|
56
|
+
field :estimate_ready, 'bool'
|
57
|
+
has_no_id
|
58
|
+
has_no_get
|
59
|
+
has_no_post
|
60
|
+
has_no_delete
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -81,7 +81,6 @@ module FacebookAds
|
|
81
81
|
"effective_audience_network_positions",
|
82
82
|
"excluded_publisher_categories",
|
83
83
|
"excluded_publisher_list_ids",
|
84
|
-
"excluded_publisher_domains",
|
85
84
|
"publisher_visibility_categories",
|
86
85
|
"user_device",
|
87
86
|
"mobile_device_model",
|
@@ -106,6 +105,7 @@ module FacebookAds
|
|
106
105
|
"moms",
|
107
106
|
"office_type",
|
108
107
|
"targeting_optimization",
|
108
|
+
"direct_install_devices",
|
109
109
|
"engagement_specs",
|
110
110
|
"excluded_engagement_specs",
|
111
111
|
"product_audience_specs",
|
@@ -118,6 +118,11 @@ module FacebookAds
|
|
118
118
|
"fb_deal_id",
|
119
119
|
"interest_defaults_source",
|
120
120
|
"alternate_auto_targeting_option",
|
121
|
+
"contextual_targeting_categories",
|
122
|
+
"topic",
|
123
|
+
"format",
|
124
|
+
"trending",
|
125
|
+
"gatekeepers",
|
121
126
|
]
|
122
127
|
|
123
128
|
|
@@ -0,0 +1,63 @@
|
|
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
|
+
# FB:AUTOGEN
|
20
|
+
|
21
|
+
module FacebookAds
|
22
|
+
# This class is auto-genereated.
|
23
|
+
|
24
|
+
# For any issues or feature requests related to this class, please let us know
|
25
|
+
# on github and we'll fix in our codegen framework. We'll not be able to accept
|
26
|
+
# pull request for this class.
|
27
|
+
|
28
|
+
class AdCampaignDeliveryEstimate < AdObject
|
29
|
+
OPTIMIZATION_GOAL = [
|
30
|
+
"NONE",
|
31
|
+
"APP_INSTALLS",
|
32
|
+
"BRAND_AWARENESS",
|
33
|
+
"CLICKS",
|
34
|
+
"ENGAGED_USERS",
|
35
|
+
"EVENT_RESPONSES",
|
36
|
+
"IMPRESSIONS",
|
37
|
+
"LEAD_GENERATION",
|
38
|
+
"LINK_CLICKS",
|
39
|
+
"OFFER_CLAIMS",
|
40
|
+
"OFFSITE_CONVERSIONS",
|
41
|
+
"PAGE_ENGAGEMENT",
|
42
|
+
"PAGE_LIKES",
|
43
|
+
"POST_ENGAGEMENT",
|
44
|
+
"REACH",
|
45
|
+
"SOCIAL_IMPRESSIONS",
|
46
|
+
"VIDEO_VIEWS",
|
47
|
+
"APP_DOWNLOADS",
|
48
|
+
"LANDING_PAGE_VIEWS",
|
49
|
+
]
|
50
|
+
|
51
|
+
|
52
|
+
field :bid_estimate, 'object'
|
53
|
+
field :daily_outcomes_curve, { list: 'OutcomePredictionPoint' }
|
54
|
+
field :estimate_dau, 'object'
|
55
|
+
field :estimate_mau, 'object'
|
56
|
+
field :estimate_ready, 'bool'
|
57
|
+
has_no_id
|
58
|
+
has_no_get
|
59
|
+
has_no_post
|
60
|
+
has_no_delete
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -27,6 +27,7 @@ module FacebookAds
|
|
27
27
|
|
28
28
|
class AdCreativeVideoData < AdObject
|
29
29
|
|
30
|
+
field :additional_image_index, 'int'
|
30
31
|
field :branded_content_sponsor_page_id, 'string'
|
31
32
|
field :branded_content_sponsor_relationship, 'string'
|
32
33
|
field :call_to_action, 'AdCreativeLinkDataCallToAction'
|
@@ -36,6 +37,7 @@ module FacebookAds
|
|
36
37
|
field :message, 'string'
|
37
38
|
field :offer_id, 'string'
|
38
39
|
field :page_welcome_message, 'string'
|
40
|
+
field :retailer_item_ids, { list: 'string' }
|
39
41
|
field :targeting, 'Targeting'
|
40
42
|
field :title, 'string'
|
41
43
|
field :video_id, 'string'
|
@@ -48,9 +48,9 @@ module FacebookAds
|
|
48
48
|
field :url, 'string'
|
49
49
|
field :url_128, 'string'
|
50
50
|
field :width, 'int'
|
51
|
-
field :bytes, '
|
51
|
+
field :bytes, 'object'
|
52
52
|
field :copy_from, 'object'
|
53
|
-
field :zipbytes, '
|
53
|
+
field :zipbytes, 'object'
|
54
54
|
has_no_post
|
55
55
|
has_no_delete
|
56
56
|
|
@@ -36,6 +36,7 @@ module FacebookAds
|
|
36
36
|
"POST_ENGAGEMENT",
|
37
37
|
"VIDEO_VIEWS",
|
38
38
|
"MRC_VIDEO_VIEWS",
|
39
|
+
"COMPLETED_VIDEO_VIEWS",
|
39
40
|
]
|
40
41
|
|
41
42
|
CONFIGURED_STATUS = [
|
@@ -77,6 +78,7 @@ module FacebookAds
|
|
77
78
|
"SOCIAL_IMPRESSIONS",
|
78
79
|
"VIDEO_VIEWS",
|
79
80
|
"APP_DOWNLOADS",
|
81
|
+
"LANDING_PAGE_VIEWS",
|
80
82
|
]
|
81
83
|
|
82
84
|
STATUS = [
|
@@ -152,6 +154,8 @@ module FacebookAds
|
|
152
154
|
field :recurring_budget_semantics, 'bool'
|
153
155
|
field :rf_prediction_id, 'string'
|
154
156
|
field :rtb_flag, 'bool'
|
157
|
+
field :source_adset, 'AdSet'
|
158
|
+
field :source_adset_id, 'string'
|
155
159
|
field :start_time, 'datetime'
|
156
160
|
field :status, { enum: -> { STATUS }}
|
157
161
|
field :targeting, 'Targeting'
|
@@ -206,9 +210,18 @@ module FacebookAds
|
|
206
210
|
end
|
207
211
|
end
|
208
212
|
|
213
|
+
has_edge :copies do |edge|
|
214
|
+
edge.get 'AdSet' do |api|
|
215
|
+
api.has_param :date_preset, { enum: -> { AdSet::DATE_PRESET }}
|
216
|
+
api.has_param :effective_status, { list: { enum: -> { AdSet::EFFECTIVE_STATUS }} }
|
217
|
+
api.has_param :is_completed, 'bool'
|
218
|
+
api.has_param :time_range, 'object'
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
209
222
|
has_edge :delivery_estimate do |edge|
|
210
|
-
edge.get '
|
211
|
-
api.has_param :optimization_goal,
|
223
|
+
edge.get 'AdCampaignDeliveryEstimate' do |api|
|
224
|
+
api.has_param :optimization_goal, { enum: -> { AdCampaignDeliveryEstimate::OPTIMIZATION_GOAL }}
|
212
225
|
api.has_param :promoted_object, 'object'
|
213
226
|
api.has_param :targeting_spec, 'Targeting'
|
214
227
|
end
|
@@ -235,6 +248,7 @@ module FacebookAds
|
|
235
248
|
api.has_param :time_increment, 'string'
|
236
249
|
api.has_param :time_range, 'object'
|
237
250
|
api.has_param :time_ranges, { list: 'object' }
|
251
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
238
252
|
end
|
239
253
|
edge.post 'AdReportRun' do |api|
|
240
254
|
api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
|
@@ -256,6 +270,7 @@ module FacebookAds
|
|
256
270
|
api.has_param :time_increment, 'string'
|
257
271
|
api.has_param :time_range, 'object'
|
258
272
|
api.has_param :time_ranges, { list: 'object' }
|
273
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
259
274
|
end
|
260
275
|
end
|
261
276
|
|
@@ -57,9 +57,10 @@ module FacebookAds
|
|
57
57
|
edge.post 'AdStudyObjective' do |api|
|
58
58
|
api.has_param :adspixels, { list: 'object' }
|
59
59
|
api.has_param :applications, { list: 'object' }
|
60
|
+
api.has_param :customconversions, { list: 'object' }
|
60
61
|
api.has_param :is_primary, 'bool'
|
61
62
|
api.has_param :name, 'string'
|
62
|
-
api.has_param :
|
63
|
+
api.has_param :offline_conversion_data_sets, { list: 'object' }
|
63
64
|
api.has_param :offsitepixels, { list: 'object' }
|
64
65
|
api.has_param :type, { enum: -> { AdStudyObjective::TYPE }}
|
65
66
|
end
|
@@ -38,6 +38,7 @@ module FacebookAds
|
|
38
38
|
field :action_carousel_card_name, 'string'
|
39
39
|
field :action_destination, 'string'
|
40
40
|
field :action_device, 'string'
|
41
|
+
field :action_link_click_destination, 'string'
|
41
42
|
field :action_reaction, 'string'
|
42
43
|
field :action_target_id, 'string'
|
43
44
|
field :action_type, 'string'
|
@@ -42,6 +42,7 @@ module FacebookAds
|
|
42
42
|
"action_carousel_card_name",
|
43
43
|
"action_destination",
|
44
44
|
"action_device",
|
45
|
+
"action_link_click_destination",
|
45
46
|
"action_reaction",
|
46
47
|
"action_target_id",
|
47
48
|
"action_type",
|
@@ -106,6 +107,7 @@ module FacebookAds
|
|
106
107
|
"action_carousel_card_name",
|
107
108
|
"action_destination",
|
108
109
|
"action_device",
|
110
|
+
"action_link_click_destination",
|
109
111
|
"action_reaction",
|
110
112
|
"action_target_id",
|
111
113
|
"action_type",
|
@@ -138,10 +140,7 @@ module FacebookAds
|
|
138
140
|
field :ad_name, 'string'
|
139
141
|
field :adset_id, 'string'
|
140
142
|
field :adset_name, 'string'
|
141
|
-
field :age, 'string'
|
142
|
-
field :app_store_clicks, 'string'
|
143
143
|
field :buying_type, 'string'
|
144
|
-
field :call_to_action_asset, 'object'
|
145
144
|
field :call_to_action_clicks, 'string'
|
146
145
|
field :campaign_id, 'string'
|
147
146
|
field :campaign_name, 'string'
|
@@ -154,40 +153,31 @@ module FacebookAds
|
|
154
153
|
field :cost_per_estimated_ad_recallers, 'string'
|
155
154
|
field :cost_per_inline_link_click, 'string'
|
156
155
|
field :cost_per_inline_post_engagement, 'string'
|
156
|
+
field :cost_per_outbound_click, { list: 'AdsActionStats' }
|
157
157
|
field :cost_per_total_action, 'string'
|
158
158
|
field :cost_per_unique_action_type, { list: 'AdsActionStats' }
|
159
159
|
field :cost_per_unique_click, 'string'
|
160
160
|
field :cost_per_unique_inline_link_click, 'string'
|
161
|
-
field :
|
161
|
+
field :cost_per_unique_outbound_click, { list: 'AdsActionStats' }
|
162
162
|
field :cpc, 'string'
|
163
163
|
field :cpm, 'string'
|
164
164
|
field :cpp, 'string'
|
165
165
|
field :ctr, 'string'
|
166
166
|
field :date_start, 'string'
|
167
167
|
field :date_stop, 'string'
|
168
|
-
field :deeplink_clicks, 'string'
|
169
|
-
field :device_platform, 'string'
|
170
|
-
field :dma, 'string'
|
171
168
|
field :estimated_ad_recall_rate, 'string'
|
172
169
|
field :estimated_ad_recallers, 'string'
|
173
170
|
field :frequency, 'string'
|
174
|
-
field :frequency_value, 'string'
|
175
|
-
field :gender, 'string'
|
176
|
-
field :hourly_stats_aggregated_by_advertiser_time_zone, 'string'
|
177
|
-
field :hourly_stats_aggregated_by_audience_time_zone, 'string'
|
178
|
-
field :impression_device, 'string'
|
179
171
|
field :impressions, 'string'
|
180
|
-
field :impressions_dummy, 'string'
|
181
172
|
field :inline_link_click_ctr, 'string'
|
182
173
|
field :inline_link_clicks, 'string'
|
183
174
|
field :inline_post_engagement, 'string'
|
175
|
+
field :mobile_app_purchase_roas, { list: 'AdsActionStats' }
|
184
176
|
field :objective, 'string'
|
185
|
-
field :
|
177
|
+
field :outbound_clicks, { list: 'AdsActionStats' }
|
178
|
+
field :outbound_clicks_ctr, { list: 'AdsActionStats' }
|
186
179
|
field :place_page_name, 'string'
|
187
|
-
field :placement, 'string'
|
188
|
-
field :product_id, 'string'
|
189
180
|
field :reach, 'string'
|
190
|
-
field :region, 'string'
|
191
181
|
field :relevance_score, 'AdgroupRelevanceScore'
|
192
182
|
field :social_clicks, 'string'
|
193
183
|
field :social_impressions, 'string'
|
@@ -203,6 +193,8 @@ module FacebookAds
|
|
203
193
|
field :unique_inline_link_click_ctr, 'string'
|
204
194
|
field :unique_inline_link_clicks, 'string'
|
205
195
|
field :unique_link_clicks_ctr, 'string'
|
196
|
+
field :unique_outbound_clicks, { list: 'AdsActionStats' }
|
197
|
+
field :unique_outbound_clicks_ctr, { list: 'AdsActionStats' }
|
206
198
|
field :unique_social_clicks, 'string'
|
207
199
|
field :video_10_sec_watched_actions, { list: 'AdsActionStats' }
|
208
200
|
field :video_15_sec_watched_actions, { list: 'AdsActionStats' }
|
@@ -214,8 +206,8 @@ module FacebookAds
|
|
214
206
|
field :video_p50_watched_actions, { list: 'AdsActionStats' }
|
215
207
|
field :video_p75_watched_actions, { list: 'AdsActionStats' }
|
216
208
|
field :video_p95_watched_actions, { list: 'AdsActionStats' }
|
217
|
-
field :website_clicks, 'string'
|
218
209
|
field :website_ctr, { list: 'AdsActionStats' }
|
210
|
+
field :website_purchase_roas, { list: 'AdsActionStats' }
|
219
211
|
has_no_id
|
220
212
|
has_no_get
|
221
213
|
has_no_post
|
@@ -29,6 +29,7 @@ module FacebookAds
|
|
29
29
|
|
30
30
|
field :code, 'string'
|
31
31
|
field :creation_time, 'datetime'
|
32
|
+
field :creator, 'User'
|
32
33
|
field :id, 'string'
|
33
34
|
field :is_created_by_business, 'bool'
|
34
35
|
field :last_fired_time, 'datetime'
|
@@ -38,7 +39,9 @@ module FacebookAds
|
|
38
39
|
has_no_delete
|
39
40
|
|
40
41
|
has_edge :audiences do |edge|
|
41
|
-
edge.get 'CustomAudience'
|
42
|
+
edge.get 'CustomAudience' do |api|
|
43
|
+
api.has_param :ad_account, 'string'
|
44
|
+
end
|
42
45
|
end
|
43
46
|
|
44
47
|
has_edge :shared_accounts do |edge|
|
@@ -34,10 +34,12 @@ module FacebookAds
|
|
34
34
|
field :name, 'string'
|
35
35
|
field :payment_account_id, 'string'
|
36
36
|
field :primary_page, 'object'
|
37
|
+
field :profile_picture_uri, 'string'
|
37
38
|
field :timezone_id, 'int'
|
38
39
|
field :two_factor_type, 'string'
|
39
40
|
field :updated_by, 'User'
|
40
41
|
field :updated_time, 'datetime'
|
42
|
+
field :vertical, 'string'
|
41
43
|
has_no_post
|
42
44
|
has_no_delete
|
43
45
|
|
@@ -59,6 +61,7 @@ module FacebookAds
|
|
59
61
|
|
60
62
|
has_edge :adaccount do |edge|
|
61
63
|
edge.post 'AdAccount' do |api|
|
64
|
+
api.has_param :billing_address_id, 'string'
|
62
65
|
api.has_param :currency, 'string'
|
63
66
|
api.has_param :end_advertiser, 'object'
|
64
67
|
api.has_param :funding_id, 'string'
|
@@ -209,6 +212,7 @@ module FacebookAds
|
|
209
212
|
edge.get 'ProductCatalog'
|
210
213
|
edge.post 'ProductCatalog' do |api|
|
211
214
|
api.has_param :da_display_settings, 'object'
|
215
|
+
api.has_param :flight_catalog_settings, 'hash'
|
212
216
|
api.has_param :name, 'string'
|
213
217
|
api.has_param :vertical, { enum: -> { ProductCatalog::VERTICAL }}
|
214
218
|
end
|
@@ -233,7 +237,7 @@ module FacebookAds
|
|
233
237
|
has_edge :userpermissions do |edge|
|
234
238
|
edge.post do |api|
|
235
239
|
api.has_param :email, 'string'
|
236
|
-
api.has_param :role, { enum: %w{
|
240
|
+
api.has_param :role, { enum: %w{FINANCE_EDITOR FINANCE_ANALYST ADS_RIGHTS_REVIEWER ADMIN EMPLOYEE FB_EMPLOYEE_SALES_REP }}
|
237
241
|
api.has_param :user, 'int'
|
238
242
|
end
|
239
243
|
end
|
@@ -122,6 +122,8 @@ module FacebookAds
|
|
122
122
|
field :name, 'string'
|
123
123
|
field :objective, 'string'
|
124
124
|
field :recommendations, { list: 'AdRecommendation' }
|
125
|
+
field :source_campaign, 'Campaign'
|
126
|
+
field :source_campaign_id, 'string'
|
125
127
|
field :spend_cap, 'string'
|
126
128
|
field :start_time, 'datetime'
|
127
129
|
field :status, { enum: -> { STATUS }}
|
@@ -162,6 +164,15 @@ module FacebookAds
|
|
162
164
|
end
|
163
165
|
end
|
164
166
|
|
167
|
+
has_edge :copies do |edge|
|
168
|
+
edge.get 'Campaign' do |api|
|
169
|
+
api.has_param :date_preset, { enum: -> { Campaign::DATE_PRESET }}
|
170
|
+
api.has_param :effective_status, { list: { enum: -> { Campaign::EFFECTIVE_STATUS }} }
|
171
|
+
api.has_param :is_completed, 'bool'
|
172
|
+
api.has_param :time_range, 'object'
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
165
176
|
has_edge :insights do |edge|
|
166
177
|
edge.get 'AdsInsights' do |api|
|
167
178
|
api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
|
@@ -183,6 +194,7 @@ module FacebookAds
|
|
183
194
|
api.has_param :time_increment, 'string'
|
184
195
|
api.has_param :time_range, 'object'
|
185
196
|
api.has_param :time_ranges, { list: 'object' }
|
197
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
186
198
|
end
|
187
199
|
edge.post 'AdReportRun' do |api|
|
188
200
|
api.has_param :action_attribution_windows, { list: { enum: -> { AdsInsights::ACTION_ATTRIBUTION_WINDOWS }} }
|
@@ -204,6 +216,7 @@ module FacebookAds
|
|
204
216
|
api.has_param :time_increment, 'string'
|
205
217
|
api.has_param :time_range, 'object'
|
206
218
|
api.has_param :time_ranges, { list: 'object' }
|
219
|
+
api.has_param :use_account_attribution_setting, 'bool'
|
207
220
|
end
|
208
221
|
end
|
209
222
|
|
@@ -0,0 +1,40 @@
|
|
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
|
+
# FB:AUTOGEN
|
20
|
+
|
21
|
+
module FacebookAds
|
22
|
+
# This class is auto-genereated.
|
23
|
+
|
24
|
+
# For any issues or feature requests related to this class, please let us know
|
25
|
+
# on github and we'll fix in our codegen framework. We'll not be able to accept
|
26
|
+
# pull request for this class.
|
27
|
+
|
28
|
+
class CheckBatchRequestStatus < AdObject
|
29
|
+
|
30
|
+
field :errors, { list: 'object' }
|
31
|
+
field :errors_total_count, 'int'
|
32
|
+
field :handle, 'string'
|
33
|
+
field :status, 'string'
|
34
|
+
has_no_id
|
35
|
+
has_no_get
|
36
|
+
has_no_post
|
37
|
+
has_no_delete
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -28,16 +28,18 @@ module FacebookAds
|
|
28
28
|
class CustomAudience < AdObject
|
29
29
|
include CustomAudienceHelpers
|
30
30
|
CLAIM_OBJECTIVE = [
|
31
|
+
"AUTO_OFFER",
|
31
32
|
"HOME_LISTING",
|
32
33
|
"PRODUCT",
|
33
34
|
"TRAVEL",
|
34
35
|
]
|
35
36
|
|
36
37
|
CONTENT_TYPE = [
|
38
|
+
"AUTO_OFFER",
|
37
39
|
"DESTINATION",
|
38
40
|
"FLIGHT",
|
39
|
-
"HOTEL",
|
40
41
|
"HOME_LISTING",
|
42
|
+
"HOTEL",
|
41
43
|
]
|
42
44
|
|
43
45
|
SUBTYPE = [
|
@@ -54,6 +56,7 @@ module FacebookAds
|
|
54
56
|
"DATA_SET",
|
55
57
|
"BAG_OF_ACCOUNTS",
|
56
58
|
"STUDY_RULE_AUDIENCE",
|
59
|
+
"FOX",
|
57
60
|
]
|
58
61
|
|
59
62
|
FIELDS = [
|
@@ -74,6 +77,7 @@ module FacebookAds
|
|
74
77
|
"pixel_id",
|
75
78
|
"retention_days",
|
76
79
|
"rule",
|
80
|
+
"rule_aggregation",
|
77
81
|
"subtype",
|
78
82
|
"time_content_updated",
|
79
83
|
"time_created",
|
@@ -37,6 +37,7 @@ module FacebookAds
|
|
37
37
|
"MULTI_HASHES",
|
38
38
|
"TOKENS",
|
39
39
|
"EXTERNAL_IDS_MIX",
|
40
|
+
"HOUSEHOLD_EXPANSION",
|
40
41
|
"WEB_PIXEL_HITS",
|
41
42
|
"MOBILE_APP_EVENTS",
|
42
43
|
"MOBILE_APP_COMBINATION_EVENTS",
|
@@ -79,6 +80,7 @@ module FacebookAds
|
|
79
80
|
"THIRD_PARTY_IMPORTED",
|
80
81
|
"COPY_PASTE",
|
81
82
|
"CONTACT_IMPORTER",
|
83
|
+
"HOUSEHOLD_AUDIENCE",
|
82
84
|
]
|
83
85
|
|
84
86
|
|
@@ -34,9 +34,9 @@ module FacebookAds
|
|
34
34
|
"CONTENT_VIEW",
|
35
35
|
"INITIATED_CHECKOUT",
|
36
36
|
"LEAD",
|
37
|
-
"OTHER",
|
38
37
|
"PURCHASE",
|
39
38
|
"SEARCH",
|
39
|
+
"OTHER",
|
40
40
|
]
|
41
41
|
|
42
42
|
|
@@ -66,6 +66,15 @@ module FacebookAds
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
+
has_edge :shared_agencies do |edge|
|
70
|
+
edge.delete do |api|
|
71
|
+
api.has_param :business, 'string'
|
72
|
+
end
|
73
|
+
edge.post 'CustomConversion' do |api|
|
74
|
+
api.has_param :business, 'string'
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
69
78
|
has_edge :stats do |edge|
|
70
79
|
edge.get 'CustomConversionStatsResult' do |api|
|
71
80
|
api.has_param :aggregation, { enum: -> { CustomConversionStatsResult::AGGREGATION }}
|
@@ -36,6 +36,7 @@ module FacebookAds
|
|
36
36
|
|
37
37
|
field :attending_count, 'int'
|
38
38
|
field :can_guests_invite, 'bool'
|
39
|
+
field :can_viewer_post, 'bool'
|
39
40
|
field :category, 'string'
|
40
41
|
field :cover, 'object'
|
41
42
|
field :declined_count, 'int'
|
@@ -45,6 +46,7 @@ module FacebookAds
|
|
45
46
|
field :id, 'string'
|
46
47
|
field :interested_count, 'int'
|
47
48
|
field :is_canceled, 'bool'
|
49
|
+
field :is_draft, 'bool'
|
48
50
|
field :is_page_owned, 'bool'
|
49
51
|
field :is_viewer_admin, 'bool'
|
50
52
|
field :maybe_count, 'int'
|
@@ -55,6 +57,8 @@ module FacebookAds
|
|
55
57
|
field :place, 'object'
|
56
58
|
field :start_time, 'string'
|
57
59
|
field :ticket_uri, 'string'
|
60
|
+
field :ticketing_privacy_uri, 'string'
|
61
|
+
field :ticketing_terms_uri, 'string'
|
58
62
|
field :timezone, 'string'
|
59
63
|
field :type, { enum: -> { TYPE }}
|
60
64
|
field :updated_time, 'datetime'
|
@@ -27,6 +27,9 @@ module FacebookAds
|
|
27
27
|
|
28
28
|
class LeadGenQuestion < AdObject
|
29
29
|
|
30
|
+
field :conditional_questions_choices, { list: 'object' }
|
31
|
+
field :conditional_questions_group_id, 'string'
|
32
|
+
field :dependent_conditional_questions, { list: 'object' }
|
30
33
|
field :key, 'string'
|
31
34
|
field :label, 'string'
|
32
35
|
field :options, { list: 'LeadGenQuestionOption' }
|
@@ -28,6 +28,7 @@ module FacebookAds
|
|
28
28
|
class LeadgenForm < AdObject
|
29
29
|
|
30
30
|
field :allow_organic_lead, 'bool'
|
31
|
+
field :block_display_for_non_targeted_viewer, 'bool'
|
31
32
|
field :context_card, 'object'
|
32
33
|
field :continued_flow_request_method, 'string'
|
33
34
|
field :created_time, 'datetime'
|
@@ -39,17 +39,25 @@ module FacebookAds
|
|
39
39
|
field :default_image_url, 'string'
|
40
40
|
field :fallback_image_url, { list: 'string' }
|
41
41
|
field :feed_count, 'int'
|
42
|
+
field :flight_catalog_settings, 'object'
|
42
43
|
field :id, 'string'
|
43
44
|
field :image_padding_landscape, 'bool'
|
44
45
|
field :image_padding_square, 'bool'
|
45
46
|
field :name, 'string'
|
46
47
|
field :product_count, 'int'
|
48
|
+
field :qualified_product_count, 'int'
|
47
49
|
field :vertical, 'string'
|
48
50
|
|
49
51
|
has_edge :agencies do |edge|
|
50
52
|
edge.get 'Business'
|
51
53
|
end
|
52
54
|
|
55
|
+
has_edge :check_batch_request_status do |edge|
|
56
|
+
edge.get 'CheckBatchRequestStatus' do |api|
|
57
|
+
api.has_param :handle, 'string'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
53
61
|
has_edge :destinations do |edge|
|
54
62
|
edge.get do |api|
|
55
63
|
api.has_param :bulk_pagination, 'bool'
|
@@ -133,6 +141,7 @@ module FacebookAds
|
|
133
141
|
api.has_param :file_name, 'string'
|
134
142
|
api.has_param :name, 'string'
|
135
143
|
api.has_param :quoted_fields_mode, { enum: -> { ProductFeed::QUOTED_FIELDS_MODE }}
|
144
|
+
api.has_param :rules, { list: 'string' }
|
136
145
|
api.has_param :schedule, 'string'
|
137
146
|
end
|
138
147
|
end
|
@@ -220,7 +229,7 @@ module FacebookAds
|
|
220
229
|
api.has_param :start_date, 'string'
|
221
230
|
api.has_param :url, 'string'
|
222
231
|
api.has_param :visibility, { enum: -> { ProductItem::VISIBILITY }}
|
223
|
-
api.has_param :windows_phone_app_id, '
|
232
|
+
api.has_param :windows_phone_app_id, 'string'
|
224
233
|
api.has_param :windows_phone_app_name, 'string'
|
225
234
|
api.has_param :windows_phone_url, 'string'
|
226
235
|
end
|
@@ -234,8 +243,11 @@ module FacebookAds
|
|
234
243
|
api.has_param :file_size, 'int'
|
235
244
|
api.has_param :file_url, 'string'
|
236
245
|
api.has_param :fov, 'int'
|
246
|
+
api.has_param :guide, { list: { list: 'int' } }
|
247
|
+
api.has_param :guide_enabled, 'bool'
|
237
248
|
api.has_param :initial_heading, 'int'
|
238
249
|
api.has_param :initial_pitch, 'int'
|
250
|
+
api.has_param :original_fov, 'int'
|
239
251
|
api.has_param :original_projection_type, { enum: %w{equirectangular cubemap }}
|
240
252
|
api.has_param :referenced_sticker_id, 'string'
|
241
253
|
api.has_param :replace_video_id, 'string'
|
@@ -63,8 +63,10 @@ module FacebookAds
|
|
63
63
|
field :latest_upload, 'ProductFeedUpload'
|
64
64
|
field :name, 'string'
|
65
65
|
field :product_count, 'int'
|
66
|
+
field :qualified_product_count, 'int'
|
66
67
|
field :quoted_fields_mode, { enum: -> { QUOTED_FIELDS_MODE }}
|
67
68
|
field :schedule, 'ProductFeedSchedule'
|
69
|
+
field :rules, { list: 'string' }
|
68
70
|
|
69
71
|
has_edge :products do |edge|
|
70
72
|
edge.get 'ProductItem' do |api|
|
@@ -88,7 +88,7 @@ module FacebookAds
|
|
88
88
|
api.has_param :start_date, 'string'
|
89
89
|
api.has_param :url, 'string'
|
90
90
|
api.has_param :visibility, { enum: -> { ProductItem::VISIBILITY }}
|
91
|
-
api.has_param :windows_phone_app_id, '
|
91
|
+
api.has_param :windows_phone_app_id, 'string'
|
92
92
|
api.has_param :windows_phone_app_name, 'string'
|
93
93
|
api.has_param :windows_phone_url, 'string'
|
94
94
|
end
|
@@ -59,6 +59,7 @@ module FacebookAds
|
|
59
59
|
"pending",
|
60
60
|
"rejected",
|
61
61
|
"approved",
|
62
|
+
"outdated",
|
62
63
|
]
|
63
64
|
|
64
65
|
SHIPPING_WEIGHT_UNIT = [
|
@@ -135,7 +136,7 @@ module FacebookAds
|
|
135
136
|
field :iphone_app_name, 'string'
|
136
137
|
field :iphone_app_store_id, 'int'
|
137
138
|
field :iphone_url, 'string'
|
138
|
-
field :windows_phone_app_id, '
|
139
|
+
field :windows_phone_app_id, 'string'
|
139
140
|
field :windows_phone_app_name, 'string'
|
140
141
|
field :windows_phone_url, 'string'
|
141
142
|
|
@@ -69,7 +69,7 @@ module FacebookAds
|
|
69
69
|
field :status, 'int'
|
70
70
|
field :story_event_type, 'int'
|
71
71
|
field :target_audience_size, 'int'
|
72
|
-
field :target_spec, '
|
72
|
+
field :target_spec, 'Targeting'
|
73
73
|
field :time_created, 'datetime'
|
74
74
|
field :time_updated, 'datetime'
|
75
75
|
field :budget, 'int'
|
@@ -28,6 +28,7 @@ module FacebookAds
|
|
28
28
|
class ReachFrequencySpec < AdObject
|
29
29
|
|
30
30
|
field :countries, { list: 'string' }
|
31
|
+
field :default_creation_data, 'object'
|
31
32
|
field :max_campaign_duration, 'object'
|
32
33
|
field :max_days_to_finish, 'object'
|
33
34
|
field :max_pause_without_prediction_rerun, 'object'
|
@@ -49,6 +49,7 @@ module FacebookAds
|
|
49
49
|
field :cities, { list: 'IDName' }
|
50
50
|
field :college_years, { list: 'int' }
|
51
51
|
field :connections, { list: 'IDName' }
|
52
|
+
field :contextual_targeting_categories, { list: 'IDName' }
|
52
53
|
field :countries, { list: 'string' }
|
53
54
|
field :country, { list: 'string' }
|
54
55
|
field :country_groups, { list: 'string' }
|
@@ -75,7 +76,6 @@ module FacebookAds
|
|
75
76
|
field :excluded_mobile_device_model, { list: 'string' }
|
76
77
|
field :excluded_product_audience_specs, { list: 'TargetingProductAudienceSpec' }
|
77
78
|
field :excluded_publisher_categories, { list: 'string' }
|
78
|
-
field :excluded_publisher_domains, { list: 'string' }
|
79
79
|
field :excluded_publisher_list_ids, { list: 'string' }
|
80
80
|
field :excluded_user_device, { list: 'string' }
|
81
81
|
field :exclusions, 'FlexibleTargeting'
|
@@ -42,6 +42,7 @@ module FacebookAds
|
|
42
42
|
field :credential_id, 'string'
|
43
43
|
field :fatura_id, 'int'
|
44
44
|
field :id, 'string'
|
45
|
+
field :is_business_ec_charge, 'bool'
|
45
46
|
field :payment_option, 'string'
|
46
47
|
field :product_type, { enum: -> { PRODUCT_TYPE }}
|
47
48
|
field :provider_amount, 'TransactionCurrencyAmount'
|
@@ -100,6 +100,7 @@ module FacebookAds
|
|
100
100
|
|
101
101
|
has_edge :leadgen_forms do |edge|
|
102
102
|
edge.get 'LeadgenForm' do |api|
|
103
|
+
api.has_param :page_id, 'string'
|
103
104
|
api.has_param :query, 'string'
|
104
105
|
end
|
105
106
|
end
|
@@ -119,7 +120,9 @@ module FacebookAds
|
|
119
120
|
|
120
121
|
has_edge :promotable_events do |edge|
|
121
122
|
edge.get 'Event' do |api|
|
123
|
+
api.has_param :include_past_events, 'bool'
|
122
124
|
api.has_param :is_page_event, 'bool'
|
125
|
+
api.has_param :page_id, 'int'
|
123
126
|
end
|
124
127
|
end
|
125
128
|
|
data/lib/facebook_ads/version.rb
CHANGED
data/lib/facebookads.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "facebook_ads"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facebookads
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Facebook
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -164,7 +164,9 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
-
description:
|
167
|
+
description: |2
|
168
|
+
The official Facebook Ads API SDK for Ruby.
|
169
|
+
https://developers.facebook.com/docs/marketing-api/sdks'
|
168
170
|
email: ''
|
169
171
|
executables: []
|
170
172
|
extensions: []
|
@@ -176,6 +178,7 @@ files:
|
|
176
178
|
- lib/facebook_ads/ad_object.rb
|
177
179
|
- lib/facebook_ads/ad_objects/ad.rb
|
178
180
|
- lib/facebook_ads/ad_objects/ad_account.rb
|
181
|
+
- lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb
|
179
182
|
- lib/facebook_ads/ad_objects/ad_account_roas.rb
|
180
183
|
- lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb
|
181
184
|
- lib/facebook_ads/ad_objects/ad_account_user.rb
|
@@ -183,6 +186,7 @@ files:
|
|
183
186
|
- lib/facebook_ads/ad_objects/ad_async_request.rb
|
184
187
|
- lib/facebook_ads/ad_objects/ad_async_request_set.rb
|
185
188
|
- lib/facebook_ads/ad_objects/ad_async_request_set_notification_result.rb
|
189
|
+
- lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb
|
186
190
|
- lib/facebook_ads/ad_objects/ad_creative.rb
|
187
191
|
- lib/facebook_ads/ad_objects/ad_creative_link_data.rb
|
188
192
|
- lib/facebook_ads/ad_objects/ad_creative_link_data_app_link_spec.rb
|
@@ -227,6 +231,7 @@ files:
|
|
227
231
|
- lib/facebook_ads/ad_objects/business_ad_account_request.rb
|
228
232
|
- lib/facebook_ads/ad_objects/business_page_request.rb
|
229
233
|
- lib/facebook_ads/ad_objects/campaign.rb
|
234
|
+
- lib/facebook_ads/ad_objects/check_batch_request_status.rb
|
230
235
|
- lib/facebook_ads/ad_objects/conversion_action_query.rb
|
231
236
|
- lib/facebook_ads/ad_objects/custom_audience.rb
|
232
237
|
- lib/facebook_ads/ad_objects/custom_audience_ad_account.rb
|
@@ -341,6 +346,7 @@ files:
|
|
341
346
|
- lib/facebook_ads/version.rb
|
342
347
|
- lib/facebook_ads/videos/video_io.rb
|
343
348
|
- lib/facebook_ads/videos/video_request.rb
|
349
|
+
- lib/facebookads.rb
|
344
350
|
homepage: https://github.com/facebook/facebook-ruby-ads-sdk
|
345
351
|
licenses:
|
346
352
|
- Nonstandard
|
@@ -364,5 +370,5 @@ rubyforge_project:
|
|
364
370
|
rubygems_version: 2.6.11
|
365
371
|
signing_key:
|
366
372
|
specification_version: 4
|
367
|
-
summary: Facebook Ads API SDK for Ruby
|
373
|
+
summary: Facebook Ads API SDK for Ruby (Official)
|
368
374
|
test_files: []
|