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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/lib/facebook_ads.rb +1 -1
  4. data/lib/facebook_ads/ad_objects/ad.rb +4 -0
  5. data/lib/facebook_ads/ad_objects/ad_account.rb +10 -17
  6. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +63 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +6 -1
  8. data/lib/facebook_ads/ad_objects/ad_async_request.rb +1 -0
  9. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +63 -0
  10. data/lib/facebook_ads/ad_objects/ad_creative.rb +1 -0
  11. data/lib/facebook_ads/ad_objects/ad_creative_link_data.rb +2 -0
  12. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +2 -0
  14. data/lib/facebook_ads/ad_objects/ad_image.rb +2 -2
  15. data/lib/facebook_ads/ad_objects/ad_preview.rb +2 -0
  16. data/lib/facebook_ads/ad_objects/ad_report_run.rb +1 -0
  17. data/lib/facebook_ads/ad_objects/ad_set.rb +17 -2
  18. data/lib/facebook_ads/ad_objects/ad_study.rb +2 -1
  19. data/lib/facebook_ads/ad_objects/ad_study_objective.rb +1 -0
  20. data/lib/facebook_ads/ad_objects/ads_action_stats.rb +1 -0
  21. data/lib/facebook_ads/ad_objects/ads_image_crops.rb +1 -0
  22. data/lib/facebook_ads/ad_objects/ads_insights.rb +10 -18
  23. data/lib/facebook_ads/ad_objects/ads_pixel.rb +4 -1
  24. data/lib/facebook_ads/ad_objects/ads_pixel_stats.rb +1 -0
  25. data/lib/facebook_ads/ad_objects/business.rb +5 -1
  26. data/lib/facebook_ads/ad_objects/campaign.rb +13 -0
  27. data/lib/facebook_ads/ad_objects/check_batch_request_status.rb +40 -0
  28. data/lib/facebook_ads/ad_objects/custom_audience.rb +5 -1
  29. data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +2 -0
  30. data/lib/facebook_ads/ad_objects/custom_conversion.rb +10 -1
  31. data/lib/facebook_ads/ad_objects/event.rb +4 -0
  32. data/lib/facebook_ads/ad_objects/lead_gen_question.rb +3 -0
  33. data/lib/facebook_ads/ad_objects/leadgen_form.rb +1 -0
  34. data/lib/facebook_ads/ad_objects/product_catalog.rb +13 -1
  35. data/lib/facebook_ads/ad_objects/product_feed.rb +2 -0
  36. data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -0
  37. data/lib/facebook_ads/ad_objects/product_group.rb +1 -1
  38. data/lib/facebook_ads/ad_objects/product_item.rb +2 -1
  39. data/lib/facebook_ads/ad_objects/reach_estimate.rb +1 -0
  40. data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +1 -1
  41. data/lib/facebook_ads/ad_objects/reach_frequency_spec.rb +1 -0
  42. data/lib/facebook_ads/ad_objects/targeting.rb +1 -1
  43. data/lib/facebook_ads/ad_objects/transaction.rb +1 -0
  44. data/lib/facebook_ads/ad_objects/user.rb +3 -0
  45. data/lib/facebook_ads/field_types/object.rb +1 -1
  46. data/lib/facebook_ads/version.rb +2 -2
  47. data/lib/facebookads.rb +1 -0
  48. metadata +10 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b5aa03ab8b6c47b81656efca672e6341fc9d76c4
4
- data.tar.gz: be8de8a6fea10fda4584841141eb8aeb5398a439
3
+ metadata.gz: cbc110a24bb4669a6d4197887009fc6d9146943e
4
+ data.tar.gz: dad0fbba3c02b1735bd9cbb10fc4943041036793
5
5
  SHA512:
6
- metadata.gz: 4b607cad195d7498d0e72f06a3aeafc6b6abdda6eebf11d9d42d0b33db7a00f9f0ad6a6629859e1f920ba59e7061f4bebcc9d4dd1e88ddaef3b84338d6466cfa
7
- data.tar.gz: 3bfd0ee8fa82d92f00cfed0cf28e3e764aff8d311e446f25ac42ca0c30e0bfdddd3773f472ddbe973ebd0920f186bddd38500a61e8e0d79c58938e30d8ec4bde
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
- print "Ad Account Name: #{ad_account.name}"
72
+ puts "Ad Account Name: #{ad_account.name}"
73
73
  ```
74
74
 
75
- The `#get` method doesn't trigger the `GET` request immeidately. The API request for `GET` is fired on-demand. In the example above, API request won't fire until `ad_account.name` is executed.
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
- print campaign.name
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 Github.
222
+ Please raise any issue on GitHub.
@@ -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 Ab Objects Helpers
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, 'string'
176
+ api.has_param :bytes, 'object'
175
177
  api.has_param :copy_from, 'object'
176
- api.has_param :zipbytes, 'string'
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 'DeliveryEstimate' do |api|
424
- api.has_param :optimization_goal, 'adaccountdelivery_estimate_optimization_goal_enum_param'
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
 
@@ -58,6 +58,7 @@ module FacebookAds
58
58
  field :result, 'hash'
59
59
  field :scope_object_id, 'string'
60
60
  field :status, { enum: -> { STATUS }}
61
+ field :type, 'string'
61
62
  field :updated_time, 'datetime'
62
63
  has_no_post
63
64
  has_no_delete
@@ -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
@@ -66,6 +66,7 @@ module FacebookAds
66
66
  "REGISTER_NOW",
