facebookbusiness 0.5.0.2 → 0.5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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' }
|