@segment/action-destinations 3.262.0 → 3.263.0-staging-6ab80714d

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.
Files changed (85) hide show
  1. package/dist/destinations/amazon-ads/utils.d.ts +25 -0
  2. package/dist/destinations/amazon-ads/utils.js +8 -0
  3. package/dist/destinations/amazon-ads/utils.js.map +1 -0
  4. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
  5. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
  6. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
  7. package/dist/destinations/customerio/utils.d.ts +1 -1
  8. package/dist/destinations/engage/sendgrid/Profile.d.ts +6 -0
  9. package/dist/destinations/engage/sendgrid/Profile.js +3 -0
  10. package/dist/destinations/engage/sendgrid/Profile.js.map +1 -0
  11. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +18 -0
  12. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +94 -0
  13. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -0
  14. package/dist/destinations/engage/utils/track.d.ts +17 -17
  15. package/dist/destinations/hubspot/upsertCompany/index.js +10 -1
  16. package/dist/destinations/hubspot/upsertCompany/index.js.map +1 -1
  17. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
  18. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
  19. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
  20. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
  21. package/dist/destinations/klaviyo/removeProfileToList/index.js +42 -0
  22. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
  23. package/dist/destinations/koala/identify/index.js +6 -1
  24. package/dist/destinations/koala/identify/index.js.map +1 -1
  25. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  26. package/dist/destinations/mixpanel/utils.js +117 -0
  27. package/dist/destinations/mixpanel/utils.js.map +1 -0
  28. package/dist/destinations/responsys/index.js +6 -2
  29. package/dist/destinations/responsys/index.js.map +1 -1
  30. package/dist/destinations/responsys/sendAudience/generated-types.d.ts +1 -1
  31. package/dist/destinations/responsys/sendAudience/index.js +14 -4
  32. package/dist/destinations/responsys/sendAudience/index.js.map +1 -1
  33. package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +1 -1
  34. package/dist/destinations/responsys/sendCustomTraits/index.js +14 -4
  35. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -1
  36. package/dist/destinations/responsys/utils.d.ts +2 -2
  37. package/dist/destinations/responsys/utils.js +21 -5
  38. package/dist/destinations/responsys/utils.js.map +1 -1
  39. package/dist/destinations/salesforce/generated-types.d.ts +2 -0
  40. package/dist/destinations/salesforce/index.d.ts +1 -1
  41. package/dist/destinations/salesforce/index.js +22 -10
  42. package/dist/destinations/salesforce/index.js.map +1 -1
  43. package/dist/destinations/salesforce/sf-operations.d.ts +3 -1
  44. package/dist/destinations/salesforce/sf-operations.js +25 -0
  45. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  46. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
  47. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
  48. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
  49. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
  50. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +504 -0
  51. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
  52. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
  53. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
  54. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
  55. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +30 -0
  56. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +316 -0
  57. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -0
  58. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.d.ts +3 -0
  59. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js +34 -0
  60. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +1 -0
  61. package/dist/destinations/trackey/group.types.d.ts +11 -0
  62. package/dist/destinations/trackey/group.types.js +3 -0
  63. package/dist/destinations/trackey/group.types.js.map +1 -0
  64. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  65. package/dist/destinations/trackey/identify.types.js +3 -0
  66. package/dist/destinations/trackey/identify.types.js.map +1 -0
  67. package/dist/destinations/trackey/track.types.d.ts +12 -0
  68. package/dist/destinations/trackey/track.types.js +3 -0
  69. package/dist/destinations/trackey/track.types.js.map +1 -0
  70. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.d.ts +4 -0
  71. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js +3 -0
  72. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js.map +1 -0
  73. package/dist/destinations/yahoo-audiences/createCustomerNode/index.d.ts +5 -0
  74. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js +26 -0
  75. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js.map +1 -0
  76. package/dist/destinations/yahoo-audiences/createSegment/generated-types.d.ts +6 -0
  77. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js +3 -0
  78. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js.map +1 -0
  79. package/dist/destinations/yahoo-audiences/createSegment/index.d.ts +5 -0
  80. package/dist/destinations/yahoo-audiences/createSegment/index.js +38 -0
  81. package/dist/destinations/yahoo-audiences/createSegment/index.js.map +1 -0
  82. package/dist/destinations/yahoo-audiences/utils.d.ts +4 -0
  83. package/dist/destinations/yahoo-audiences/utils.js +30 -0
  84. package/dist/destinations/yahoo-audiences/utils.js.map +1 -0
  85. package/package.json +3 -3
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.capiV3tests = void 0;
7
+ const nock_1 = __importDefault(require("nock"));
8
+ const actions_core_1 = require("@segment/actions-core");
9
+ const index_1 = __importDefault(require("../index"));
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const timestamp = '2022-05-12T15:21:15.449Z';
12
+ const settings = {
13
+ snap_app_id: 'test123',
14
+ pixel_id: 'test123',
15
+ app_id: 'test123'
16
+ };
17
+ const accessToken = 'test123';
18
+ const refreshToken = 'test123';
19
+ const testEvent = actions_core_1.createTestEvent({
20
+ timestamp: timestamp,
21
+ messageId: 'test-message-rv4t40s898k',
22
+ event: 'PURCHASE',
23
+ type: 'track',
24
+ properties: {
25
+ email: ' Test123@gmail.com ',
26
+ phone: '+44 844 412 4653',
27
+ event_tag: 'back-to-school',
28
+ number_items: 10,
29
+ revenue: '15',
30
+ currency: 'USD',
31
+ level: 3
32
+ }
33
+ });
34
+ const features = {
35
+ ['actions-snap-api-migration-test-capiv3']: false,
36
+ ['actions-snap-api-migration-use-capiv3']: true
37
+ };
38
+ const capiV3tests = () => describe('CAPIv3 Implementation', () => {
39
+ it('should use products array over number_items, product_id and category fields', async () => {
40
+ nock_1.default(/.*/).post(/.*/).reply(200);
41
+ const event = actions_core_1.createTestEvent({
42
+ ...testEvent,
43
+ properties: {
44
+ email: 'test123@gmail.com',
45
+ phone: '+44 844 412 4653',
46
+ event_tag: 'back-to-school',
47
+ quantity: 10,
48
+ revenue: '15',
49
+ currency: 'USD',
50
+ level: 3,
51
+ products: [
52
+ { product_id: '123', category: 'games', brand: 'Hasbro' },
53
+ { product_id: '456', category: 'games', brand: 'Mattel' }
54
+ ]
55
+ },
56
+ context: {}
57
+ });
58
+ const responses = await testDestination.testAction('reportConversionEvent', {
59
+ event,
60
+ settings,
61
+ useDefaultMappings: true,
62
+ auth: {
63
+ accessToken,
64
+ refreshToken
65
+ },
66
+ features,
67
+ mapping: {
68
+ event_type: 'PURCHASE',
69
+ event_conversion_type: 'WEB'
70
+ }
71
+ });
72
+ expect(responses).not.toBeNull();
73
+ expect(responses[0].status).toBe(200);
74
+ const body = JSON.parse(responses[0].options.body);
75
+ const { data } = body;
76
+ expect(data.length).toBe(1);
77
+ const { integration, event_name, event_time, user_data, custom_data, action_source, app_data } = data[0];
78
+ const { em, ph } = user_data;
79
+ const { brands, content_category, content_ids, currency, num_items, value } = custom_data;
80
+ expect(integration).toBe('segment');
81
+ expect(event_name).toBe('PURCHASE');
82
+ expect(event_time).toBe(1652368875449);
83
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
84
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
85
+ expect(currency).toBe('USD');
86
+ expect(value).toBe(15);
87
+ expect(action_source).toBe('website');
88
+ expect(app_data).toBeUndefined();
89
+ expect(brands).toEqual(['Hasbro', 'Mattel']);
90
+ expect(content_category).toEqual(['games', 'games']);
91
+ expect(content_ids).toEqual(['123', '456']);
92
+ expect(num_items).toBe(2);
93
+ });
94
+ it('should handle a basic event', async () => {
95
+ nock_1.default(/.*/).post(/.*/).reply(200);
96
+ const event = actions_core_1.createTestEvent(testEvent);
97
+ const responses = await testDestination.testAction('reportConversionEvent', {
98
+ event,
99
+ settings,
100
+ useDefaultMappings: true,
101
+ auth: {
102
+ accessToken,
103
+ refreshToken
104
+ },
105
+ features,
106
+ mapping: {
107
+ event_type: 'PURCHASE',
108
+ event_conversion_type: 'WEB'
109
+ }
110
+ });
111
+ expect(responses).not.toBeNull();
112
+ expect(responses[0].status).toBe(200);
113
+ const body = JSON.parse(responses[0].options.body);
114
+ const { data } = body;
115
+ expect(data.length).toBe(1);
116
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
117
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
118
+ const { currency, value } = custom_data;
119
+ expect(integration).toBe('segment');
120
+ expect(event_name).toBe('PURCHASE');
121
+ expect(event_source_url).toBe('https://segment.com/academy/');
122
+ expect(event_time).toBe(1652368875449);
123
+ expect(client_ip_address).toBe('8.8.8.8');
124
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
125
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
126
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
127
+ expect(currency).toBe('USD');
128
+ expect(value).toBe(15);
129
+ expect(action_source).toBe('website');
130
+ expect(app_data).toBeUndefined();
131
+ });
132
+ it('should fail web event without pixel_id', async () => {
133
+ nock_1.default(/.*/).post(/.*/).reply(200);
134
+ const event = actions_core_1.createTestEvent(testEvent);
135
+ await expect(testDestination.testAction('reportConversionEvent', {
136
+ event,
137
+ settings: {
138
+ snap_app_id: 'test123'
139
+ },
140
+ useDefaultMappings: true,
141
+ auth: {
142
+ accessToken,
143
+ refreshToken
144
+ },
145
+ features,
146
+ mapping: {
147
+ event_type: 'PURCHASE',
148
+ event_conversion_type: 'WEB'
149
+ }
150
+ })).rejects.toThrowError('If event conversion type is "WEB" then Pixel ID must be defined');
151
+ });
152
+ it('should fail app event without snap_app_id', async () => {
153
+ nock_1.default(/.*/).post(/.*/).reply(200);
154
+ const event = actions_core_1.createTestEvent(testEvent);
155
+ await expect(testDestination.testAction('reportConversionEvent', {
156
+ event,
157
+ settings: {
158
+ pixel_id: 'test123',
159
+ app_id: 'test123'
160
+ },
161
+ useDefaultMappings: true,
162
+ auth: {
163
+ accessToken,
164
+ refreshToken
165
+ },
166
+ features,
167
+ mapping: {
168
+ event_type: 'PURCHASE',
169
+ event_conversion_type: 'MOBILE_APP'
170
+ }
171
+ })).rejects.toThrowError('If event conversion type is "MOBILE_APP" then Snap App ID and App ID must be defined');
172
+ });
173
+ it('should handle an offline event conversion type', async () => {
174
+ nock_1.default(/.*/).post(/.*/).reply(200);
175
+ const event = actions_core_1.createTestEvent(testEvent);
176
+ const responses = await testDestination.testAction('reportConversionEvent', {
177
+ event,
178
+ settings,
179
+ useDefaultMappings: true,
180
+ auth: {
181
+ accessToken,
182
+ refreshToken
183
+ },
184
+ features,
185
+ mapping: {
186
+ event_type: 'SAVE',
187
+ event_conversion_type: 'OFFLINE'
188
+ }
189
+ });
190
+ expect(responses).not.toBeNull();
191
+ expect(responses[0].status).toBe(200);
192
+ const body = JSON.parse(responses[0].options.body);
193
+ const { data } = body;
194
+ expect(data.length).toBe(1);
195
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
196
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
197
+ const { currency, value } = custom_data;
198
+ expect(integration).toBe('segment');
199
+ expect(event_name).toBe('SAVE');
200
+ expect(event_source_url).toBe('https://segment.com/academy/');
201
+ expect(event_time).toBe(1652368875449);
202
+ expect(client_ip_address).toBe('8.8.8.8');
203
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
204
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
205
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
206
+ expect(currency).toBe('USD');
207
+ expect(value).toBe(15);
208
+ expect(action_source).toBe('OFFLINE');
209
+ expect(app_data).toBeUndefined();
210
+ });
211
+ it('should handle a mobile app event conversion type', async () => {
212
+ nock_1.default(/.*/).post(/.*/).reply(200);
213
+ const event = actions_core_1.createTestEvent(testEvent);
214
+ const responses = await testDestination.testAction('reportConversionEvent', {
215
+ event,
216
+ settings: {
217
+ snap_app_id: '123',
218
+ app_id: '123'
219
+ },
220
+ useDefaultMappings: true,
221
+ auth: {
222
+ accessToken,
223
+ refreshToken
224
+ },
225
+ features,
226
+ mapping: {
227
+ device_model: 'iPhone12,1',
228
+ os_version: '17.2',
229
+ event_type: 'SAVE',
230
+ event_conversion_type: 'MOBILE_APP'
231
+ }
232
+ });
233
+ expect(responses[0].status).toBe(200);
234
+ const body = JSON.parse(responses[0].options.body);
235
+ const { data } = body;
236
+ expect(data.length).toBe(1);
237
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
238
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
239
+ const { currency, value } = custom_data;
240
+ const { extinfo, advertiser_tracking_enabled } = app_data;
241
+ expect(integration).toBe('segment');
242
+ expect(event_name).toBe('SAVE');
243
+ expect(event_source_url).toBe('https://segment.com/academy/');
244
+ expect(event_time).toBe(1652368875449);
245
+ expect(client_ip_address).toBe('8.8.8.8');
246
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
247
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
248
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
249
+ expect(currency).toBe('USD');
250
+ expect(value).toBe(15);
251
+ expect(action_source).toBe('app');
252
+ expect(extinfo).toEqual(['i2', '', '', '', '17.2', 'iPhone12,1', '', '', '', '', '', '', '', '', '', '']);
253
+ expect(advertiser_tracking_enabled).toBe(0);
254
+ });
255
+ it('should fail invalid currency', async () => {
256
+ nock_1.default(/.*/).post(/.*/).reply(200);
257
+ const event = actions_core_1.createTestEvent({
258
+ ...testEvent,
259
+ properties: {
260
+ currency: 'Galleon'
261
+ }
262
+ });
263
+ await expect(testDestination.testAction('reportConversionEvent', {
264
+ event,
265
+ settings,
266
+ useDefaultMappings: true,
267
+ auth: {
268
+ accessToken,
269
+ refreshToken
270
+ },
271
+ features,
272
+ mapping: {
273
+ event_type: 'PURCHASE',
274
+ event_conversion_type: 'WEB'
275
+ }
276
+ })).rejects.toThrowError('Galleon is not a valid currency code.');
277
+ });
278
+ it('should fail missing event conversion type', async () => {
279
+ nock_1.default(/.*/).post(/.*/).reply(200);
280
+ const event = actions_core_1.createTestEvent(testEvent);
281
+ await expect(testDestination.testAction('reportConversionEvent', {
282
+ event,
283
+ settings,
284
+ useDefaultMappings: true,
285
+ auth: {
286
+ accessToken,
287
+ refreshToken
288
+ },
289
+ features,
290
+ mapping: {
291
+ event_type: 'PURCHASE'
292
+ }
293
+ })).rejects.toThrowError("The root value is missing the required field 'event_conversion_type'.");
294
+ });
295
+ it('should handle a custom event', async () => {
296
+ nock_1.default(/.*/).post(/.*/).reply(200);
297
+ const event = actions_core_1.createTestEvent({
298
+ ...testEvent,
299
+ event: 'CUSTOM_EVENT_5'
300
+ });
301
+ const responses = await testDestination.testAction('reportConversionEvent', {
302
+ event,
303
+ settings: {
304
+ snap_app_id: '123',
305
+ app_id: '123'
306
+ },
307
+ useDefaultMappings: true,
308
+ auth: {
309
+ accessToken,
310
+ refreshToken
311
+ },
312
+ features,
313
+ mapping: {
314
+ event_type: { '@path': '$.event' },
315
+ event_conversion_type: 'MOBILE_APP'
316
+ }
317
+ });
318
+ expect(responses).not.toBeNull();
319
+ expect(responses[0].status).toBe(200);
320
+ const body = JSON.parse(responses[0].options.body);
321
+ const { data } = body;
322
+ expect(data.length).toBe(1);
323
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
324
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
325
+ const { currency, value } = custom_data;
326
+ const { app_id, advertiser_tracking_enabled } = app_data;
327
+ expect(integration).toBe('segment');
328
+ expect(event_name).toBe('CUSTOM_EVENT_5');
329
+ expect(event_source_url).toBe('https://segment.com/academy/');
330
+ expect(event_time).toBe(1652368875449);
331
+ expect(client_ip_address).toBe('8.8.8.8');
332
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
333
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
334
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
335
+ expect(currency).toBe('USD');
336
+ expect(value).toBe(15);
337
+ expect(action_source).toBe('app');
338
+ expect(app_id).toBe('123');
339
+ expect(advertiser_tracking_enabled).toBe(0);
340
+ });
341
+ it('should fail event missing all Snap identifiers', async () => {
342
+ const event = actions_core_1.createTestEvent({
343
+ ...testEvent,
344
+ properties: {},
345
+ context: {}
346
+ });
347
+ await expect(testDestination.testAction('reportConversionEvent', {
348
+ event,
349
+ settings,
350
+ useDefaultMappings: true,
351
+ auth: {
352
+ accessToken,
353
+ refreshToken
354
+ },
355
+ features,
356
+ mapping: {
357
+ event_type: 'PURCHASE',
358
+ event_conversion_type: 'WEB'
359
+ }
360
+ })).rejects.toThrowError('Payload must contain values for Email or Phone Number or Mobile Ad Identifier or both IP Address and User Agent fields');
361
+ });
362
+ it('should handle event with email as only Snap identifier', async () => {
363
+ nock_1.default(/.*/).post(/.*/).reply(200);
364
+ const event = actions_core_1.createTestEvent({
365
+ ...testEvent,
366
+ properties: {
367
+ email: 'test123@gmail.com'
368
+ },
369
+ context: {}
370
+ });
371
+ const responses = await testDestination.testAction('reportConversionEvent', {
372
+ event,
373
+ settings,
374
+ useDefaultMappings: true,
375
+ auth: {
376
+ accessToken,
377
+ refreshToken
378
+ },
379
+ features,
380
+ mapping: {
381
+ event_type: 'PURCHASE',
382
+ event_conversion_type: 'WEB'
383
+ }
384
+ });
385
+ expect(responses).not.toBeNull();
386
+ expect(responses[0].status).toBe(200);
387
+ const body = JSON.parse(responses[0].options.body);
388
+ const { data } = body;
389
+ expect(data.length).toBe(1);
390
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
391
+ const { em, ph } = user_data;
392
+ expect(integration).toBe('segment');
393
+ expect(event_name).toBe('PURCHASE');
394
+ expect(event_time).toBe(1652368875449);
395
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
396
+ expect(ph).toBeUndefined();
397
+ expect(action_source).toBe('website');
398
+ });
399
+ it('should handle event with phone as only Snap identifier', async () => {
400
+ nock_1.default(/.*/).post(/.*/).reply(200);
401
+ const event = actions_core_1.createTestEvent({
402
+ ...testEvent,
403
+ properties: {
404
+ phone: '+44 844 412 4653'
405
+ },
406
+ context: {}
407
+ });
408
+ const responses = await testDestination.testAction('reportConversionEvent', {
409
+ event,
410
+ settings,
411
+ useDefaultMappings: true,
412
+ auth: {
413
+ accessToken,
414
+ refreshToken
415
+ },
416
+ features,
417
+ mapping: {
418
+ event_type: 'PURCHASE',
419
+ event_conversion_type: 'WEB'
420
+ }
421
+ });
422
+ const body = JSON.parse(responses[0].options.body);
423
+ const { data } = body;
424
+ expect(data.length).toBe(1);
425
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
426
+ const { ph } = user_data;
427
+ expect(integration).toBe('segment');
428
+ expect(event_name).toBe('PURCHASE');
429
+ expect(event_time).toBe(1652368875449);
430
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
431
+ expect(action_source).toBe('website');
432
+ });
433
+ it('should handle event with advertising_id as only Snap identifier', async () => {
434
+ nock_1.default(/.*/).post(/.*/).reply(200);
435
+ const advertisingId = '87a7def4-b6e9-4bf7-91b6-66372842007a';
436
+ const event = actions_core_1.createTestEvent({
437
+ ...testEvent,
438
+ properties: {},
439
+ context: {
440
+ device: {
441
+ advertisingId
442
+ }
443
+ }
444
+ });
445
+ const responses = await testDestination.testAction('reportConversionEvent', {
446
+ event,
447
+ settings,
448
+ useDefaultMappings: true,
449
+ auth: {
450
+ accessToken,
451
+ refreshToken
452
+ },
453
+ features,
454
+ mapping: {
455
+ event_type: 'PURCHASE',
456
+ event_conversion_type: 'WEB'
457
+ }
458
+ });
459
+ const body = JSON.parse(responses[0].options.body);
460
+ const { data } = body;
461
+ expect(data.length).toBe(1);
462
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
463
+ const { madid } = user_data;
464
+ expect(integration).toBe('segment');
465
+ expect(event_name).toBe('PURCHASE');
466
+ expect(event_time).toBe(1652368875449);
467
+ expect(madid).toBe(advertisingId);
468
+ expect(action_source).toBe('website');
469
+ });
470
+ it('should handle event with ip and user_agent as only Snap identifiers', async () => {
471
+ nock_1.default(/.*/).post(/.*/).reply(200);
472
+ const event = actions_core_1.createTestEvent({
473
+ ...testEvent,
474
+ properties: {}
475
+ });
476
+ const responses = await testDestination.testAction('reportConversionEvent', {
477
+ event,
478
+ settings,
479
+ useDefaultMappings: true,
480
+ auth: {
481
+ accessToken,
482
+ refreshToken
483
+ },
484
+ features,
485
+ mapping: {
486
+ event_type: 'PURCHASE',
487
+ event_conversion_type: 'WEB'
488
+ }
489
+ });
490
+ const body = JSON.parse(responses[0].options.body);
491
+ const { data } = body;
492
+ expect(data.length).toBe(1);
493
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
494
+ const { client_ip_address, client_user_agent } = user_data;
495
+ expect(integration).toBe('segment');
496
+ expect(event_name).toBe('PURCHASE');
497
+ expect(event_time).toBe(1652368875449);
498
+ expect(client_ip_address).toBe('8.8.8.8');
499
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
500
+ expect(action_source).toBe('website');
501
+ });
502
+ });
503
+ exports.capiV3tests = capiV3tests;
504
+ //# sourceMappingURL=capiV3tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capiV3tests.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/_tests_/capiV3tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ExecuteInput, ModifiedResponse, RequestClient } from '@segment/actions-core';
2
+ import { Settings } from '../generated-types';
3
+ import { Payload } from './generated-types';
4
+ export declare const performSnapCAPIv2: (request: RequestClient, data: ExecuteInput<Settings, Payload>) => Promise<ModifiedResponse<unknown>>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.performSnapCAPIv2 = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const snap_capi_properties_1 = require("../snap-capi-properties");
6
+ const utils_1 = require("./utils");
7
+ const conversionType = (oldSettings, event_conversion_type) => {
8
+ const settings = { ...oldSettings };
9
+ if (event_conversion_type === 'MOBILE_APP') {
10
+ if (!settings?.snap_app_id || !settings?.app_id) {
11
+ throw new actions_core_1.IntegrationError('If event conversion type is "MOBILE_APP" then Snap App ID and App ID must be defined', 'Misconfigured required field', 400);
12
+ }
13
+ delete settings?.pixel_id;
14
+ }
15
+ else {
16
+ if (!settings?.pixel_id) {
17
+ throw new actions_core_1.IntegrationError(`If event conversion type is "${event_conversion_type}" then Pixel ID must be defined`, 'Misconfigured required field', 400);
18
+ }
19
+ delete settings?.snap_app_id;
20
+ delete settings?.app_id;
21
+ }
22
+ return settings;
23
+ };
24
+ const formatPayload = (oldPayload) => {
25
+ const payload = { ...oldPayload };
26
+ if (payload.email) {
27
+ payload.email = payload.email.replace(/\s/g, '').toLowerCase();
28
+ }
29
+ if (payload.phone_number) {
30
+ payload.phone_number = payload.phone_number.replace(/\D|^0+/g, '');
31
+ }
32
+ if (payload.mobile_ad_id) {
33
+ payload.mobile_ad_id = payload.mobile_ad_id.toLowerCase();
34
+ }
35
+ let item_ids = undefined;
36
+ let item_category = undefined;
37
+ let brands = undefined;
38
+ const p = payload?.products;
39
+ if (p && Array.isArray(p) && p.length > 0) {
40
+ item_ids = utils_1.transformProperty('item_id', p);
41
+ item_category = utils_1.transformProperty('item_category', p);
42
+ brands = p.map((product) => product.brand ?? '');
43
+ }
44
+ return {
45
+ event_type: payload?.event_type,
46
+ event_conversion_type: payload?.event_conversion_type,
47
+ event_tag: payload?.event_tag,
48
+ timestamp: Date.parse(payload?.timestamp),
49
+ hashed_email: utils_1.isHashedEmail(String(payload?.email)) ? payload?.email : utils_1.hash(payload?.email),
50
+ hashed_mobile_ad_id: utils_1.hash(payload?.mobile_ad_id),
51
+ uuid_c1: payload?.uuid_c1,
52
+ hashed_idfv: utils_1.hash(payload?.idfv),
53
+ hashed_phone_number: utils_1.hash(payload?.phone_number),
54
+ user_agent: payload?.user_agent,
55
+ hashed_ip_address: utils_1.hash(payload?.ip_address),
56
+ item_category: item_category ?? payload?.item_category,
57
+ brands: brands ?? payload?.brands,
58
+ item_ids: item_ids ?? payload?.item_ids,
59
+ description: payload?.description,
60
+ number_items: payload?.number_items,
61
+ price: payload?.price,
62
+ currency: payload?.currency,
63
+ transaction_id: payload?.transaction_id,
64
+ level: payload?.level,
65
+ client_dedup_id: payload?.client_dedup_id,
66
+ search_string: payload?.search_string,
67
+ page_url: payload?.page_url,
68
+ sign_up_method: payload?.sign_up_method,
69
+ device_model: payload?.device_model,
70
+ os_version: payload?.os_version,
71
+ click_id: payload?.click_id
72
+ };
73
+ };
74
+ const CONVERSION_EVENT_URL = 'https://tr.snapchat.com/v2/conversion';
75
+ const performSnapCAPIv2 = (request, data) => {
76
+ if (data.payload.currency && !snap_capi_properties_1.CURRENCY_ISO_4217_CODES.has(data.payload.currency.toUpperCase())) {
77
+ throw new actions_core_1.IntegrationError(`${data.payload.currency} is not a valid currency code.`, 'Misconfigured required field', 400);
78
+ }
79
+ if (!data.payload.email &&
80
+ !data.payload.phone_number &&
81
+ !data.payload.mobile_ad_id &&
82
+ (!data.payload.ip_address || !data.payload.user_agent)) {
83
+ throw new actions_core_1.IntegrationError(`Payload must contain values for Email or Phone Number or Mobile Ad Identifier or both IP Address and User Agent fields`, 'Misconfigured required field', 400);
84
+ }
85
+ const payload = formatPayload(data.payload);
86
+ const settings = conversionType(data.settings, data.payload.event_conversion_type);
87
+ return request(CONVERSION_EVENT_URL, {
88
+ method: 'post',
89
+ json: {
90
+ integration: 'segment',
91
+ ...payload,
92
+ ...settings
93
+ }
94
+ });
95
+ };
96
+ exports.performSnapCAPIv2 = performSnapCAPIv2;
97
+ //# sourceMappingURL=snap-capi-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap-capi-v2.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.ts"],"names":[],"mappings":"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"}