facebookbusiness 0.5.0.2 → 0.5.0.3
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.rb +7 -1
- data/lib/facebook_ads/ad_objects/ad_account.rb +0 -6
- data/lib/facebook_ads/ad_objects/ad_creative.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_image_overlay_spec.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_preview.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +19 -19
- data/lib/facebook_ads/ad_objects/ad_study.rb +0 -4
- data/lib/facebook_ads/ad_objects/ads_insights.rb +0 -1
- data/lib/facebook_ads/ad_objects/album.rb +1 -0
- data/lib/facebook_ads/ad_objects/business.rb +3 -7
- data/lib/facebook_ads/ad_objects/business_image.rb +1 -1
- data/lib/facebook_ads/ad_objects/business_unit.rb +10 -1
- data/lib/facebook_ads/ad_objects/event.rb +17 -6
- data/lib/facebook_ads/ad_objects/group.rb +4 -3
- data/lib/facebook_ads/ad_objects/live_video.rb +1 -0
- data/lib/facebook_ads/ad_objects/null_node.rb +36 -0
- data/lib/facebook_ads/ad_objects/page.rb +13 -6
- data/lib/facebook_ads/ad_objects/product_catalog.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_feed.rb +8 -0
- data/lib/facebook_ads/ad_objects/product_feed_schedule.rb +1 -3
- data/lib/facebook_ads/ad_objects/reach_frequency_prediction.rb +0 -1
- data/lib/facebook_ads/ad_objects/server_side/content.rb +128 -0
- data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +313 -0
- data/lib/facebook_ads/ad_objects/server_side/event.rb +236 -0
- data/lib/facebook_ads/ad_objects/server_side/event_request.rb +158 -0
- data/lib/facebook_ads/ad_objects/server_side/event_response.rb +106 -0
- data/lib/facebook_ads/ad_objects/server_side/user_data.rb +396 -0
- data/lib/facebook_ads/ad_objects/server_side/util.rb +225 -0
- data/lib/facebook_ads/ad_objects/user.rb +14 -0
- data/lib/facebook_ads/api_response.rb +4 -0
- data/lib/facebook_ads/errors.rb +6 -1
- data/lib/facebook_ads/version.rb +1 -1
- metadata +10 -3
- data/lib/facebook_ads/ad_objects/business_project.rb +0 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dac6e5e4ba5f7823fd8d6eacb17ab3f2b0d92e15de77b542f0e0cf3f78bd7362
|
4
|
+
data.tar.gz: 6a052371c32cdfef6b8ef3296d327bd0b9bdb37297accd2a1ede56a636cfe0de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e77d3a21bbe898b7541aa7d4eacf134f9277ee131c893d0ff0019ea83e263eb798ac8a5385a6fc98345a5e6d9c3460408fae6f5ba44372717586e6aa5caa23d
|
7
|
+
data.tar.gz: 50b100a7675b68318713c860e480977672970e28ad939233bf0ced2dd5d579688da79e72df0486e0dc1d7eeb5464e0c61c33fe0497d8e783e52689af4ceeaa4a
|
data/lib/facebook_ads.rb
CHANGED
@@ -60,12 +60,18 @@ module FacebookAds
|
|
60
60
|
require 'facebook_ads/batch_api/batch'
|
61
61
|
require 'facebook_ads/batch_api/batch_proxy'
|
62
62
|
|
63
|
-
# Autoload
|
63
|
+
# Autoload Ad Objects Helpers
|
64
64
|
Dir.glob(File.expand_path(File.join(__FILE__, '..', 'facebook_ads', 'ad_objects', 'helpers', '*.rb'))).each do |file|
|
65
65
|
class_name = File.basename(file, '.rb').split('_').map(&:capitalize).join.to_sym
|
66
66
|
autoload class_name, file
|
67
67
|
end
|
68
68
|
|
69
|
+
# Autoload Server-Side API
|
70
|
+
Dir.glob(File.expand_path(File.join(__FILE__, '..', 'facebook_ads', 'ad_objects', 'server_side', '*.rb'))).each do |file|
|
71
|
+
class_name = File.basename(file, '.rb').split('_').map(&:capitalize).join.to_sym
|
72
|
+
autoload class_name, file
|
73
|
+
end
|
74
|
+
|
69
75
|
# Autoload AdObjects
|
70
76
|
Dir.glob(File.expand_path(File.join(__FILE__, '..', 'facebook_ads', 'ad_objects', '*.rb'))).each do |file|
|
71
77
|
class_name = File.basename(file, '.rb').split('_').map(&:capitalize).join.to_sym
|
@@ -717,12 +717,6 @@ module FacebookAds
|
|
717
717
|
end
|
718
718
|
end
|
719
719
|
|
720
|
-
has_edge :businessprojects do |edge|
|
721
|
-
edge.get 'BusinessProject' do |api|
|
722
|
-
api.has_param :business, 'string'
|
723
|
-
end
|
724
|
-
end
|
725
|
-
|
726
720
|
has_edge :campaigns do |edge|
|
727
721
|
edge.delete do |api|
|
728
722
|
api.has_param :before_date, 'datetime'
|
@@ -98,25 +98,25 @@ module FacebookAds
|
|
98
98
|
]
|
99
99
|
|
100
100
|
DATE_PRESET = [
|
101
|
-
"
|
102
|
-
"
|
103
|
-
"
|
104
|
-
"
|
105
|
-
"
|
106
|
-
"
|
107
|
-
"
|
108
|
-
"
|
109
|
-
"
|
110
|
-
"
|
111
|
-
"
|
112
|
-
"
|
113
|
-
"
|
114
|
-
"
|
115
|
-
"
|
116
|
-
"
|
117
|
-
"
|
118
|
-
"
|
119
|
-
"
|
101
|
+
"last_14d",
|
102
|
+
"last_28d",
|
103
|
+
"last_30d",
|
104
|
+
"last_3d",
|
105
|
+
"last_7d",
|
106
|
+
"last_90d",
|
107
|
+
"last_month",
|
108
|
+
"last_quarter",
|
109
|
+
"last_week_mon_sun",
|
110
|
+
"last_week_sun_sat",
|
111
|
+
"last_year",
|
112
|
+
"lifetime",
|
113
|
+
"this_month",
|
114
|
+
"this_quarter",
|
115
|
+
"this_week_mon_today",
|
116
|
+
"this_week_sun_today",
|
117
|
+
"this_year",
|
118
|
+
"today",
|
119
|
+
"yesterday",
|
120
120
|
]
|
121
121
|
|
122
122
|
DESTINATION_TYPE = [
|
@@ -295,7 +295,6 @@ module FacebookAds
|
|
295
295
|
field :quality_ranking, 'string'
|
296
296
|
field :quality_score_ectr, 'string'
|
297
297
|
field :quality_score_ecvr, 'string'
|
298
|
-
field :quality_score_enfbr, 'string'
|
299
298
|
field :quality_score_organic, 'string'
|
300
299
|
field :reach, 'string'
|
301
300
|
field :recurring_subscription_payment_actions, { list: 'AdsActionStats' }
|
@@ -111,6 +111,7 @@ module FacebookAds
|
|
111
111
|
api.has_param :ios_bundle_id, 'string'
|
112
112
|
api.has_param :is_explicit_location, 'bool'
|
113
113
|
api.has_param :is_explicit_place, 'bool'
|
114
|
+
api.has_param :is_visual_search, 'bool'
|
114
115
|
api.has_param :manual_privacy, 'bool'
|
115
116
|
api.has_param :message, 'string'
|
116
117
|
api.has_param :name, 'string'
|
@@ -239,6 +239,9 @@ module FacebookAds
|
|
239
239
|
|
240
240
|
has_edge :business_units do |edge|
|
241
241
|
edge.get 'BusinessUnit'
|
242
|
+
edge.post 'BusinessUnit' do |api|
|
243
|
+
api.has_param :business_units, { list: 'object' }
|
244
|
+
end
|
242
245
|
end
|
243
246
|
|
244
247
|
has_edge :business_users do |edge|
|
@@ -249,13 +252,6 @@ module FacebookAds
|
|
249
252
|
end
|
250
253
|
end
|
251
254
|
|
252
|
-
has_edge :businessprojects do |edge|
|
253
|
-
edge.get 'BusinessProject'
|
254
|
-
edge.post 'BusinessProject' do |api|
|
255
|
-
api.has_param :name, 'string'
|
256
|
-
end
|
257
|
-
end
|
258
|
-
|
259
255
|
has_edge :claim_custom_conversions do |edge|
|
260
256
|
edge.post 'CustomConversion' do |api|
|
261
257
|
api.has_param :custom_conversion_id, 'string'
|
@@ -70,7 +70,7 @@ module FacebookAds
|
|
70
70
|
|
71
71
|
has_edge :insights do |edge|
|
72
72
|
edge.get do |api|
|
73
|
-
api.has_param :breakdowns, { list: { enum: %w{age country device_platform gender platform_position publisher_platform }} }
|
73
|
+
api.has_param :breakdowns, { list: { enum: %w{ad_id age country device_platform gender platform_position publisher_platform }} }
|
74
74
|
api.has_param :time_range, 'object'
|
75
75
|
end
|
76
76
|
end
|
@@ -36,9 +36,14 @@ module FacebookAds
|
|
36
36
|
field :name, 'string'
|
37
37
|
field :time_zone, 'string'
|
38
38
|
field :visits_available_date, 'int'
|
39
|
+
field :business_units, { list: 'object' }
|
39
40
|
has_no_post
|
40
41
|
has_no_delete
|
41
42
|
|
43
|
+
has_edge :ad_accounts do |edge|
|
44
|
+
edge.get 'AdAccount'
|
45
|
+
end
|
46
|
+
|
42
47
|
has_edge :ad_platforms do |edge|
|
43
48
|
edge.get do |api|
|
44
49
|
api.has_param :filter_by, 'string'
|
@@ -104,7 +109,7 @@ module FacebookAds
|
|
104
109
|
end
|
105
110
|
end
|
106
111
|
|
107
|
-
has_edge :
|
112
|
+
has_edge :reports do |edge|
|
108
113
|
edge.get do |api|
|
109
114
|
api.has_param :filter_by, 'string'
|
110
115
|
api.has_param :metric_scope, 'hash'
|
@@ -120,5 +125,9 @@ module FacebookAds
|
|
120
125
|
end
|
121
126
|
end
|
122
127
|
|
128
|
+
has_edge :users do |edge|
|
129
|
+
edge.get 'BusinessUser'
|
130
|
+
end
|
131
|
+
|
123
132
|
end
|
124
133
|
end
|
@@ -117,7 +117,12 @@ module FacebookAds
|
|
117
117
|
edge.get 'Profile'
|
118
118
|
end
|
119
119
|
|
120
|
+
has_edge :comments do |edge|
|
121
|
+
edge.get 'NullNode'
|
122
|
+
end
|
123
|
+
|
120
124
|
has_edge :feed do |edge|
|
125
|
+
edge.get 'NullNode'
|
121
126
|
edge.post do |api|
|
122
127
|
api.has_param :actions, 'object'
|
123
128
|
api.has_param :adaptive_type, 'string'
|
@@ -235,6 +240,7 @@ module FacebookAds
|
|
235
240
|
end
|
236
241
|
|
237
242
|
has_edge :live_videos do |edge|
|
243
|
+
edge.get 'NullNode'
|
238
244
|
edge.post 'LiveVideo' do |api|
|
239
245
|
api.has_param :content_tags, { list: 'string' }
|
240
246
|
api.has_param :description, 'string'
|
@@ -261,6 +267,7 @@ module FacebookAds
|
|
261
267
|
end
|
262
268
|
|
263
269
|
has_edge :photos do |edge|
|
270
|
+
edge.get 'NullNode'
|
264
271
|
edge.post 'Photo' do |api|
|
265
272
|
api.has_param :aid, 'string'
|
266
273
|
api.has_param :allow_spherical_photo, 'bool'
|
@@ -283,6 +290,7 @@ module FacebookAds
|
|
283
290
|
api.has_param :ios_bundle_id, 'string'
|
284
291
|
api.has_param :is_explicit_location, 'bool'
|
285
292
|
api.has_param :is_explicit_place, 'bool'
|
293
|
+
api.has_param :is_visual_search, 'bool'
|
286
294
|
api.has_param :manual_privacy, 'bool'
|
287
295
|
api.has_param :message, 'string'
|
288
296
|
api.has_param :name, 'string'
|
@@ -317,17 +325,20 @@ module FacebookAds
|
|
317
325
|
end
|
318
326
|
|
319
327
|
has_edge :picture do |edge|
|
320
|
-
edge.get '
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
end
|
328
|
+
edge.get 'NullNode'
|
329
|
+
end
|
330
|
+
|
331
|
+
has_edge :posts do |edge|
|
332
|
+
edge.get 'NullNode'
|
326
333
|
end
|
327
334
|
|
328
335
|
has_edge :roles do |edge|
|
329
336
|
edge.get 'Profile'
|
330
337
|
end
|
331
338
|
|
339
|
+
has_edge :videos do |edge|
|
340
|
+
edge.get 'NullNode'
|
341
|
+
end
|
342
|
+
|
332
343
|
end
|
333
344
|
end
|
@@ -33,9 +33,9 @@ module FacebookAds
|
|
33
33
|
]
|
34
34
|
|
35
35
|
POST_PERMISSIONS = [
|
36
|
-
"
|
37
|
-
"
|
38
|
-
"
|
36
|
+
"0",
|
37
|
+
"1",
|
38
|
+
"2",
|
39
39
|
]
|
40
40
|
|
41
41
|
PURPOSE = [
|
@@ -460,6 +460,7 @@ module FacebookAds
|
|
460
460
|
api.has_param :ios_bundle_id, 'string'
|
461
461
|
api.has_param :is_explicit_location, 'bool'
|
462
462
|
api.has_param :is_explicit_place, 'bool'
|
463
|
+
api.has_param :is_visual_search, 'bool'
|
463
464
|
api.has_param :manual_privacy, 'bool'
|
464
465
|
api.has_param :message, 'string'
|
465
466
|
api.has_param :name, 'string'
|
@@ -98,6 +98,7 @@ module FacebookAds
|
|
98
98
|
field :is_reference_only, 'bool'
|
99
99
|
field :live_encoders, { list: 'LiveEncoder' }
|
100
100
|
field :live_views, 'int'
|
101
|
+
field :overlay_url, 'string'
|
101
102
|
field :permalink_url, 'string'
|
102
103
|
field :planned_start_time, 'datetime'
|
103
104
|
field :seconds_left, 'int'
|
@@ -0,0 +1,36 @@
|
|
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-generated.
|
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 NullNode < AdObject
|
29
|
+
|
30
|
+
has_no_id
|
31
|
+
has_no_get
|
32
|
+
has_no_post
|
33
|
+
has_no_delete
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
@@ -210,6 +210,7 @@ module FacebookAds
|
|
210
210
|
"leadgen_fat",
|
211
211
|
"live_videos",
|
212
212
|
"location",
|
213
|
+
"mcom_invoice_change",
|
213
214
|
"members",
|
214
215
|
"mention",
|
215
216
|
"merchant_review",
|
@@ -491,12 +492,6 @@ module FacebookAds
|
|
491
492
|
end
|
492
493
|
end
|
493
494
|
|
494
|
-
has_edge :businessprojects do |edge|
|
495
|
-
edge.get 'BusinessProject' do |api|
|
496
|
-
api.has_param :business, 'string'
|
497
|
-
end
|
498
|
-
end
|
499
|
-
|
500
495
|
has_edge :call_to_actions do |edge|
|
501
496
|
edge.get 'PageCallToAction'
|
502
497
|
edge.post 'PageCallToAction' do |api|
|
@@ -593,6 +588,17 @@ module FacebookAds
|
|
593
588
|
end
|
594
589
|
end
|
595
590
|
|
591
|
+
has_edge :custom_user_settings do |edge|
|
592
|
+
edge.delete do |api|
|
593
|
+
api.has_param :params, { list: { enum: %w{PERSISTENT_MENU }} }
|
594
|
+
api.has_param :psid, 'string'
|
595
|
+
end
|
596
|
+
edge.post 'Page' do |api|
|
597
|
+
api.has_param :persistent_menu, { list: 'object' }
|
598
|
+
api.has_param :psid, 'string'
|
599
|
+
end
|
600
|
+
end
|
601
|
+
|
596
602
|
has_edge :events do |edge|
|
597
603
|
edge.get 'Event' do |api|
|
598
604
|
api.has_param :event_state_filter, { list: { enum: -> { Event::EVENT_STATE_FILTER }} }
|
@@ -1056,6 +1062,7 @@ module FacebookAds
|
|
1056
1062
|
api.has_param :ios_bundle_id, 'string'
|
1057
1063
|
api.has_param :is_explicit_location, 'bool'
|
1058
1064
|
api.has_param :is_explicit_place, 'bool'
|
1065
|
+
api.has_param :is_visual_search, 'bool'
|
1059
1066
|
api.has_param :location_source_id, 'string'
|
1060
1067
|
api.has_param :manual_privacy, 'bool'
|
1061
1068
|
api.has_param :message, 'string'
|
@@ -144,9 +144,17 @@ module FacebookAds
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
+
has_edge :upload_schedules do |edge|
|
148
|
+
edge.get 'ProductFeedSchedule'
|
149
|
+
edge.post 'ProductFeed' do |api|
|
150
|
+
api.has_param :upload_schedule, 'string'
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
147
154
|
has_edge :uploads do |edge|
|
148
155
|
edge.get 'ProductFeedUpload'
|
149
156
|
edge.post 'ProductFeedUpload' do |api|
|
157
|
+
api.has_param :fbe_external_business_id, 'string'
|
150
158
|
api.has_param :file, 'file'
|
151
159
|
api.has_param :password, 'string'
|
152
160
|
api.has_param :update_only, 'bool'
|
@@ -47,15 +47,13 @@ module FacebookAds
|
|
47
47
|
field :day_of_month, 'int'
|
48
48
|
field :day_of_week, { enum: -> { DAY_OF_WEEK }}
|
49
49
|
field :hour, 'int'
|
50
|
+
field :id, 'string'
|
50
51
|
field :interval, { enum: -> { INTERVAL }}
|
51
52
|
field :interval_count, 'int'
|
52
53
|
field :minute, 'int'
|
53
54
|
field :timezone, 'string'
|
54
55
|
field :url, 'string'
|
55
56
|
field :username, 'string'
|
56
|
-
field :id, 'string'
|
57
|
-
has_no_post
|
58
|
-
has_no_delete
|
59
57
|
|
60
58
|
end
|
61
59
|
end
|
@@ -90,7 +90,6 @@ module FacebookAds
|
|
90
90
|
field :external_minimum_impression, 'int'
|
91
91
|
field :external_minimum_reach, 'int'
|
92
92
|
field :external_reach, 'int'
|
93
|
-
field :external_values_breakdown, 'string'
|
94
93
|
field :feed_ratio_0000, 'int'
|
95
94
|
field :frequency_cap, 'int'
|
96
95
|
field :frequency_distribution, { list: 'double' }
|