facebookbusiness 0.10.0.0 → 0.10.0.1
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/ad_objects/ad_account.rb +2 -15
- data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_creative.rb +7 -7
- data/lib/facebook_ads/ad_objects/ad_creative_portrait_customizations.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_rule_execution_spec.rb +1 -2
- data/lib/facebook_ads/ad_objects/ad_study.rb +8 -0
- data/lib/facebook_ads/ad_objects/ad_study_objective.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_video.rb +15 -5
- data/lib/facebook_ads/ad_objects/adgroup_activity.rb +0 -2
- data/lib/facebook_ads/ad_objects/adoptable_pet.rb +18 -0
- data/lib/facebook_ads/ad_objects/ads_insights.rb +1 -0
- data/lib/facebook_ads/ad_objects/ads_pixel.rb +1 -0
- data/lib/facebook_ads/ad_objects/application.rb +21 -0
- data/lib/facebook_ads/ad_objects/atlas_campaign.rb +0 -8
- data/lib/facebook_ads/ad_objects/automotive_model.rb +18 -0
- data/lib/facebook_ads/ad_objects/business.rb +16 -3
- data/lib/facebook_ads/ad_objects/business_asset_group.rb +1 -0
- data/lib/facebook_ads/ad_objects/catalog_sub_vertical_list.rb +0 -1
- data/lib/facebook_ads/ad_objects/comment.rb +2 -1
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +1 -0
- data/lib/facebook_ads/ad_objects/content_delivery_report.rb +4 -0
- data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
- data/lib/facebook_ads/ad_objects/custom_audience.rb +0 -2
- data/lib/facebook_ads/ad_objects/custom_audience_data_source.rb +1 -0
- data/lib/facebook_ads/ad_objects/delivery_window.rb +287 -0
- data/lib/facebook_ads/ad_objects/destination.rb +18 -0
- data/lib/facebook_ads/ad_objects/flight.rb +18 -0
- data/lib/facebook_ads/ad_objects/group.rb +17 -0
- data/lib/facebook_ads/ad_objects/home_listing.rb +18 -0
- data/lib/facebook_ads/ad_objects/hotel.rb +18 -0
- data/lib/facebook_ads/ad_objects/ig_media.rb +2 -0
- data/lib/facebook_ads/ad_objects/{invoice_campaign.rb → invoice_campaign_new.rb} +1 -1
- data/lib/facebook_ads/ad_objects/live_video.rb +8 -1
- data/lib/facebook_ads/ad_objects/omega_customer_trx.rb +64 -0
- data/lib/facebook_ads/ad_objects/oracle_transaction.rb +1 -6
- data/lib/facebook_ads/ad_objects/page.rb +18 -6
- data/lib/facebook_ads/ad_objects/private_lift_study_instance.rb +46 -0
- data/lib/facebook_ads/ad_objects/product_catalog.rb +15 -0
- data/lib/facebook_ads/ad_objects/product_feed.rb +16 -0
- data/lib/facebook_ads/ad_objects/product_item.rb +10 -0
- data/lib/facebook_ads/ad_objects/product_item_ar_data.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_set.rb +7 -0
- data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
- data/lib/facebook_ads/ad_objects/server_side/user_data.rb +290 -96
- data/lib/facebook_ads/ad_objects/server_side/util.rb +15 -0
- data/lib/facebook_ads/ad_objects/vehicle.rb +18 -0
- data/lib/facebook_ads/ad_objects/vehicle_offer.rb +18 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +1 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_profile.rb +1 -0
- data/lib/facebook_ads/version.rb +1 -1
- metadata +6 -3
@@ -139,6 +139,10 @@ module FacebookAds
|
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
|
+
has_edge :auto_markets do |edge|
|
143
|
+
edge.get
|
144
|
+
end
|
145
|
+
|
142
146
|
has_edge :automotive_models do |edge|
|
143
147
|
edge.get 'AutomotiveModel' do |api|
|
144
148
|
api.has_param :bulk_pagination, 'bool'
|
@@ -159,6 +163,10 @@ module FacebookAds
|
|
159
163
|
end
|
160
164
|
end
|
161
165
|
|
166
|
+
has_edge :autos do |edge|
|
167
|
+
edge.get
|
168
|
+
end
|
169
|
+
|
162
170
|
has_edge :batch do |edge|
|
163
171
|
edge.post 'ProductCatalog' do |api|
|
164
172
|
api.has_param :allow_upsert, 'bool'
|
@@ -287,6 +295,13 @@ module FacebookAds
|
|
287
295
|
end
|
288
296
|
end
|
289
297
|
|
298
|
+
has_edge :media_titles do |edge|
|
299
|
+
edge.get do |api|
|
300
|
+
api.has_param :bulk_pagination, 'bool'
|
301
|
+
api.has_param :filter, 'object'
|
302
|
+
end
|
303
|
+
end
|
304
|
+
|
290
305
|
has_edge :pricing_variables_batch do |edge|
|
291
306
|
edge.get 'ProductCatalogPricingVariablesBatch' do |api|
|
292
307
|
api.has_param :handle, 'string'
|
@@ -53,6 +53,7 @@ module FacebookAds
|
|
53
53
|
|
54
54
|
FEED_TYPE = [
|
55
55
|
"AUTO",
|
56
|
+
"AUTOMOTIVE_MODEL",
|
56
57
|
"DESTINATION",
|
57
58
|
"FLIGHT",
|
58
59
|
"HOME_LISTING",
|
@@ -128,6 +129,10 @@ module FacebookAds
|
|
128
129
|
field :rules, { list: 'string' }
|
129
130
|
field :selected_override_fields, { list: 'string' }
|
130
131
|
|
132
|
+
has_edge :auto_markets do |edge|
|
133
|
+
edge.get
|
134
|
+
end
|
135
|
+
|
131
136
|
has_edge :automotive_models do |edge|
|
132
137
|
edge.get 'AutomotiveModel' do |api|
|
133
138
|
api.has_param :bulk_pagination, 'bool'
|
@@ -135,6 +140,10 @@ module FacebookAds
|
|
135
140
|
end
|
136
141
|
end
|
137
142
|
|
143
|
+
has_edge :autos do |edge|
|
144
|
+
edge.get
|
145
|
+
end
|
146
|
+
|
138
147
|
has_edge :destinations do |edge|
|
139
148
|
edge.get 'Destination' do |api|
|
140
149
|
api.has_param :bulk_pagination, 'bool'
|
@@ -163,6 +172,13 @@ module FacebookAds
|
|
163
172
|
end
|
164
173
|
end
|
165
174
|
|
175
|
+
has_edge :media_titles do |edge|
|
176
|
+
edge.get do |api|
|
177
|
+
api.has_param :bulk_pagination, 'bool'
|
178
|
+
api.has_param :filter, 'object'
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
166
182
|
has_edge :products do |edge|
|
167
183
|
edge.get 'ProductItem' do |api|
|
168
184
|
api.has_param :bulk_pagination, 'bool'
|
@@ -62,6 +62,15 @@ module FacebookAds
|
|
62
62
|
"unisex",
|
63
63
|
]
|
64
64
|
|
65
|
+
IMAGE_FETCH_STATUS = [
|
66
|
+
"DIRECT_UPLOAD",
|
67
|
+
"FETCHED",
|
68
|
+
"FETCH_FAILED",
|
69
|
+
"NO_STATUS",
|
70
|
+
"OUTDATED",
|
71
|
+
"PARTIAL_FETCH",
|
72
|
+
]
|
73
|
+
|
65
74
|
REVIEW_STATUS = [
|
66
75
|
"",
|
67
76
|
"approved",
|
@@ -317,6 +326,7 @@ module FacebookAds
|
|
317
326
|
field :gtin, 'string'
|
318
327
|
field :id, 'string'
|
319
328
|
field :image_cdn_urls, 'hash'
|
329
|
+
field :image_fetch_status, { enum: -> { IMAGE_FETCH_STATUS }}
|
320
330
|
field :image_url, 'string'
|
321
331
|
field :images, { list: 'string' }
|
322
332
|
field :inventory, 'int'
|
@@ -73,6 +73,13 @@ module FacebookAds
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
+
has_edge :media_titles do |edge|
|
77
|
+
edge.get do |api|
|
78
|
+
api.has_param :bulk_pagination, 'bool'
|
79
|
+
api.has_param :filter, 'object'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
76
83
|
has_edge :products do |edge|
|
77
84
|
edge.get 'ProductItem' do |api|
|
78
85
|
api.has_param :bulk_pagination, 'bool'
|
@@ -22,53 +22,157 @@ module FacebookAds
|
|
22
22
|
# UserData is a set of identifiers Facebook can use for targeted attribution
|
23
23
|
class UserData
|
24
24
|
|
25
|
+
# A list of email addresses, in lowercase.
|
26
|
+
# Example: ['joe@eg.com']
|
27
|
+
attr_accessor :emails
|
28
|
+
|
25
29
|
# An email address, in lowercase.
|
26
30
|
# Example: joe@eg.com
|
27
|
-
|
31
|
+
def email
|
32
|
+
@emails ? @emails[0] : nil
|
33
|
+
end
|
34
|
+
def email=(email)
|
35
|
+
@emails = [email]
|
36
|
+
end
|
37
|
+
|
38
|
+
# A list of phone numbers. Include only digits with country code, area code, and number.
|
39
|
+
# Example: ['16505551212']
|
40
|
+
attr_accessor :phones
|
28
41
|
|
29
42
|
# A phone number. Include only digits with country code, area code, and number.
|
30
43
|
# Example: 16505551212
|
31
|
-
|
44
|
+
def phone
|
45
|
+
@phones ? @phones[0] : nil
|
46
|
+
end
|
47
|
+
def phone=(phone)
|
48
|
+
@phones = [phone]
|
49
|
+
end
|
50
|
+
|
51
|
+
# A list of genders, in lowercase.
|
52
|
+
# Example: ['f']
|
53
|
+
attr_accessor :genders
|
32
54
|
|
33
55
|
# Gender, in lowercase. Either f or m.
|
34
|
-
|
56
|
+
def gender
|
57
|
+
@genders ? @genders[0] : nil
|
58
|
+
end
|
59
|
+
def gender=(gender)
|
60
|
+
@genders = [gender]
|
61
|
+
end
|
62
|
+
|
63
|
+
# A list of dates of birth given as year, month, and day.
|
64
|
+
# Format should be 'YYYYMMDD'
|
65
|
+
# Example: ['19971226'] for December 26, 1997.
|
66
|
+
attr_accessor :dates_of_birth
|
35
67
|
|
36
68
|
# A date of birth given as year, month, and day.
|
37
69
|
# Format should be 'YYYYMMDD'
|
38
70
|
# Example: 19971226 for December 26, 1997.
|
39
|
-
|
71
|
+
def date_of_birth
|
72
|
+
@dates_of_birth ? @dates_of_birth[0] : nil
|
73
|
+
end
|
74
|
+
def date_of_birth=(date_of_birth)
|
75
|
+
@dates_of_birth = [date_of_birth]
|
76
|
+
end
|
77
|
+
|
78
|
+
# A list of last names in lowercase.
|
79
|
+
# Example: ['smith']
|
80
|
+
attr_accessor :last_names
|
40
81
|
|
41
82
|
# A last name in lowercase.
|
42
83
|
# Example: smith
|
43
|
-
|
84
|
+
def last_name
|
85
|
+
@last_names ? @last_names[0] : nil
|
86
|
+
end
|
87
|
+
def last_name=(last_name)
|
88
|
+
@last_names = [last_name]
|
89
|
+
end
|
90
|
+
|
91
|
+
# A list of first names in lowercase.
|
92
|
+
# Example: ['joe']
|
93
|
+
attr_accessor :first_names
|
44
94
|
|
45
95
|
# A first name in lowercase.
|
46
96
|
# Example: joe
|
47
|
-
|
97
|
+
def first_name
|
98
|
+
@first_names ? @first_names[0] : nil
|
99
|
+
end
|
100
|
+
def first_name=(first_name)
|
101
|
+
@first_names = [first_name]
|
102
|
+
end
|
103
|
+
|
104
|
+
# A list of cities in lower-case without spaces or punctuation.
|
105
|
+
# Example: ['menlopark']
|
106
|
+
attr_accessor :cities
|
48
107
|
|
49
108
|
# A city in lower-case without spaces or punctuation.
|
50
109
|
# Example: menlopark
|
51
|
-
|
110
|
+
def city
|
111
|
+
@cities ? @cities[0] : nil
|
112
|
+
end
|
113
|
+
def city=(city)
|
114
|
+
@cities = [city]
|
115
|
+
end
|
116
|
+
|
117
|
+
# A list of two-letter country codes in lowercase.
|
118
|
+
# Example: ['us']
|
119
|
+
attr_accessor :country_codes
|
52
120
|
|
53
121
|
# A two-letter country code in lowercase.
|
54
122
|
# Example: us
|
55
|
-
|
123
|
+
def country_code
|
124
|
+
@country_codes ? @country_codes[0] : nil
|
125
|
+
end
|
126
|
+
def country_code=(country_code)
|
127
|
+
@country_codes = [country_code]
|
128
|
+
end
|
129
|
+
|
130
|
+
# A list of two-letter state codes in lowercase.
|
131
|
+
# Example: ['ca']
|
132
|
+
attr_accessor :states
|
56
133
|
|
57
134
|
# A two-letter state code in lowercase.
|
58
135
|
# Example: ca
|
59
|
-
|
136
|
+
def state
|
137
|
+
@states ? @states[0] : nil
|
138
|
+
end
|
139
|
+
def state=(state)
|
140
|
+
@states = [state]
|
141
|
+
end
|
142
|
+
|
143
|
+
# A list of five-digit zip codes for United States.
|
144
|
+
# For other locations, follow each country's standards.
|
145
|
+
# Example: ['94035'] (for United States)
|
146
|
+
attr_accessor :zip_codes
|
60
147
|
|
61
148
|
# A five-digit zip code for United States.
|
62
149
|
# For other locations, follow each country's standards.
|
63
150
|
# Example: 94035 (for United States)
|
64
|
-
|
151
|
+
def zip_code
|
152
|
+
@zip_codes ? @zip_codes[0] : nil
|
153
|
+
end
|
154
|
+
def zip_code=(zip_code)
|
155
|
+
@zip_codes = [zip_code]
|
156
|
+
end
|
157
|
+
|
158
|
+
# A list of unique IDs from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
|
159
|
+
# In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
|
160
|
+
# this is known as extern_id. For more information, see Offline Conversions, Providing External IDs.
|
161
|
+
# If External ID is being sent via other channels, then it should be sent in the same format
|
162
|
+
# via the Conversions API.
|
163
|
+
attr_accessor :external_ids
|
65
164
|
|
66
165
|
# Any unique ID from the advertiser, such as loyalty membership IDs, user IDs, and external cookie IDs.
|
67
166
|
# In the Offline Conversions API (https://www.facebook.com/business/help/104039186799009),
|
68
167
|
# this is known as extern_id. For more information, see Offline Conversions, Providing External IDs.
|
69
168
|
# If External ID is being sent via other channels, then it should be sent in the same format
|
70
|
-
# via the
|
71
|
-
|
169
|
+
# via the Conversions API.
|
170
|
+
def external_id
|
171
|
+
@external_ids ? @external_ids[0] : nil
|
172
|
+
end
|
173
|
+
def external_id=(external_id)
|
174
|
+
@external_ids = [external_id]
|
175
|
+
end
|
72
176
|
|
73
177
|
# The IP address of the browser corresponding to the event.
|
74
178
|
attr_accessor :client_ip_address
|
@@ -78,13 +182,13 @@ module FacebookAds
|
|
78
182
|
|
79
183
|
# The Facebook click ID value stored in the _fbc browser cookie under your domain.
|
80
184
|
# See Managing fbc and fbp Parameters for how to get this value
|
81
|
-
# (https://developers.facebook.com/docs/marketing-api/facebook-pixel/
|
185
|
+
# (https://developers.facebook.com/docs/marketing-api/facebook-pixel/conversions-api/parameters#fbc),
|
82
186
|
# or generate this value from a fbclid query parameter.
|
83
187
|
attr_accessor :fbc
|
84
188
|
|
85
189
|
# The Facebook browser ID value stored in the _fbp browser cookie under your domain.
|
86
190
|
# See Managing fbc and fbp Parameters for how to get this value
|
87
|
-
# (https://developers.facebook.com/docs/marketing-api/facebook-pixel/
|
191
|
+
# (https://developers.facebook.com/docs/marketing-api/facebook-pixel/conversions-api/parameters#fbc),
|
88
192
|
# or generate this value from a fbclid query parameter.
|
89
193
|
attr_accessor :fbp
|
90
194
|
|
@@ -109,21 +213,32 @@ module FacebookAds
|
|
109
213
|
# The date of birth month.
|
110
214
|
attr_accessor :dobm
|
111
215
|
|
112
|
-
#
|
216
|
+
# The date of birth year.
|
113
217
|
attr_accessor :doby
|
114
218
|
|
115
219
|
#UserData is a set of identifiers Facebook can use for targeted attribution
|
116
220
|
# @param [String] email
|
221
|
+
# @param [Array<String>] emails
|
117
222
|
# @param [String] phone
|
223
|
+
# @param [Array<String>] phones
|
118
224
|
# @param [String] gender
|
225
|
+
# @param [Array<String>] genders
|
119
226
|
# @param [String] date_of_birth
|
227
|
+
# @param [Array<String>] dates_of_births
|
120
228
|
# @param [String] last_name
|
229
|
+
# @param [Array<String>] last_names
|
121
230
|
# @param [String] first_name
|
231
|
+
# @param [Array<String>] first_names
|
122
232
|
# @param [String] city
|
233
|
+
# @param [Array<String>] cities
|
123
234
|
# @param [String] state
|
235
|
+
# @param [Array<String>] states
|
124
236
|
# @param [String] country_code
|
237
|
+
# @param [Array<String>] country_codes
|
125
238
|
# @param [String] zip_code
|
239
|
+
# @param [Array<String>] zip_codes
|
126
240
|
# @param [String] external_id
|
241
|
+
# @param [Array<String>] external_ids
|
127
242
|
# @param [String] client_ip_address
|
128
243
|
# @param [String] client_user_agent
|
129
244
|
# @param [String] fbc
|
@@ -136,44 +251,91 @@ module FacebookAds
|
|
136
251
|
# @param [String] dobd
|
137
252
|
# @param [String] dobm
|
138
253
|
# @param [String] doby
|
139
|
-
def initialize(email: nil, phone: nil, gender: nil,
|
140
|
-
|
141
|
-
|
254
|
+
def initialize(email: nil, emails: nil, phone: nil, phones: nil, gender: nil, genders: nil,
|
255
|
+
date_of_birth: nil, dates_of_birth: nil, last_name: nil, last_names: nil,
|
256
|
+
first_name: nil, first_names: nil, city: nil, cities: nil, state: nil, states: nil,
|
257
|
+
country_code: nil, country_codes: nil, zip_code: nil, zip_codes: nil,
|
258
|
+
external_id: nil, external_ids: nil, client_ip_address: nil,
|
142
259
|
client_user_agent: nil, fbc: nil, fbp: nil, subscription_id: nil, lead_id: nil,
|
143
260
|
f5first: nil, f5last: nil, fi: nil, dobd: nil, dobm: nil, doby: nil)
|
261
|
+
validate_constructor_values(emails, email, 'emails', 'email')
|
262
|
+
validate_constructor_values(phones, phone, 'phones', 'phone')
|
263
|
+
validate_constructor_values(genders, gender, 'genders', 'gender')
|
264
|
+
validate_constructor_values(dates_of_birth, date_of_birth, 'dates_of_birth', 'date_of_birth')
|
265
|
+
validate_constructor_values(first_names, first_name, 'first_names', 'first_name')
|
266
|
+
validate_constructor_values(last_names, last_name, 'last_names', 'last_name')
|
267
|
+
validate_constructor_values(cities, city, 'cities', 'city')
|
268
|
+
validate_constructor_values(country_codes, country_code, 'country_codes', 'country_code')
|
269
|
+
validate_constructor_values(states, state, 'states', 'state')
|
270
|
+
validate_constructor_values(zip_codes, zip_code, 'zip_codes', 'zip_code')
|
271
|
+
validate_constructor_values(external_ids, external_id, 'external_ids', 'external_id')
|
272
|
+
|
144
273
|
unless email.nil?
|
145
274
|
self.email = email
|
146
275
|
end
|
276
|
+
unless emails.nil?
|
277
|
+
self.emails = emails
|
278
|
+
end
|
147
279
|
unless phone.nil?
|
148
280
|
self.phone = phone
|
149
281
|
end
|
282
|
+
unless phones.nil?
|
283
|
+
self.phones = phones
|
284
|
+
end
|
150
285
|
unless gender.nil?
|
151
286
|
self.gender = gender
|
152
287
|
end
|
288
|
+
unless genders.nil?
|
289
|
+
self.genders = genders
|
290
|
+
end
|
153
291
|
unless date_of_birth.nil?
|
154
292
|
self.date_of_birth = date_of_birth
|
155
293
|
end
|
294
|
+
unless dates_of_birth.nil?
|
295
|
+
self.dates_of_birth = dates_of_birth
|
296
|
+
end
|
156
297
|
unless last_name.nil?
|
157
298
|
self.last_name = last_name
|
158
299
|
end
|
300
|
+
unless last_names.nil?
|
301
|
+
self.last_names = last_names
|
302
|
+
end
|
159
303
|
unless first_name.nil?
|
160
304
|
self.first_name = first_name
|
161
305
|
end
|
306
|
+
unless first_names.nil?
|
307
|
+
self.first_names = first_names
|
308
|
+
end
|
162
309
|
unless city.nil?
|
163
310
|
self.city = city
|
164
311
|
end
|
312
|
+
unless cities.nil?
|
313
|
+
self.cities = cities
|
314
|
+
end
|
165
315
|
unless state.nil?
|
166
316
|
self.state = state
|
167
317
|
end
|
318
|
+
unless states.nil?
|
319
|
+
self.states = states
|
320
|
+
end
|
168
321
|
unless country_code.nil?
|
169
322
|
self.country_code = country_code
|
170
323
|
end
|
324
|
+
unless country_codes.nil?
|
325
|
+
self.country_codes = country_codes
|
326
|
+
end
|
171
327
|
unless zip_code.nil?
|
172
328
|
self.zip_code = zip_code
|
173
329
|
end
|
330
|
+
unless zip_codes.nil?
|
331
|
+
self.zip_codes = zip_codes
|
332
|
+
end
|
174
333
|
unless external_id.nil?
|
175
334
|
self.external_id = external_id
|
176
335
|
end
|
336
|
+
unless external_ids.nil?
|
337
|
+
self.external_ids = external_ids
|
338
|
+
end
|
177
339
|
unless client_ip_address.nil?
|
178
340
|
self.client_ip_address = client_ip_address
|
179
341
|
end
|
@@ -220,48 +382,70 @@ module FacebookAds
|
|
220
382
|
# convert string to symbol for hash key
|
221
383
|
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
222
384
|
|
223
|
-
if attributes.has_key?(:'
|
224
|
-
self.
|
385
|
+
if attributes.has_key?(:'emails')
|
386
|
+
self.emails = attributes[:'emails']
|
387
|
+
elsif attributes.has_key?(:'email')
|
388
|
+
self.emails = [attributes[:'email']]
|
225
389
|
end
|
226
390
|
|
227
|
-
if attributes.has_key?(:'
|
228
|
-
self.
|
391
|
+
if attributes.has_key?(:'phones')
|
392
|
+
self.phones = attributes[:'phones']
|
393
|
+
elsif attributes.has_key?(:'phone')
|
394
|
+
self.phones = [attributes[:'phone']]
|
229
395
|
end
|
230
396
|
|
231
|
-
if attributes.has_key?(:'
|
232
|
-
self.
|
397
|
+
if attributes.has_key?(:'genders')
|
398
|
+
self.genders = attributes[:'genders']
|
399
|
+
elsif attributes.has_key?(:'gender')
|
400
|
+
self.genders = [attributes[:'gender']]
|
233
401
|
end
|
234
402
|
|
235
|
-
if attributes.has_key?(:'
|
236
|
-
self.
|
403
|
+
if attributes.has_key?(:'dates_of_birth')
|
404
|
+
self.dates_of_birth = attributes[:'dates_of_birth']
|
405
|
+
elsif attributes.has_key?(:'date_of_birth')
|
406
|
+
self.dates_of_birth = [attributes[:'date_of_birth']]
|
237
407
|
end
|
238
408
|
|
239
|
-
if attributes.has_key?(:'
|
240
|
-
self.
|
409
|
+
if attributes.has_key?(:'last_names')
|
410
|
+
self.last_names = attributes[:'last_names']
|
411
|
+
elsif attributes.has_key?(:'last_name')
|
412
|
+
self.last_names = [attributes[:'last_name']]
|
241
413
|
end
|
242
414
|
|
243
|
-
if attributes.has_key?(:'
|
244
|
-
self.
|
415
|
+
if attributes.has_key?(:'first_names')
|
416
|
+
self.first_names = attributes[:'first_names']
|
417
|
+
elsif attributes.has_key?(:'first_name')
|
418
|
+
self.first_names = [attributes[:'first_name']]
|
245
419
|
end
|
246
420
|
|
247
|
-
if attributes.has_key?(:'
|
248
|
-
self.
|
421
|
+
if attributes.has_key?(:'cities')
|
422
|
+
self.cities = attributes[:'cities']
|
423
|
+
elsif attributes.has_key?(:'city')
|
424
|
+
self.cities = [attributes[:'city']]
|
249
425
|
end
|
250
426
|
|
251
|
-
if attributes.has_key?(:'
|
252
|
-
self.
|
427
|
+
if attributes.has_key?(:'country_codes')
|
428
|
+
self.country_codes = attributes[:'country_codes']
|
429
|
+
elsif attributes.has_key?(:'country_code')
|
430
|
+
self.country_codes = [attributes[:'country_code']]
|
253
431
|
end
|
254
432
|
|
255
|
-
if attributes.has_key?(:'
|
256
|
-
self.
|
433
|
+
if attributes.has_key?(:'states')
|
434
|
+
self.states = attributes[:'states']
|
435
|
+
elsif attributes.has_key?(:'state')
|
436
|
+
self.states = [attributes[:'state']]
|
257
437
|
end
|
258
438
|
|
259
|
-
if attributes.has_key?(:'
|
260
|
-
self.
|
439
|
+
if attributes.has_key?(:'zip_codes')
|
440
|
+
self.zip_codes = attributes[:'zip_codes']
|
441
|
+
elsif attributes.has_key?(:'zip_code')
|
442
|
+
self.zip_codes = [attributes[:'zip_code']]
|
261
443
|
end
|
262
444
|
|
263
|
-
if attributes.has_key?(:'
|
264
|
-
self.
|
445
|
+
if attributes.has_key?(:'external_ids')
|
446
|
+
self.external_ids = attributes[:'external_ids']
|
447
|
+
elsif attributes.has_key?(:'external_id')
|
448
|
+
self.external_ids = [attributes[:'external_id']]
|
265
449
|
end
|
266
450
|
|
267
451
|
if attributes.has_key?(:'client_ip_address')
|
@@ -313,17 +497,17 @@ module FacebookAds
|
|
313
497
|
def ==(o)
|
314
498
|
return true if self.equal?(o)
|
315
499
|
self.class == o.class &&
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
500
|
+
emails == o.emails &&
|
501
|
+
phones == o.phones &&
|
502
|
+
genders == o.genders &&
|
503
|
+
dates_of_birth == o.dates_of_birth &&
|
504
|
+
last_names == o.last_names &&
|
505
|
+
first_names == o.first_names &&
|
506
|
+
cities == o.cities &&
|
507
|
+
country_codes == o.country_codes &&
|
508
|
+
states == o.states &&
|
509
|
+
zip_codes == o.zip_codes &&
|
510
|
+
external_ids == o.external_ids &&
|
327
511
|
client_ip_address == o.client_ip_address &&
|
328
512
|
client_user_agent == o.client_user_agent &&
|
329
513
|
fbc == o.fbc &&
|
@@ -347,17 +531,17 @@ module FacebookAds
|
|
347
531
|
# @return [Fixnum] Hash code
|
348
532
|
def hash
|
349
533
|
[
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
534
|
+
emails,
|
535
|
+
phones,
|
536
|
+
genders,
|
537
|
+
dates_of_birth,
|
538
|
+
last_names,
|
539
|
+
first_names,
|
540
|
+
cities,
|
541
|
+
country_codes,
|
542
|
+
states,
|
543
|
+
zip_codes,
|
544
|
+
external_ids,
|
361
545
|
client_ip_address,
|
362
546
|
client_user_agent,
|
363
547
|
fbc,
|
@@ -378,38 +562,38 @@ module FacebookAds
|
|
378
562
|
# @return [String] String presentation of the object
|
379
563
|
def to_s
|
380
564
|
hash = {}
|
381
|
-
unless
|
382
|
-
hash['
|
565
|
+
unless emails.nil?
|
566
|
+
hash['emails'] = emails
|
383
567
|
end
|
384
|
-
unless
|
385
|
-
hash['
|
568
|
+
unless phones.nil?
|
569
|
+
hash['phones'] = phones
|
386
570
|
end
|
387
|
-
unless
|
388
|
-
hash['
|
571
|
+
unless genders.nil?
|
572
|
+
hash['genders'] = genders
|
389
573
|
end
|
390
|
-
unless
|
391
|
-
hash['
|
574
|
+
unless dates_of_birth.nil?
|
575
|
+
hash['dates_of_birth'] = dates_of_birth
|
392
576
|
end
|
393
|
-
unless
|
394
|
-
hash['
|
577
|
+
unless last_names.nil?
|
578
|
+
hash['last_names'] = last_names
|
395
579
|
end
|
396
|
-
unless
|
397
|
-
hash['
|
580
|
+
unless first_names.nil?
|
581
|
+
hash['first_names'] = first_names
|
398
582
|
end
|
399
|
-
unless
|
400
|
-
hash['
|
583
|
+
unless cities.nil?
|
584
|
+
hash['cities'] = cities
|
401
585
|
end
|
402
|
-
unless
|
403
|
-
hash['
|
586
|
+
unless country_codes.nil?
|
587
|
+
hash['country_codes'] = country_codes
|
404
588
|
end
|
405
|
-
unless
|
406
|
-
hash['
|
589
|
+
unless states.nil?
|
590
|
+
hash['states'] = states
|
407
591
|
end
|
408
|
-
unless
|
409
|
-
hash['
|
592
|
+
unless zip_codes.nil?
|
593
|
+
hash['zip_codes'] = zip_codes
|
410
594
|
end
|
411
|
-
unless
|
412
|
-
hash['
|
595
|
+
unless external_ids.nil?
|
596
|
+
hash['external_ids'] = external_ids
|
413
597
|
end
|
414
598
|
unless client_ip_address.nil?
|
415
599
|
hash['client_ip_address'] = client_ip_address
|
@@ -455,37 +639,37 @@ module FacebookAds
|
|
455
639
|
def normalize
|
456
640
|
hash = {}
|
457
641
|
unless email.nil?
|
458
|
-
hash['em'] = FacebookAds::ServerSide::Util.
|
642
|
+
hash['em'] = FacebookAds::ServerSide::Util.normalize_array(emails, 'em')
|
459
643
|
end
|
460
644
|
unless phone.nil?
|
461
|
-
hash['ph'] = FacebookAds::ServerSide::Util.
|
645
|
+
hash['ph'] = FacebookAds::ServerSide::Util.normalize_array(phones, 'ph')
|
462
646
|
end
|
463
647
|
unless gender.nil?
|
464
|
-
hash['ge'] = FacebookAds::ServerSide::Util.
|
648
|
+
hash['ge'] = FacebookAds::ServerSide::Util.normalize_array(genders, 'ge')
|
465
649
|
end
|
466
650
|
unless date_of_birth.nil?
|
467
|
-
hash['db'] = FacebookAds::ServerSide::Util.
|
651
|
+
hash['db'] = FacebookAds::ServerSide::Util.normalize_array(dates_of_birth, 'db')
|
468
652
|
end
|
469
653
|
unless last_name.nil?
|
470
|
-
hash['ln'] = FacebookAds::ServerSide::Util.
|
654
|
+
hash['ln'] = FacebookAds::ServerSide::Util.normalize_array(last_names, 'ln')
|
471
655
|
end
|
472
656
|
unless first_name.nil?
|
473
|
-
hash['fn'] = FacebookAds::ServerSide::Util.
|
657
|
+
hash['fn'] = FacebookAds::ServerSide::Util.normalize_array(first_names, 'fn')
|
474
658
|
end
|
475
659
|
unless city.nil?
|
476
|
-
hash['ct'] = FacebookAds::ServerSide::Util.
|
660
|
+
hash['ct'] = FacebookAds::ServerSide::Util.normalize_array(cities, 'ct')
|
477
661
|
end
|
478
662
|
unless country_code.nil?
|
479
|
-
hash['country'] = FacebookAds::ServerSide::Util.
|
663
|
+
hash['country'] = FacebookAds::ServerSide::Util.normalize_array(country_codes, 'country')
|
480
664
|
end
|
481
665
|
unless state.nil?
|
482
|
-
hash['st'] = FacebookAds::ServerSide::Util.
|
666
|
+
hash['st'] = FacebookAds::ServerSide::Util.normalize_array(states, 'st')
|
483
667
|
end
|
484
668
|
unless zip_code.nil?
|
485
|
-
hash['zp'] = FacebookAds::ServerSide::Util.
|
669
|
+
hash['zp'] = FacebookAds::ServerSide::Util.normalize_array(zip_codes, 'zp')
|
486
670
|
end
|
487
671
|
unless external_id.nil?
|
488
|
-
hash['external_id'] =
|
672
|
+
hash['external_id'] = external_ids
|
489
673
|
end
|
490
674
|
unless client_ip_address.nil?
|
491
675
|
hash['client_ip_address'] = client_ip_address
|
@@ -523,7 +707,17 @@ module FacebookAds
|
|
523
707
|
unless doby.nil?
|
524
708
|
hash['doby'] = FacebookAds::ServerSide::Util.normalize(doby, 'doby')
|
525
709
|
end
|
526
|
-
hash
|
710
|
+
hash.select{|k, v| !v.nil?}
|
711
|
+
end
|
712
|
+
|
713
|
+
def validate_constructor_values(multi_value, single_value, multi_string, single_string)
|
714
|
+
if !multi_value.nil? && !single_value.nil?
|
715
|
+
raise ArgumentError.new(
|
716
|
+
'Cannot set both %s and %s parameters via constructor. ' % [
|
717
|
+
multi_string, single_string
|
718
|
+
] + 'Please set either the multi or single parameter, not both.'
|
719
|
+
)
|
720
|
+
end
|
527
721
|
end
|
528
722
|
end
|
529
723
|
end
|