67
67
  "REQUEST_TIME",
68
68
  "SEE_MENU",
69
+ "EMAIL_NOW",
69
70
  "OPEN_MOVIES",
70
71
  ]
71
72
 
@@ -53,6 +53,8 @@ module FacebookAds
53
53
  field :offer_id, 'string'
54
54
  field :page_welcome_message, 'string'
55
55
  field :picture, 'string'
56
+ field :retailer_item_ids, { list: 'string' }
57
+ field :show_multiple_images, 'bool'
56
58
  has_no_id
57
59
  has_no_get
58
60
  has_no_post
@@ -60,6 +60,7 @@ module FacebookAds
60
60
  "REGISTER_NOW",
61
61
  "REQUEST_TIME",
62
62
  "SEE_MENU",
63
+ "EMAIL_NOW",
63
64
  "OPEN_MOVIES",
64
65
  ]
65
66
 
@@ -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, 'string'
51
+ field :bytes, 'object'
52
52
  field :copy_from, 'object'
53
- field :zipbytes, 'string'
53
+ field :zipbytes, 'object'
54
54
  has_no_post
55
55
  has_no_delete
56
56
 
@@ -41,6 +41,8 @@ module FacebookAds
41
41
  "INSTANT_ARTICLE_STANDARD",
42
42
  "INSTREAM_VIDEO_DESKTOP",
43
43
  "INSTREAM_VIDEO_MOBILE",
44
+ "SUGGESTED_VIDEO_DESKTOP",
45
+ "SUGGESTED_VIDEO_MOBILE",
44
46
  ]
45
47
 
46
48
 
@@ -59,6 +59,7 @@ module FacebookAds
59
59
  field :time_increment, 'string'
60
60
  field :time_range, 'object'
61
61
  field :time_ranges, { list: 'object' }
62
+ field :use_account_attribution_setting, 'bool'
62
63
  has_no_post
63
64
  has_no_delete
64
65
 
@@ -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 'DeliveryEstimate' do |api|
211
- api.has_param :optimization_goal, 'adcampaigndelivery_estimate_optimization_goal_enum_param'
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 :offlinefeeds, { list: 'object' }
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
@@ -49,6 +49,7 @@ module FacebookAds
49
49
  field :custom_attributes, { list: 'string' }
50
50
  field :id, 'string'
51
51
  field :is_primary, 'bool'
52
+ field :last_updated_results, 'string'
52
53
  field :name, 'string'
53
54
  field :results, { list: 'string' }
54
55
  field :type, 'string'
@@ -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'
@@ -33,6 +33,7 @@ module FacebookAds
33
33
  field :_400x150, { list: { list: 'string' } }
34
34
  field :_400x500, { list: { list: 'string' } }
35
35
  field :_600x360, { list: { list: 'string' } }
36
+ field :_90x160, { list: { list: 'string' } }
36
37
  has_no_id
37
38
  has_no_get
38
39
  has_no_post
@@ -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 :country, 'string'
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 :place_page_id, 'string'
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|
@@ -29,6 +29,7 @@ module FacebookAds
29
29
 
30
30
  field :count, 'int'
31
31
  field :diagnostics_hourly_last_timestamp, 'datetime'
32
+ field :event, 'string'
32
33
  field :value, 'string'
33
34
  has_no_id
34
35
  has_no_get
@@ -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{ADMIN EMPLOYEE SYSTEM_USER ADMIN_SYSTEM_USER INSTAGRAM_ADMIN INSTAGRAM_EMPLOYEE FB_EMPLOYEE_ACCOUNT_MANAGER FB_EMPLOYEE_SALES_REP }}
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, 'int'
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|
@@ -48,6 +48,7 @@ module FacebookAds
48
48
  field :day_of_week, { enum: -> { DAY_OF_WEEK }}
49
49
  field :hour, 'int'
50
50
  field :interval, { enum: -> { INTERVAL }}
51
+ field :interval_count, 'int'
51
52
  field :minute, 'int'
52
53
  field :timezone, 'string'
53
54
  field :url, 'string'
@@ -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, 'int'
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, 'int'
139
+ field :windows_phone_app_id, 'string'
139
140
  field :windows_phone_app_name, 'string'
140
141
  field :windows_phone_url, 'string'
141
142
 
@@ -45,6 +45,7 @@ module FacebookAds
45
45
  "SOCIAL_IMPRESSIONS",
46
46
  "VIDEO_VIEWS",
47
47
  "APP_DOWNLOADS",
48
+ "LANDING_PAGE_VIEWS",
48
49
  ]
49
50
 
50
51
 
@@ -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, 'string'
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
 
@@ -22,7 +22,7 @@ module FacebookAds
22
22
  register 'hash', 'map', 'object'
23
23
 
24
24
  def deserialize(value, session = nil)
25
- value.is_a?(String) ? JSON.parse(value) : value
25
+ JSON.parse(value)
26
26
  end
27
27
 
28
28
  def serialize(value)
@@ -19,6 +19,6 @@
19
19
  # FB:AUTOGEN
20
20
 
21
21
  module FacebookAds
22
- VERSION = '0.2.9'
23
- API_VERSION = '2.9'
22
+ VERSION = '0.2.10.0'
23
+ API_VERSION = '2.10'
24
24
  end
@@ -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.9
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-04-25 00:00:00.000000000 Z
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: Facebook Ads API SDK for Ruby
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: []