facebookbusiness 0.6.0.3 → 0.7.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/ad_objects/ad.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_account.rb +8 -16
- data/lib/facebook_ads/ad_objects/ad_account_activity.rb +3 -5
- data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -1
- data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +4 -0
- data/lib/facebook_ads/ad_objects/ad_activity.rb +8 -0
- data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +7 -0
- data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -2
- data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -3
- data/lib/facebook_ads/ad_objects/{user_influence.rb → ad_creative_ad_disclaimer.rb} +4 -4
- data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +6 -0
- data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_customization_rule_spec.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_report_run.rb +2 -0
- data/lib/facebook_ads/ad_objects/ad_set.rb +10 -2
- data/lib/facebook_ads/ad_objects/ad_study.rb +1 -0
- data/lib/facebook_ads/ad_objects/ad_video.rb +7 -26
- data/lib/facebook_ads/ad_objects/adgroup_activity.rb +4 -4
- data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +5 -0
- data/lib/facebook_ads/ad_objects/{ads_interest.rb → adoptable_pet.rb} +18 -5
- data/lib/facebook_ads/ad_objects/ads_insights.rb +10 -0
- data/lib/facebook_ads/ad_objects/album.rb +7 -0
- data/lib/facebook_ads/ad_objects/application.rb +4 -12
- data/lib/facebook_ads/ad_objects/atlas_campaign.rb +2 -2
- data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
- data/lib/facebook_ads/ad_objects/business.rb +24 -128
- data/lib/facebook_ads/ad_objects/{business_creative_folder_sharing_agreement.rb → business_agreement.rb} +2 -5
- data/lib/facebook_ads/ad_objects/business_asset_group.rb +0 -7
- data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
- data/lib/facebook_ads/ad_objects/business_role_request.rb +6 -0
- data/lib/facebook_ads/ad_objects/business_user.rb +6 -0
- data/lib/facebook_ads/ad_objects/campaign.rb +267 -5
- data/lib/facebook_ads/ad_objects/{request_history.rb → catalog_item_app_links.rb} +9 -14
- data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +1 -1
- data/lib/facebook_ads/ad_objects/comment.rb +1 -0
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +107 -0
- data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +41 -0
- data/lib/facebook_ads/ad_objects/commerce_order.rb +147 -0
- data/lib/facebook_ads/ad_objects/{business_creative.rb → commerce_order_transaction_detail.rb} +10 -12
- data/lib/facebook_ads/ad_objects/{client_transparency_status.rb → commerce_payout.rb} +6 -5
- data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
- data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -4
- data/lib/facebook_ads/ad_objects/custom_conversion.rb +1 -0
- data/lib/facebook_ads/ad_objects/destination.rb +1 -0
- data/lib/facebook_ads/ad_objects/event.rb +11 -0
- data/lib/facebook_ads/ad_objects/external_event_source.rb +1 -0
- data/lib/facebook_ads/ad_objects/flight.rb +1 -0
- data/lib/facebook_ads/ad_objects/group.rb +7 -36
- data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
- data/lib/facebook_ads/ad_objects/hotel.rb +1 -1
- data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
- data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
- data/lib/facebook_ads/ad_objects/ig_user.rb +2 -0
- data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
- data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -1
- data/lib/facebook_ads/ad_objects/messenger_profile.rb +0 -1
- data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -6
- data/lib/facebook_ads/ad_objects/open_graph_context.rb +0 -12
- data/lib/facebook_ads/ad_objects/page.rb +50 -50
- data/lib/facebook_ads/ad_objects/page_admin_note.rb +1 -0
- data/lib/facebook_ads/ad_objects/page_call_to_action.rb +12 -0
- data/lib/facebook_ads/ad_objects/page_change_proposal.rb +2 -0
- data/lib/facebook_ads/ad_objects/page_post.rb +9 -0
- data/lib/facebook_ads/ad_objects/partner_study.rb +0 -4
- data/lib/facebook_ads/ad_objects/{brand_audience.rb → payment_subscription.rb} +23 -9
- data/lib/facebook_ads/ad_objects/post.rb +11 -2
- data/lib/facebook_ads/ad_objects/product_catalog.rb +12 -1
- data/lib/facebook_ads/ad_objects/product_feed.rb +2 -0
- data/lib/facebook_ads/ad_objects/product_feed_upload_diagnostics_report.rb +38 -0
- data/lib/facebook_ads/ad_objects/product_item.rb +1 -0
- data/lib/facebook_ads/ad_objects/product_set.rb +3 -0
- data/lib/facebook_ads/ad_objects/{custom_audience_prefill_state.rb → product_set_metadata.rb} +3 -3
- data/lib/facebook_ads/ad_objects/profile.rb +2 -0
- data/lib/facebook_ads/ad_objects/profile_picture_source.rb +4 -0
- data/lib/facebook_ads/ad_objects/publisher_block_list.rb +0 -6
- data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +0 -4
- data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
- data/lib/facebook_ads/ad_objects/server_side/content.rb +75 -13
- data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +24 -6
- data/lib/facebook_ads/ad_objects/server_side/event.rb +62 -3
- data/lib/facebook_ads/ad_objects/server_side/event_request.rb +80 -6
- data/lib/facebook_ads/ad_objects/server_side/user_data.rb +132 -17
- data/lib/facebook_ads/ad_objects/server_side/util.rb +204 -150
- data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +0 -1
- data/lib/facebook_ads/ad_objects/system_user.rb +6 -0
- data/lib/facebook_ads/ad_objects/targeting.rb +1 -0
- data/lib/facebook_ads/ad_objects/{creative_asset_tag.rb → targeting_relaxation.rb} +2 -2
- data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +1 -0
- data/lib/facebook_ads/ad_objects/user.rb +6 -38
- data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +1 -0
- data/lib/facebook_ads/ad_objects/vehicle.rb +1 -1
- data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
- data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +4 -0
- data/lib/facebook_ads/ad_objects/{business_pixel_tos.rb → work_meeting_link.rb} +2 -2
- data/lib/facebook_ads/version.rb +2 -2
- metadata +45 -22
- data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -79
- data/lib/facebook_ads/ad_objects/business_image.rb +0 -94
- data/lib/facebook_ads/ad_objects/instagram_comment.rb +0 -47
- data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +0 -39
- data/lib/facebook_ads/ad_objects/open_graph_object.rb +0 -70
- data/lib/facebook_ads/ad_objects/streaming_reaction.rb +0 -50
- data/lib/facebook_ads/ad_objects/video_game_show.rb +0 -43
- data/lib/facebook_ads/ad_objects/whats_app_business_profile.rb +0 -36
@@ -69,7 +69,11 @@ module FacebookAds
|
|
69
69
|
# Use only with Search events. A search query made by a user.
|
70
70
|
# Example: 'lettuce'.
|
71
71
|
attr_accessor :search_string
|
72
|
-
|
72
|
+
|
73
|
+
# The item number.
|
74
|
+
# Example: 'item1234'.
|
75
|
+
attr_accessor :item_number
|
76
|
+
|
73
77
|
# Custom Properties bag for storing other custom fields
|
74
78
|
attr_accessor :custom_properties
|
75
79
|
|
@@ -86,6 +90,7 @@ module FacebookAds
|
|
86
90
|
# @param [Integer] num_items
|
87
91
|
# @param [String] status
|
88
92
|
# @param [String] search_string
|
93
|
+
# @param [String] item_number
|
89
94
|
# @param [String] custom_properties
|
90
95
|
def initialize(value: nil,
|
91
96
|
currency: nil,
|
@@ -99,6 +104,7 @@ module FacebookAds
|
|
99
104
|
num_items: nil,
|
100
105
|
status: nil,
|
101
106
|
search_string: nil,
|
107
|
+
item_number: nil,
|
102
108
|
custom_properties: {})
|
103
109
|
|
104
110
|
unless value.nil?
|
@@ -137,6 +143,9 @@ module FacebookAds
|
|
137
143
|
unless search_string.nil?
|
138
144
|
self.search_string = search_string
|
139
145
|
end
|
146
|
+
unless item_number.nil?
|
147
|
+
self.item_number = item_number
|
148
|
+
end
|
140
149
|
unless custom_properties.nil?
|
141
150
|
self.custom_properties = custom_properties
|
142
151
|
end
|
@@ -203,6 +212,10 @@ module FacebookAds
|
|
203
212
|
self.search_string = attributes[:'search_string']
|
204
213
|
end
|
205
214
|
|
215
|
+
if attributes.has_key?(:'item_number')
|
216
|
+
self.item_number = attributes[:'item_number']
|
217
|
+
end
|
218
|
+
|
206
219
|
if attributes.has_key?(:'custom_properties')
|
207
220
|
self.custom_properties = attributes[:'custom_properties']
|
208
221
|
end
|
@@ -224,6 +237,7 @@ module FacebookAds
|
|
224
237
|
num_items == o.num_items &&
|
225
238
|
status == o.status &&
|
226
239
|
search_string == o.search_string &&
|
240
|
+
item_number == o.item_number &&
|
227
241
|
custom_properties == o.custom_properties
|
228
242
|
end
|
229
243
|
|
@@ -248,6 +262,7 @@ module FacebookAds
|
|
248
262
|
num_items,
|
249
263
|
status,
|
250
264
|
search_string,
|
265
|
+
item_number,
|
251
266
|
custom_properties
|
252
267
|
].hash
|
253
268
|
end
|
@@ -294,23 +309,23 @@ module FacebookAds
|
|
294
309
|
end
|
295
310
|
unless custom_properties.nil?
|
296
311
|
hash['custom_properties'] = custom_properties
|
297
|
-
end
|
312
|
+
end
|
298
313
|
hash.to_s
|
299
314
|
end
|
300
315
|
|
301
316
|
# Add other custom fields to custom properties.
|
302
317
|
def add_custom_property(key, value)
|
303
|
-
custom_properties[key] = value;
|
318
|
+
custom_properties[key] = value;
|
304
319
|
end
|
305
320
|
|
306
321
|
# Normalize input fields to server request format.
|
307
|
-
def normalize
|
322
|
+
def normalize
|
308
323
|
hash = {}
|
309
324
|
unless value.nil?
|
310
325
|
hash['value'] = value
|
311
326
|
end
|
312
327
|
unless currency.nil?
|
313
|
-
hash['currency'] = FacebookAds::ServerSide::normalize(currency, 'currency')
|
328
|
+
hash['currency'] = FacebookAds::ServerSide::Util.normalize(currency, 'currency')
|
314
329
|
end
|
315
330
|
unless content_name.nil?
|
316
331
|
hash['content_name'] = content_name
|
@@ -339,6 +354,9 @@ module FacebookAds
|
|
339
354
|
unless search_string.nil?
|
340
355
|
hash['search_string'] = search_string
|
341
356
|
end
|
357
|
+
unless item_number.nil?
|
358
|
+
hash['item_number'] = item_number
|
359
|
+
end
|
342
360
|
|
343
361
|
unless contents.nil?
|
344
362
|
content_array = []
|
@@ -348,7 +366,7 @@ module FacebookAds
|
|
348
366
|
hash['contents'] = content_array
|
349
367
|
end
|
350
368
|
|
351
|
-
hash.merge!(custom_properties) unless custom_properties.nil?
|
369
|
+
hash.merge!(custom_properties) unless custom_properties.nil?
|
352
370
|
hash
|
353
371
|
end
|
354
372
|
end
|
@@ -52,6 +52,17 @@ module FacebookAds
|
|
52
52
|
# An Object that includes additional business data about the event.
|
53
53
|
attr_accessor :custom_data
|
54
54
|
|
55
|
+
# Processing options you would like to enable for a specific event.
|
56
|
+
# For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
|
57
|
+
attr_accessor :data_processing_options
|
58
|
+
|
59
|
+
# A country that you want to associate to this data processing option
|
60
|
+
# For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
|
61
|
+
attr_accessor :data_processing_options_country
|
62
|
+
|
63
|
+
# A state that you want to associate with this data processing option.
|
64
|
+
# For more details see https://developers.facebook.com/docs/marketing-apis/data-processing-options
|
65
|
+
attr_accessor :data_processing_options_state
|
55
66
|
|
56
67
|
# @param [String] event_name
|
57
68
|
# @param [int] event_time
|
@@ -60,13 +71,19 @@ module FacebookAds
|
|
60
71
|
# @param [String] event_id
|
61
72
|
# @param [FacebookAds::ServerSide::UserData] user_data
|
62
73
|
# @param [FacebookAds::ServerSide::CustomData] custom_data
|
74
|
+
# @param [Array<String>] data_processing_options
|
75
|
+
# @param [int] data_processing_options_country
|
76
|
+
# @param [int] data_processing_options_state
|
63
77
|
def initialize(event_name: nil,
|
64
78
|
event_time: nil,
|
65
79
|
event_source_url: nil,
|
66
80
|
opt_out: nil,
|
67
81
|
event_id: nil,
|
68
82
|
user_data: nil,
|
69
|
-
custom_data: nil
|
83
|
+
custom_data: nil,
|
84
|
+
data_processing_options: nil,
|
85
|
+
data_processing_options_country: nil,
|
86
|
+
data_processing_options_state: nil)
|
70
87
|
|
71
88
|
unless event_name.nil?
|
72
89
|
self.event_name = event_name
|
@@ -89,6 +106,15 @@ module FacebookAds
|
|
89
106
|
unless custom_data.nil?
|
90
107
|
self.custom_data = custom_data
|
91
108
|
end
|
109
|
+
unless data_processing_options.nil?
|
110
|
+
self.data_processing_options = data_processing_options
|
111
|
+
end
|
112
|
+
unless data_processing_options_country.nil?
|
113
|
+
self.data_processing_options_country = data_processing_options_country
|
114
|
+
end
|
115
|
+
unless data_processing_options_state.nil?
|
116
|
+
self.data_processing_options_state = data_processing_options_state
|
117
|
+
end
|
92
118
|
end
|
93
119
|
|
94
120
|
# build the object using the input hash
|
@@ -126,6 +152,18 @@ module FacebookAds
|
|
126
152
|
if attributes.has_key?(:'custom_data')
|
127
153
|
self.custom_data = attributes[:'custom_data']
|
128
154
|
end
|
155
|
+
|
156
|
+
if attributes.has_key?(:'data_processing_options')
|
157
|
+
self.custom_data = attributes[:'data_processing_options']
|
158
|
+
end
|
159
|
+
|
160
|
+
if attributes.has_key?(:'data_processing_options_country')
|
161
|
+
self.custom_data = attributes[:'data_processing_options_country']
|
162
|
+
end
|
163
|
+
|
164
|
+
if attributes.has_key?(:'data_processing_options_state')
|
165
|
+
self.custom_data = attributes[:'data_processing_options_state']
|
166
|
+
end
|
129
167
|
end
|
130
168
|
|
131
169
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -166,7 +204,10 @@ module FacebookAds
|
|
166
204
|
opt_out == o.opt_out &&
|
167
205
|
event_id == o.event_id &&
|
168
206
|
user_data == o.user_data &&
|
169
|
-
custom_data == o.custom_data
|
207
|
+
custom_data == o.custom_data &&
|
208
|
+
data_processing_options == o.data_processing_options &&
|
209
|
+
data_processing_options_country == o.data_processing_options_country &&
|
210
|
+
data_processing_options_state == o.data_processing_options_state
|
170
211
|
end
|
171
212
|
|
172
213
|
# @see the `==` method
|
@@ -177,7 +218,7 @@ module FacebookAds
|
|
177
218
|
# Calculates hash code according to all attributes.
|
178
219
|
# @return [Fixnum] Hash code
|
179
220
|
def hash
|
180
|
-
[event_name, event_time, event_source_url, opt_out, event_id, user_data, custom_data].hash
|
221
|
+
[event_name, event_time, event_source_url, opt_out, event_id, user_data, custom_data, data_processing_options, data_processing_options_country, data_processing_options_state].hash
|
181
222
|
end
|
182
223
|
|
183
224
|
def to_s
|
@@ -203,6 +244,15 @@ module FacebookAds
|
|
203
244
|
unless custom_data.nil?
|
204
245
|
hash['custom_data'] = custom_data.to_s
|
205
246
|
end
|
247
|
+
unless data_processing_options.nil?
|
248
|
+
hash['data_processing_options'] = data_processing_options.to_s
|
249
|
+
end
|
250
|
+
unless data_processing_options_country.nil?
|
251
|
+
hash['data_processing_options_country'] = data_processing_options_country.to_s
|
252
|
+
end
|
253
|
+
unless data_processing_options_state.nil?
|
254
|
+
hash['data_processing_options_state'] = data_processing_options_state.to_s
|
255
|
+
end
|
206
256
|
hash.to_s
|
207
257
|
end
|
208
258
|
|
@@ -231,6 +281,15 @@ module FacebookAds
|
|
231
281
|
unless custom_data.nil?
|
232
282
|
hash['custom_data'] = custom_data.normalize
|
233
283
|
end
|
284
|
+
unless data_processing_options.nil?
|
285
|
+
hash['data_processing_options'] = data_processing_options
|
286
|
+
end
|
287
|
+
unless data_processing_options_country.nil?
|
288
|
+
hash['data_processing_options_country'] = data_processing_options_country
|
289
|
+
end
|
290
|
+
unless data_processing_options_state.nil?
|
291
|
+
hash['data_processing_options_state'] = data_processing_options_state
|
292
|
+
end
|
234
293
|
hash
|
235
294
|
end
|
236
295
|
|
@@ -39,11 +39,28 @@ module FacebookAds
|
|
39
39
|
# Platform from which the event is sent e.g. wordpress
|
40
40
|
attr_accessor :partner_agent
|
41
41
|
|
42
|
+
# Scope used to resolve extern_id or Third-party ID. Can be another data set or data partner ID.
|
43
|
+
attr_accessor :namespace_id
|
44
|
+
|
45
|
+
# Unique id used to denote the current set being uploaded.
|
46
|
+
attr_accessor :upload_id
|
47
|
+
|
48
|
+
# Tag string added to track your Offline event uploads.
|
49
|
+
attr_accessor :upload_tag
|
50
|
+
|
51
|
+
# The origin/source of data for the dataset to be uploaded.
|
52
|
+
attr_accessor :upload_source
|
53
|
+
|
42
54
|
# @param [String] pixel_id
|
43
55
|
# @param [Array(FacebookAds::ServerSide::Event)] events
|
44
56
|
# @param [String] test_event_code
|
45
57
|
# @param [String] partner_agent
|
46
|
-
|
58
|
+
# @param [String] namespace_id
|
59
|
+
# @param [String] upload_id
|
60
|
+
# @param [String] upload_tag
|
61
|
+
# @param [String] upload_source
|
62
|
+
def initialize(pixel_id: nil, events: nil, test_event_code: nil, partner_agent: nil,
|
63
|
+
namespace_id: nil, upload_id: nil, upload_tag: nil, upload_source: nil)
|
47
64
|
unless pixel_id.nil?
|
48
65
|
self.pixel_id = pixel_id
|
49
66
|
end
|
@@ -56,6 +73,18 @@ module FacebookAds
|
|
56
73
|
unless partner_agent.nil?
|
57
74
|
self.partner_agent = partner_agent
|
58
75
|
end
|
76
|
+
unless namespace_id.nil?
|
77
|
+
self.namespace_id = namespace_id
|
78
|
+
end
|
79
|
+
unless upload_id.nil?
|
80
|
+
self.upload_id = upload_id
|
81
|
+
end
|
82
|
+
unless upload_tag.nil?
|
83
|
+
self.upload_tag = upload_tag
|
84
|
+
end
|
85
|
+
unless upload_source.nil?
|
86
|
+
self.upload_source = upload_source
|
87
|
+
end
|
59
88
|
end
|
60
89
|
|
61
90
|
# build the object using the input hash
|
@@ -83,6 +112,22 @@ module FacebookAds
|
|
83
112
|
if attributes.has_key?(:'partner_agent')
|
84
113
|
self.partner_agent = attributes[:'partner_agent']
|
85
114
|
end
|
115
|
+
|
116
|
+
if attributes.has_key?(:'namespace_id')
|
117
|
+
self.namespace_id = attributes[:'namespace_id']
|
118
|
+
end
|
119
|
+
|
120
|
+
if attributes.has_key?(:'upload_id')
|
121
|
+
self.upload_id = attributes[:'upload_id']
|
122
|
+
end
|
123
|
+
|
124
|
+
if attributes.has_key?(:'upload_tag')
|
125
|
+
self.upload_tag = attributes[:'upload_tag']
|
126
|
+
end
|
127
|
+
|
128
|
+
if attributes.has_key?(:'upload_source')
|
129
|
+
self.upload_source = attributes[:'upload_source']
|
130
|
+
end
|
86
131
|
end
|
87
132
|
|
88
133
|
# Execute request
|
@@ -96,7 +141,11 @@ module FacebookAds
|
|
96
141
|
{
|
97
142
|
data: normalized_events,
|
98
143
|
test_event_code: test_event_code,
|
99
|
-
partner_agent: partner_agent
|
144
|
+
partner_agent: partner_agent,
|
145
|
+
namespace_id: namespace_id,
|
146
|
+
upload_id: upload_id,
|
147
|
+
upload_tag: upload_tag,
|
148
|
+
upload_source: upload_source,
|
100
149
|
}
|
101
150
|
)
|
102
151
|
json_response_object = JSON.parse(JSON.generate(response), object_class: OpenStruct)
|
@@ -137,9 +186,14 @@ module FacebookAds
|
|
137
186
|
def ==(o)
|
138
187
|
return true if self.equal?(o)
|
139
188
|
self.class == o.class &&
|
189
|
+
pixel_id == o.pixel_id &&
|
140
190
|
events == o.events &&
|
141
|
-
test_event_code == o.test_event_code
|
142
|
-
partner_agent == o.partner_agent
|
191
|
+
test_event_code == o.test_event_code &&
|
192
|
+
partner_agent == o.partner_agent &&
|
193
|
+
namespace_id == o.namespace_id &&
|
194
|
+
upload_id == o.upload_id &&
|
195
|
+
upload_tag == o.upload_tag &&
|
196
|
+
upload_source == o.upload_source
|
143
197
|
end
|
144
198
|
|
145
199
|
# @see the `==` method
|
@@ -150,7 +204,16 @@ module FacebookAds
|
|
150
204
|
# Calculates hash code according to all attributes.
|
151
205
|
# @return [Fixnum] Hash code
|
152
206
|
def hash
|
153
|
-
[
|
207
|
+
[
|
208
|
+
pixel_id,
|
209
|
+
events,
|
210
|
+
test_event_code,
|
211
|
+
partner_agent,
|
212
|
+
namespace_id,
|
213
|
+
upload_id,
|
214
|
+
upload_tag,
|
215
|
+
upload_source,
|
216
|
+
].hash
|
154
217
|
end
|
155
218
|
|
156
219
|
def to_s
|
@@ -167,9 +230,20 @@ module FacebookAds
|
|
167
230
|
unless partner_agent.nil?
|
168
231
|
hash['partner_agent'] = partner_agent
|
169
232
|
end
|
233
|
+
unless namespace_id.nil?
|
234
|
+
hash['namespace_id'] = namespace_id
|
235
|
+
end
|
236
|
+
unless upload_id.nil?
|
237
|
+
hash['upload_id'] = upload_id
|
238
|
+
end
|
239
|
+
unless upload_tag.nil?
|
240
|
+
hash['upload_tag'] = upload_tag
|
241
|
+
end
|
242
|
+
unless upload_source.nil?
|
243
|
+
hash['upload_source'] = upload_source
|
244
|
+
end
|
170
245
|
hash.to_s
|
171
246
|
end
|
172
247
|
end
|
173
248
|
end
|
174
249
|
end
|
175
|
-
|
@@ -16,8 +16,6 @@
|
|
16
16
|
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
17
17
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
18
18
|
|
19
|
-
require_relative 'util'
|
20
|
-
|
21
19
|
module FacebookAds
|
22
20
|
module ServerSide
|
23
21
|
|
@@ -93,6 +91,24 @@ module FacebookAds
|
|
93
91
|
# The subscription ID for the user in this transaction. This is similar to the order ID for an individual product.
|
94
92
|
attr_accessor :subscription_id
|
95
93
|
|
94
|
+
# The first 5 letters of the first name.
|
95
|
+
attr_accessor :f5first
|
96
|
+
|
97
|
+
# The first 5 letters of the last name.
|
98
|
+
attr_accessor :f5last
|
99
|
+
|
100
|
+
# The first initial.
|
101
|
+
attr_accessor :fi
|
102
|
+
|
103
|
+
# The date of birth day.
|
104
|
+
attr_accessor :dobd
|
105
|
+
|
106
|
+
# The date of birth month.
|
107
|
+
attr_accessor :dobm
|
108
|
+
|
109
|
+
# THe date of birth year.
|
110
|
+
attr_accessor :doby
|
111
|
+
|
96
112
|
#UserData is a set of identifiers Facebook can use for targeted attribution
|
97
113
|
# @param [String] email
|
98
114
|
# @param [String] phone
|
@@ -110,10 +126,17 @@ module FacebookAds
|
|
110
126
|
# @param [String] fbc
|
111
127
|
# @param [String] fbp
|
112
128
|
# @param [String] subscription_id
|
129
|
+
# @param [String] f5first
|
130
|
+
# @param [String] f5last
|
131
|
+
# @param [String] fi
|
132
|
+
# @param [String] dobd
|
133
|
+
# @param [String] dobm
|
134
|
+
# @param [String] doby
|
113
135
|
def initialize(email: nil, phone: nil, gender: nil, date_of_birth: nil,
|
114
136
|
last_name: nil, first_name: nil, city: nil, state: nil,
|
115
137
|
country_code: nil, zip_code: nil, external_id: nil, client_ip_address: nil,
|
116
|
-
client_user_agent: nil, fbc: nil, fbp: nil, subscription_id: nil
|
138
|
+
client_user_agent: nil, fbc: nil, fbp: nil, subscription_id: nil,
|
139
|
+
f5first: nil, f5last: nil, fi: nil, dobd: nil, dobm: nil, doby: nil)
|
117
140
|
unless email.nil?
|
118
141
|
self.email = email
|
119
142
|
end
|
@@ -162,6 +185,24 @@ module FacebookAds
|
|
162
185
|
unless subscription_id.nil?
|
163
186
|
self.subscription_id = subscription_id
|
164
187
|
end
|
188
|
+
unless f5first.nil?
|
189
|
+
self.f5first = f5first
|
190
|
+
end
|
191
|
+
unless f5last.nil?
|
192
|
+
self.f5last = f5last
|
193
|
+
end
|
194
|
+
unless fi.nil?
|
195
|
+
self.fi = fi
|
196
|
+
end
|
197
|
+
unless dobd.nil?
|
198
|
+
self.dobd = dobd
|
199
|
+
end
|
200
|
+
unless dobm.nil?
|
201
|
+
self.dobm = dobm
|
202
|
+
end
|
203
|
+
unless doby.nil?
|
204
|
+
self.doby = doby
|
205
|
+
end
|
165
206
|
end
|
166
207
|
|
167
208
|
# build the object using the input hash
|
@@ -232,8 +273,28 @@ module FacebookAds
|
|
232
273
|
self.fbp = attributes[:'fbp']
|
233
274
|
end
|
234
275
|
|
235
|
-
if attributes.has_key?(:'
|
236
|
-
self.
|
276
|
+
if attributes.has_key?(:'f5first')
|
277
|
+
self.f5first = attributes[:'f5first']
|
278
|
+
end
|
279
|
+
|
280
|
+
if attributes.has_key?(:'f5last')
|
281
|
+
self.f5last = attributes[:'f5last']
|
282
|
+
end
|
283
|
+
|
284
|
+
if attributes.has_key?(:'fi')
|
285
|
+
self.fi = attributes[:'fi']
|
286
|
+
end
|
287
|
+
|
288
|
+
if attributes.has_key?(:'dobd')
|
289
|
+
self.dobd = attributes[:'dobd']
|
290
|
+
end
|
291
|
+
|
292
|
+
if attributes.has_key?(:'dobm')
|
293
|
+
self.dobm = attributes[:'dobm']
|
294
|
+
end
|
295
|
+
|
296
|
+
if attributes.has_key?(:'doby')
|
297
|
+
self.doby = attributes[:'doby']
|
237
298
|
end
|
238
299
|
end
|
239
300
|
|
@@ -256,7 +317,13 @@ module FacebookAds
|
|
256
317
|
client_user_agent == o.client_user_agent &&
|
257
318
|
fbc == o.fbc &&
|
258
319
|
fbp == o.fbp &&
|
259
|
-
subscription_id == o.subscription_id
|
320
|
+
subscription_id == o.subscription_id &&
|
321
|
+
f5first == o.f5first &&
|
322
|
+
f5last == o.f5last &&
|
323
|
+
fi == o.fi &&
|
324
|
+
dobd == o.dobd &&
|
325
|
+
dobm == o.dobm &&
|
326
|
+
doby == o.doby
|
260
327
|
end
|
261
328
|
|
262
329
|
# @see the `==` method
|
@@ -283,7 +350,13 @@ module FacebookAds
|
|
283
350
|
client_user_agent,
|
284
351
|
fbc,
|
285
352
|
fbp,
|
286
|
-
subscription_id
|
353
|
+
subscription_id,
|
354
|
+
f5first,
|
355
|
+
f5last,
|
356
|
+
fi,
|
357
|
+
dobd,
|
358
|
+
dobm,
|
359
|
+
doby,
|
287
360
|
].hash
|
288
361
|
|
289
362
|
end
|
@@ -328,6 +401,9 @@ module FacebookAds
|
|
328
401
|
unless client_ip_address.nil?
|
329
402
|
hash['client_ip_address'] = client_ip_address
|
330
403
|
end
|
404
|
+
unless client_user_agent.nil?
|
405
|
+
hash['client_user_agent'] = client_user_agent
|
406
|
+
end
|
331
407
|
unless fbc.nil?
|
332
408
|
hash['fbc'] = fbc
|
333
409
|
end
|
@@ -337,6 +413,24 @@ module FacebookAds
|
|
337
413
|
unless subscription_id.nil?
|
338
414
|
hash['subscription_id'] = subscription_id
|
339
415
|
end
|
416
|
+
unless f5first.nil?
|
417
|
+
hash['f5first'] = f5first
|
418
|
+
end
|
419
|
+
unless f5last.nil?
|
420
|
+
hash['f5last'] = f5last
|
421
|
+
end
|
422
|
+
unless fi.nil?
|
423
|
+
hash['fi'] = fi
|
424
|
+
end
|
425
|
+
unless dobd.nil?
|
426
|
+
hash['dobd'] = dobd
|
427
|
+
end
|
428
|
+
unless dobm.nil?
|
429
|
+
hash['dobm'] = dobm
|
430
|
+
end
|
431
|
+
unless doby.nil?
|
432
|
+
hash['doby'] = doby
|
433
|
+
end
|
340
434
|
hash.to_s
|
341
435
|
end
|
342
436
|
|
@@ -345,34 +439,34 @@ module FacebookAds
|
|
345
439
|
def normalize
|
346
440
|
hash = {}
|
347
441
|
unless email.nil?
|
348
|
-
hash['em'] = FacebookAds::ServerSide::normalize(email, 'em')
|
442
|
+
hash['em'] = FacebookAds::ServerSide::Util.normalize(email, 'em')
|
349
443
|
end
|
350
444
|
unless phone.nil?
|
351
|
-
hash['ph'] = FacebookAds::ServerSide::normalize(phone, 'ph')
|
445
|
+
hash['ph'] = FacebookAds::ServerSide::Util.normalize(phone, 'ph')
|
352
446
|
end
|
353
447
|
unless gender.nil?
|
354
|
-
hash['ge'] = FacebookAds::ServerSide::normalize(gender, 'ge')
|
448
|
+
hash['ge'] = FacebookAds::ServerSide::Util.normalize(gender, 'ge')
|
355
449
|
end
|
356
450
|
unless date_of_birth.nil?
|
357
|
-
hash['db'] = FacebookAds::ServerSide::normalize(date_of_birth, 'db')
|
451
|
+
hash['db'] = FacebookAds::ServerSide::Util.normalize(date_of_birth, 'db')
|
358
452
|
end
|
359
453
|
unless last_name.nil?
|
360
|
-
hash['ln'] = FacebookAds::ServerSide::normalize(last_name, 'ln')
|
454
|
+
hash['ln'] = FacebookAds::ServerSide::Util.normalize(last_name, 'ln')
|
361
455
|
end
|
362
456
|
unless first_name.nil?
|
363
|
-
hash['fn'] = FacebookAds::ServerSide::normalize(first_name, 'fn')
|
457
|
+
hash['fn'] = FacebookAds::ServerSide::Util.normalize(first_name, 'fn')
|
364
458
|
end
|
365
459
|
unless city.nil?
|
366
|
-
hash['ct'] = FacebookAds::ServerSide::normalize(city, 'ct')
|
460
|
+
hash['ct'] = FacebookAds::ServerSide::Util.normalize(city, 'ct')
|
367
461
|
end
|
368
462
|
unless country_code.nil?
|
369
|
-
hash['country'] = FacebookAds::ServerSide::normalize(country_code, 'country')
|
463
|
+
hash['country'] = FacebookAds::ServerSide::Util.normalize(country_code, 'country')
|
370
464
|
end
|
371
465
|
unless state.nil?
|
372
|
-
hash['st'] = FacebookAds::ServerSide::normalize(state, 'st')
|
466
|
+
hash['st'] = FacebookAds::ServerSide::Util.normalize(state, 'st')
|
373
467
|
end
|
374
468
|
unless zip_code.nil?
|
375
|
-
hash['zp'] = FacebookAds::ServerSide::normalize(zip_code, 'zp')
|
469
|
+
hash['zp'] = FacebookAds::ServerSide::Util.normalize(zip_code, 'zp')
|
376
470
|
end
|
377
471
|
unless external_id.nil?
|
378
472
|
hash['external_id'] = external_id
|
@@ -380,6 +474,9 @@ module FacebookAds
|
|
380
474
|
unless client_ip_address.nil?
|
381
475
|
hash['client_ip_address'] = client_ip_address
|
382
476
|
end
|
477
|
+
unless client_user_agent.nil?
|
478
|
+
hash['client_user_agent'] = client_user_agent
|
479
|
+
end
|
383
480
|
unless fbc.nil?
|
384
481
|
hash['fbc'] = fbc
|
385
482
|
end
|
@@ -389,6 +486,24 @@ module FacebookAds
|
|
389
486
|
unless subscription_id.nil?
|
390
487
|
hash['subscription_id'] = subscription_id
|
391
488
|
end
|
489
|
+
unless f5first.nil?
|
490
|
+
hash['f5first'] = FacebookAds::ServerSide::Util.normalize(f5first, 'f5first')
|
491
|
+
end
|
492
|
+
unless f5last.nil?
|
493
|
+
hash['f5last'] = FacebookAds::ServerSide::Util.normalize(f5last, 'f5last')
|
494
|
+
end
|
495
|
+
unless fi.nil?
|
496
|
+
hash['fi'] = FacebookAds::ServerSide::Util.normalize(fi, 'fi')
|
497
|
+
end
|
498
|
+
unless dobd.nil?
|
499
|
+
hash['dobd'] = FacebookAds::ServerSide::Util.normalize(dobd, 'dobd')
|
500
|
+
end
|
501
|
+
unless dobm.nil?
|
502
|
+
hash['dobm'] = FacebookAds::ServerSide::Util.normalize(dobm, 'dobm')
|
503
|
+
end
|
504
|
+
unless doby.nil?
|
505
|
+
hash['doby'] = FacebookAds::ServerSide::Util.normalize(doby, 'doby')
|
506
|
+
end
|
392
507
|
hash
|
393
508
|
end
|
394
509
|
end
|