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.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facebook_ads/ad_objects/ad.rb +0 -1
  3. data/lib/facebook_ads/ad_objects/ad_account.rb +8 -16
  4. data/lib/facebook_ads/ad_objects/ad_account_activity.rb +3 -5
  5. data/lib/facebook_ads/ad_objects/ad_account_creation_request.rb +0 -1
  6. data/lib/facebook_ads/ad_objects/ad_account_delivery_estimate.rb +1 -0
  7. data/lib/facebook_ads/ad_objects/ad_account_matched_search_applications_edge_data.rb +1 -0
  8. data/lib/facebook_ads/ad_objects/ad_account_targeting_unified.rb +4 -0
  9. data/lib/facebook_ads/ad_objects/ad_activity.rb +8 -0
  10. data/lib/facebook_ads/ad_objects/ad_asset_feed_spec.rb +7 -0
  11. data/lib/facebook_ads/ad_objects/ad_campaign_activity.rb +2 -2
  12. data/lib/facebook_ads/ad_objects/ad_campaign_delivery_estimate.rb +1 -0
  13. data/lib/facebook_ads/ad_objects/ad_creative.rb +6 -3
  14. data/lib/facebook_ads/ad_objects/{user_influence.rb → ad_creative_ad_disclaimer.rb} +4 -4
  15. data/lib/facebook_ads/ad_objects/ad_creative_link_data_call_to_action.rb +6 -0
  16. data/lib/facebook_ads/ad_objects/ad_creative_video_data.rb +1 -0
  17. data/lib/facebook_ads/ad_objects/ad_customization_rule_spec.rb +2 -0
  18. data/lib/facebook_ads/ad_objects/ad_network_analytics_sync_query_result.rb +1 -0
  19. data/lib/facebook_ads/ad_objects/ad_place_page_set.rb +1 -0
  20. data/lib/facebook_ads/ad_objects/ad_preview.rb +1 -0
  21. data/lib/facebook_ads/ad_objects/ad_report_run.rb +2 -0
  22. data/lib/facebook_ads/ad_objects/ad_set.rb +10 -2
  23. data/lib/facebook_ads/ad_objects/ad_study.rb +1 -0
  24. data/lib/facebook_ads/ad_objects/ad_video.rb +7 -26
  25. data/lib/facebook_ads/ad_objects/adgroup_activity.rb +4 -4
  26. data/lib/facebook_ads/ad_objects/adgroup_placement_specific_review_feedback.rb +5 -0
  27. data/lib/facebook_ads/ad_objects/{ads_interest.rb → adoptable_pet.rb} +18 -5
  28. data/lib/facebook_ads/ad_objects/ads_insights.rb +10 -0
  29. data/lib/facebook_ads/ad_objects/album.rb +7 -0
  30. data/lib/facebook_ads/ad_objects/application.rb +4 -12
  31. data/lib/facebook_ads/ad_objects/atlas_campaign.rb +2 -2
  32. data/lib/facebook_ads/ad_objects/automotive_model.rb +1 -0
  33. data/lib/facebook_ads/ad_objects/business.rb +24 -128
  34. data/lib/facebook_ads/ad_objects/{business_creative_folder_sharing_agreement.rb → business_agreement.rb} +2 -5
  35. data/lib/facebook_ads/ad_objects/business_asset_group.rb +0 -7
  36. data/lib/facebook_ads/ad_objects/business_owned_object_on_behalf_of_request.rb +1 -0
  37. data/lib/facebook_ads/ad_objects/business_role_request.rb +6 -0
  38. data/lib/facebook_ads/ad_objects/business_user.rb +6 -0
  39. data/lib/facebook_ads/ad_objects/campaign.rb +267 -5
  40. data/lib/facebook_ads/ad_objects/{request_history.rb → catalog_item_app_links.rb} +9 -14
  41. data/lib/facebook_ads/ad_objects/catalog_item_appeal_status.rb +1 -1
  42. data/lib/facebook_ads/ad_objects/comment.rb +1 -0
  43. data/lib/facebook_ads/ad_objects/commerce_merchant_settings.rb +107 -0
  44. data/lib/facebook_ads/ad_objects/commerce_merchant_settings_setup_status.rb +41 -0
  45. data/lib/facebook_ads/ad_objects/commerce_order.rb +147 -0
  46. data/lib/facebook_ads/ad_objects/{business_creative.rb → commerce_order_transaction_detail.rb} +10 -12
  47. data/lib/facebook_ads/ad_objects/{client_transparency_status.rb → commerce_payout.rb} +6 -5
  48. data/lib/facebook_ads/ad_objects/cpas_parent_catalog_settings.rb +1 -0
  49. data/lib/facebook_ads/ad_objects/custom_audience.rb +1 -4
  50. data/lib/facebook_ads/ad_objects/custom_conversion.rb +1 -0
  51. data/lib/facebook_ads/ad_objects/destination.rb +1 -0
  52. data/lib/facebook_ads/ad_objects/event.rb +11 -0
  53. data/lib/facebook_ads/ad_objects/external_event_source.rb +1 -0
  54. data/lib/facebook_ads/ad_objects/flight.rb +1 -0
  55. data/lib/facebook_ads/ad_objects/group.rb +7 -36
  56. data/lib/facebook_ads/ad_objects/home_listing.rb +1 -0
  57. data/lib/facebook_ads/ad_objects/hotel.rb +1 -1
  58. data/lib/facebook_ads/ad_objects/hotel_room.rb +1 -0
  59. data/lib/facebook_ads/ad_objects/ig_media.rb +1 -0
  60. data/lib/facebook_ads/ad_objects/ig_user.rb +2 -0
  61. data/lib/facebook_ads/ad_objects/life_event.rb +0 -4
  62. data/lib/facebook_ads/ad_objects/media_fingerprint.rb +0 -1
  63. data/lib/facebook_ads/ad_objects/messenger_profile.rb +0 -1
  64. data/lib/facebook_ads/ad_objects/offline_conversion_data_set.rb +0 -6
  65. data/lib/facebook_ads/ad_objects/open_graph_context.rb +0 -12
  66. data/lib/facebook_ads/ad_objects/page.rb +50 -50
  67. data/lib/facebook_ads/ad_objects/page_admin_note.rb +1 -0
  68. data/lib/facebook_ads/ad_objects/page_call_to_action.rb +12 -0
  69. data/lib/facebook_ads/ad_objects/page_change_proposal.rb +2 -0
  70. data/lib/facebook_ads/ad_objects/page_post.rb +9 -0
  71. data/lib/facebook_ads/ad_objects/partner_study.rb +0 -4
  72. data/lib/facebook_ads/ad_objects/{brand_audience.rb → payment_subscription.rb} +23 -9
  73. data/lib/facebook_ads/ad_objects/post.rb +11 -2
  74. data/lib/facebook_ads/ad_objects/product_catalog.rb +12 -1
  75. data/lib/facebook_ads/ad_objects/product_feed.rb +2 -0
  76. data/lib/facebook_ads/ad_objects/product_feed_upload_diagnostics_report.rb +38 -0
  77. data/lib/facebook_ads/ad_objects/product_item.rb +1 -0
  78. data/lib/facebook_ads/ad_objects/product_set.rb +3 -0
  79. data/lib/facebook_ads/ad_objects/{custom_audience_prefill_state.rb → product_set_metadata.rb} +3 -3
  80. data/lib/facebook_ads/ad_objects/profile.rb +2 -0
  81. data/lib/facebook_ads/ad_objects/profile_picture_source.rb +4 -0
  82. data/lib/facebook_ads/ad_objects/publisher_block_list.rb +0 -6
  83. data/lib/facebook_ads/ad_objects/rtb_dynamic_post.rb +0 -4
  84. data/lib/facebook_ads/ad_objects/saved_audience.rb +1 -0
  85. data/lib/facebook_ads/ad_objects/server_side/content.rb +75 -13
  86. data/lib/facebook_ads/ad_objects/server_side/custom_data.rb +24 -6
  87. data/lib/facebook_ads/ad_objects/server_side/event.rb +62 -3
  88. data/lib/facebook_ads/ad_objects/server_side/event_request.rb +80 -6
  89. data/lib/facebook_ads/ad_objects/server_side/user_data.rb +132 -17
  90. data/lib/facebook_ads/ad_objects/server_side/util.rb +204 -150
  91. data/lib/facebook_ads/ad_objects/store_catalog_settings.rb +0 -1
  92. data/lib/facebook_ads/ad_objects/system_user.rb +6 -0
  93. data/lib/facebook_ads/ad_objects/targeting.rb +1 -0
  94. data/lib/facebook_ads/ad_objects/{creative_asset_tag.rb → targeting_relaxation.rb} +2 -2
  95. data/lib/facebook_ads/ad_objects/third_party_measurement_report_dataset.rb +1 -0
  96. data/lib/facebook_ads/ad_objects/user.rb +6 -38
  97. data/lib/facebook_ads/ad_objects/user_taggable_friend.rb +1 -0
  98. data/lib/facebook_ads/ad_objects/vehicle.rb +1 -1
  99. data/lib/facebook_ads/ad_objects/vehicle_offer.rb +1 -0
  100. data/lib/facebook_ads/ad_objects/whats_app_business_account.rb +4 -0
  101. data/lib/facebook_ads/ad_objects/{business_pixel_tos.rb → work_meeting_link.rb} +2 -2
  102. data/lib/facebook_ads/version.rb +2 -2
  103. metadata +45 -22
  104. data/lib/facebook_ads/ad_objects/business_creative_folder.rb +0 -79
  105. data/lib/facebook_ads/ad_objects/business_image.rb +0 -94
  106. data/lib/facebook_ads/ad_objects/instagram_comment.rb +0 -47
  107. data/lib/facebook_ads/ad_objects/messenger_platform_referral.rb +0 -39
  108. data/lib/facebook_ads/ad_objects/open_graph_object.rb +0 -70
  109. data/lib/facebook_ads/ad_objects/streaming_reaction.rb +0 -50
  110. data/lib/facebook_ads/ad_objects/video_game_show.rb +0 -43
  111. 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
- def initialize(pixel_id: nil, events: nil, test_event_code: nil, partner_agent: nil)
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
- [events, test_event_code, partner_agent].hash
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?(:'subscription_id')
236
- self.subscription_id = attributes[:'subscription_id']
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