@segment/action-destinations 3.244.0 → 3.246.0-snap-connector

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 (118) hide show
  1. package/dist/destinations/customerio/deleteObject/generated-types.d.ts +4 -0
  2. package/dist/destinations/customerio/deleteObject/generated-types.js +3 -0
  3. package/dist/destinations/customerio/deleteObject/generated-types.js.map +1 -0
  4. package/dist/destinations/customerio/deleteObject/index.d.ts +5 -0
  5. package/dist/destinations/customerio/deleteObject/index.js +48 -0
  6. package/dist/destinations/customerio/deleteObject/index.js.map +1 -0
  7. package/dist/destinations/customerio/deletePerson/generated-types.d.ts +3 -0
  8. package/dist/destinations/customerio/deletePerson/generated-types.js +3 -0
  9. package/dist/destinations/customerio/deletePerson/generated-types.js.map +1 -0
  10. package/dist/destinations/customerio/deletePerson/index.d.ts +5 -0
  11. package/dist/destinations/customerio/deletePerson/index.js +41 -0
  12. package/dist/destinations/customerio/deletePerson/index.js.map +1 -0
  13. package/dist/destinations/customerio/deleteRelationship/generated-types.d.ts +6 -0
  14. package/dist/destinations/customerio/deleteRelationship/generated-types.js +3 -0
  15. package/dist/destinations/customerio/deleteRelationship/generated-types.js.map +1 -0
  16. package/dist/destinations/customerio/deleteRelationship/index.d.ts +5 -0
  17. package/dist/destinations/customerio/deleteRelationship/index.js +82 -0
  18. package/dist/destinations/customerio/deleteRelationship/index.js.map +1 -0
  19. package/dist/destinations/customerio/mergePeople/generated-types.d.ts +4 -0
  20. package/dist/destinations/customerio/mergePeople/generated-types.js +3 -0
  21. package/dist/destinations/customerio/mergePeople/generated-types.js.map +1 -0
  22. package/dist/destinations/customerio/mergePeople/index.d.ts +5 -0
  23. package/dist/destinations/customerio/mergePeople/index.js +52 -0
  24. package/dist/destinations/customerio/mergePeople/index.js.map +1 -0
  25. package/dist/destinations/customerio/reportDeliveryEvent/generated-types.d.ts +10 -0
  26. package/dist/destinations/customerio/reportDeliveryEvent/generated-types.js +3 -0
  27. package/dist/destinations/customerio/reportDeliveryEvent/generated-types.js.map +1 -0
  28. package/dist/destinations/customerio/reportDeliveryEvent/index.d.ts +5 -0
  29. package/dist/destinations/customerio/reportDeliveryEvent/index.js +121 -0
  30. package/dist/destinations/customerio/reportDeliveryEvent/index.js.map +1 -0
  31. package/dist/destinations/customerio/suppressPerson/generated-types.d.ts +3 -0
  32. package/dist/destinations/customerio/suppressPerson/generated-types.js +3 -0
  33. package/dist/destinations/customerio/suppressPerson/generated-types.js.map +1 -0
  34. package/dist/destinations/customerio/suppressPerson/index.d.ts +5 -0
  35. package/dist/destinations/customerio/suppressPerson/index.js +41 -0
  36. package/dist/destinations/customerio/suppressPerson/index.js.map +1 -0
  37. package/dist/destinations/customerio/test-helper.d.ts +6 -0
  38. package/dist/destinations/customerio/test-helper.js +84 -0
  39. package/dist/destinations/customerio/test-helper.js.map +1 -0
  40. package/dist/destinations/customerio/unsuppressPerson/generated-types.d.ts +3 -0
  41. package/dist/destinations/customerio/unsuppressPerson/generated-types.js +3 -0
  42. package/dist/destinations/customerio/unsuppressPerson/generated-types.js.map +1 -0
  43. package/dist/destinations/customerio/unsuppressPerson/index.d.ts +5 -0
  44. package/dist/destinations/customerio/unsuppressPerson/index.js +41 -0
  45. package/dist/destinations/customerio/unsuppressPerson/index.js.map +1 -0
  46. package/dist/destinations/engage/sendgrid/Profile.d.ts +6 -0
  47. package/dist/destinations/engage/sendgrid/Profile.js +3 -0
  48. package/dist/destinations/engage/sendgrid/Profile.js.map +1 -0
  49. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +18 -0
  50. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +94 -0
  51. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -0
  52. package/dist/destinations/engage/utils/track.d.ts +17 -17
  53. package/dist/destinations/mixpanel/incrementProperties/__test__/__snapshots__/snapshot.test.js.snap +18 -0
  54. package/dist/destinations/responsys/sendAudience/index.js +0 -1
  55. package/dist/destinations/responsys/sendAudience/index.js.map +1 -1
  56. package/dist/destinations/responsys/sendCustomTraits/index.js +0 -1
  57. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -1
  58. package/dist/destinations/responsys/upsertListMember/index.js +2 -5
  59. package/dist/destinations/responsys/upsertListMember/index.js.map +1 -1
  60. package/dist/destinations/responsys/utils.d.ts +0 -1
  61. package/dist/destinations/responsys/utils.js +4 -14
  62. package/dist/destinations/responsys/utils.js.map +1 -1
  63. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
  64. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
  65. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
  66. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
  67. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +499 -0
  68. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
  69. package/dist/destinations/snap-conversions-api/_tests_/index.test.js +4 -352
  70. package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
  71. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +24 -20
  72. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
  73. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
  74. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
  75. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
  76. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.d.ts +8 -0
  77. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js +125 -0
  78. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js.map +1 -0
  79. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.d.ts +19 -0
  80. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js +62 -0
  81. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js.map +1 -0
  82. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -5
  83. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +1 -86
  84. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
  85. package/dist/destinations/tiktok-conversions/common_fields.d.ts +2 -0
  86. package/dist/destinations/tiktok-conversions/common_fields.js +245 -0
  87. package/dist/destinations/tiktok-conversions/common_fields.js.map +1 -0
  88. package/dist/destinations/tiktok-conversions/formatter.d.ts +3 -0
  89. package/dist/destinations/tiktok-conversions/formatter.js +43 -0
  90. package/dist/destinations/tiktok-conversions/formatter.js.map +1 -0
  91. package/dist/destinations/tiktok-conversions/utils.d.ts +4 -0
  92. package/dist/destinations/tiktok-conversions/utils.js +65 -0
  93. package/dist/destinations/tiktok-conversions/utils.js.map +1 -0
  94. package/dist/destinations/tiktok-conversions-sandbox/index.js +2 -2
  95. package/dist/destinations/tiktok-conversions-sandbox/index.js.map +1 -1
  96. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.d.ts +33 -0
  97. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.js +3 -0
  98. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.js.map +1 -0
  99. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.d.ts +5 -0
  100. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js +16 -0
  101. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js.map +1 -0
  102. package/dist/destinations/tiktok-offline-conversions/utils.d.ts +8 -0
  103. package/dist/destinations/tiktok-offline-conversions/utils.js +67 -0
  104. package/dist/destinations/tiktok-offline-conversions/utils.js.map +1 -0
  105. package/dist/destinations/tiktok-offline-conversions-sandbox/index.js +2 -2
  106. package/dist/destinations/tiktok-offline-conversions-sandbox/index.js.map +1 -1
  107. package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/index.js +1 -1
  108. package/dist/destinations/tiktok-offline-conversions-sandbox/reportOfflineEvent/index.js.map +1 -1
  109. package/dist/destinations/trackey/group.types.d.ts +11 -0
  110. package/dist/destinations/trackey/group.types.js +3 -0
  111. package/dist/destinations/trackey/group.types.js.map +1 -0
  112. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  113. package/dist/destinations/trackey/identify.types.js +3 -0
  114. package/dist/destinations/trackey/identify.types.js.map +1 -0
  115. package/dist/destinations/trackey/track.types.d.ts +12 -0
  116. package/dist/destinations/trackey/track.types.js +3 -0
  117. package/dist/destinations/trackey/track.types.js.map +1 -0
  118. package/package.json +2 -2
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.performSnapCAPIv3 = exports.buildRequestURL = exports.validateAppOrPixelID = exports.formatPayload = exports.validatePayload = void 0;
4
+ const utils_1 = require("./utils");
5
+ const snap_capi_properties_1 = require("../snap-capi-properties");
6
+ const validatePayload = (payload) => {
7
+ utils_1.raiseMisconfiguredRequiredFieldErrorIf(!utils_1.isNullOrUndefined(payload.currency) && !snap_capi_properties_1.CURRENCY_ISO_4217_CODES.has(payload.currency.toUpperCase()), `${payload.currency} is not a valid currency code.`);
8
+ utils_1.raiseMisconfiguredRequiredFieldErrorIf(utils_1.isNullOrUndefined(payload.email) &&
9
+ utils_1.isNullOrUndefined(payload.phone_number) &&
10
+ utils_1.isNullOrUndefined(payload.mobile_ad_id) &&
11
+ (utils_1.isNullOrUndefined(payload.ip_address) || utils_1.isNullOrUndefined(payload.user_agent)), `Payload must contain values for Email or Phone Number or Mobile Ad Identifier or both IP Address and User Agent fields`);
12
+ return payload;
13
+ };
14
+ exports.validatePayload = validatePayload;
15
+ const eventConversionTypeToActionSource = {
16
+ WEB: 'website',
17
+ MOBILE_APP: 'app'
18
+ };
19
+ const iosAppIDRegex = new RegExp('^[0-9]+$');
20
+ const formatPayload = (payload, settings, isTest = true) => {
21
+ const action_source = eventConversionTypeToActionSource[payload.event_conversion_type] ?? 'other';
22
+ const event_id = utils_1.emptyToUndefined(payload.client_dedup_id);
23
+ const email = utils_1.hashEmailSafe(payload.email?.replace(/\s/g, '').toLowerCase());
24
+ const phone_number = utils_1.hash(payload.phone_number?.replace(/\D|^0+/g, ''));
25
+ const madid = payload.mobile_ad_id?.toLowerCase();
26
+ const products = (payload.products ?? []).filter(({ item_id }) => item_id != null);
27
+ const { content_ids, content_category, brands, num_items } = products.length > 0
28
+ ? {
29
+ content_ids: products.map(({ item_id }) => item_id),
30
+ content_category: products.map(({ item_category }) => item_category),
31
+ brands: products.map((product) => product.brand ?? ''),
32
+ num_items: products.length
33
+ }
34
+ : {
35
+ content_ids: utils_1.splitListValueToArray(payload.item_ids ?? ''),
36
+ content_category: utils_1.splitListValueToArray(payload.item_category ?? ''),
37
+ brands: payload.brands,
38
+ num_items: payload.number_items
39
+ };
40
+ const extInfoVersion = iosAppIDRegex.test((settings.app_id ?? '').trim()) ? 'i2' : 'a2';
41
+ const result = {
42
+ data: [
43
+ {
44
+ integration: 'segment',
45
+ event_id,
46
+ event_name: payload.event_type,
47
+ event_source_url: payload.page_url,
48
+ event_time: Date.parse(payload.timestamp),
49
+ user_data: utils_1.emptyObjectToUndefined({
50
+ client_ip_address: payload.ip_address,
51
+ client_user_agent: payload.user_agent,
52
+ em: utils_1.box(email),
53
+ madid,
54
+ ph: utils_1.box(phone_number),
55
+ sc_click_id: payload.click_id,
56
+ sc_cookie1: payload.uuid_c1
57
+ }),
58
+ custom_data: utils_1.emptyObjectToUndefined({
59
+ brands,
60
+ content_category,
61
+ content_ids,
62
+ currency: payload.currency,
63
+ num_items,
64
+ order_id: utils_1.emptyToUndefined(payload.transaction_id),
65
+ search_string: payload.search_string,
66
+ sign_up_method: payload.sign_up_method,
67
+ value: payload.price
68
+ }),
69
+ action_source,
70
+ app_data: !utils_1.isNullOrUndefined(payload.os_version ?? payload.device_model)
71
+ ? {
72
+ extinfo: [
73
+ extInfoVersion,
74
+ '',
75
+ '',
76
+ '',
77
+ payload.os_version ?? '',
78
+ payload.device_model ?? '',
79
+ '',
80
+ '',
81
+ '',
82
+ '',
83
+ '',
84
+ '',
85
+ '',
86
+ '',
87
+ '',
88
+ ''
89
+ ]
90
+ }
91
+ : undefined
92
+ }
93
+ ],
94
+ ...(isTest ? { test_event_code: 'segment_test' } : {})
95
+ };
96
+ return result;
97
+ };
98
+ exports.formatPayload = formatPayload;
99
+ const validateAppOrPixelID = (settings, event_conversion_type) => {
100
+ const { snap_app_id, pixel_id } = settings;
101
+ const snapAppID = utils_1.emptyToUndefined(snap_app_id);
102
+ const snapPixelID = utils_1.emptyToUndefined(pixel_id);
103
+ const appOrPixelID = snapAppID ?? snapPixelID;
104
+ utils_1.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined(appOrPixelID, 'Missing valid app or pixel ID');
105
+ utils_1.raiseMisconfiguredRequiredFieldErrorIf(event_conversion_type === 'MOBILE_APP' && utils_1.isNullOrUndefined(snapAppID), 'If event conversion type is "MOBILE_APP" then Snap App ID and App ID must be defined');
106
+ utils_1.raiseMisconfiguredRequiredFieldErrorIf(event_conversion_type === 'WEB' && utils_1.isNullOrUndefined(snapPixelID), `If event conversion type is "${event_conversion_type}" then Pixel ID must be defined`);
107
+ return appOrPixelID;
108
+ };
109
+ exports.validateAppOrPixelID = validateAppOrPixelID;
110
+ const buildRequestURL = (appOrPixelID, authToken) => `https://tr.snapchat.com/v3/${appOrPixelID}/events?access_token=${authToken}`;
111
+ exports.buildRequestURL = buildRequestURL;
112
+ const performSnapCAPIv3 = async (request, data, isTest = true) => {
113
+ const { payload, settings } = data;
114
+ const { event_conversion_type } = payload;
115
+ const authToken = data.auth?.accessToken;
116
+ utils_1.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined(authToken, 'Missing valid auth token');
117
+ const url = exports.buildRequestURL(exports.validateAppOrPixelID(settings, event_conversion_type), authToken);
118
+ const json = exports.formatPayload(exports.validatePayload(payload), settings, isTest);
119
+ return request(url, {
120
+ method: 'post',
121
+ json
122
+ });
123
+ };
124
+ exports.performSnapCAPIv3 = performSnapCAPIv3;
125
+ //# sourceMappingURL=snap-capi-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snap-capi-v3.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const isNullOrUndefined: <T>(v: T | null | undefined) => v is null | undefined;
2
+ export declare const hash: (value: string | undefined) => string | undefined;
3
+ export declare const isHashedEmail: (email: string) => boolean;
4
+ export declare const transformProperty: (property: string, items: Array<Record<string, string | number | undefined>>) => string;
5
+ export declare const hashEmailSafe: (email: string | undefined) => string | undefined;
6
+ export declare const emptyToUndefined: (str: string | undefined) => string | undefined;
7
+ export declare const raiseMisconfiguredRequiredFieldErrorIf: (condition: boolean, message: string) => void;
8
+ interface S {
9
+ raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined<T>(v: T | undefined, message: string): asserts v is T;
10
+ }
11
+ export declare const raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined: S['raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined'];
12
+ export declare const box: <T>(v: T | undefined) => readonly T[];
13
+ export declare const emptyObjectToUndefined: (v: {
14
+ [x: string]: unknown;
15
+ }) => {
16
+ [x: string]: unknown;
17
+ } | undefined;
18
+ export declare const splitListValueToArray: (input: string) => readonly string[] | undefined;
19
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitListValueToArray = exports.emptyObjectToUndefined = exports.box = exports.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = exports.raiseMisconfiguredRequiredFieldErrorIf = exports.emptyToUndefined = exports.hashEmailSafe = exports.transformProperty = exports.isHashedEmail = exports.hash = exports.isNullOrUndefined = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const crypto_1 = require("crypto");
6
+ const isNullOrUndefined = (v) => v == null;
7
+ exports.isNullOrUndefined = isNullOrUndefined;
8
+ const hash = (value) => {
9
+ if (value === undefined)
10
+ return;
11
+ const hash = crypto_1.createHash('sha256');
12
+ hash.update(value);
13
+ return hash.digest('hex');
14
+ };
15
+ exports.hash = hash;
16
+ const isHashedEmail = (email) => new RegExp(/[0-9abcdef]{64}/gi).test(email);
17
+ exports.isHashedEmail = isHashedEmail;
18
+ const transformProperty = (property, items) => items
19
+ .map((i) => i[property] === undefined || i[property] === null
20
+ ? ''
21
+ : typeof i[property] === 'number'
22
+ ? i[property].toString()
23
+ : i[property].toString().replace(/;/g, ''))
24
+ .join(';');
25
+ exports.transformProperty = transformProperty;
26
+ const hashEmailSafe = (email) => exports.isHashedEmail(String(email)) ? email : exports.hash(email);
27
+ exports.hashEmailSafe = hashEmailSafe;
28
+ const emptyToUndefined = (str) => str != null && str === '' ? undefined : str;
29
+ exports.emptyToUndefined = emptyToUndefined;
30
+ const raiseMisconfiguredRequiredFieldErrorIf = (condition, message) => {
31
+ if (condition) {
32
+ throw new actions_core_1.IntegrationError(message, 'Misconfigured required field', 400);
33
+ }
34
+ };
35
+ exports.raiseMisconfiguredRequiredFieldErrorIf = raiseMisconfiguredRequiredFieldErrorIf;
36
+ const raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = (v, message) => exports.raiseMisconfiguredRequiredFieldErrorIf(exports.isNullOrUndefined(v), message);
37
+ exports.raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined = raiseMisconfiguredRequiredFieldErrorIfNullOrUndefined;
38
+ const box = (v) => (!exports.isNullOrUndefined(v) ? [v] : []);
39
+ exports.box = box;
40
+ const emptyObjectToUndefined = (v) => {
41
+ const properties = Object.getOwnPropertyNames(v);
42
+ if (properties.length === 0) {
43
+ return undefined;
44
+ }
45
+ for (const prop of properties) {
46
+ if (v[prop] !== undefined) {
47
+ return v;
48
+ }
49
+ }
50
+ return undefined;
51
+ };
52
+ exports.emptyObjectToUndefined = emptyObjectToUndefined;
53
+ const splitListValueToArray = (input) => {
54
+ const separator = input.includes(';') ? ';' : ',';
55
+ const result = input
56
+ .split(separator)
57
+ .map((x) => x.trim())
58
+ .filter((x) => x != '');
59
+ return result.length > 0 ? result : undefined;
60
+ };
61
+ exports.splitListValueToArray = splitListValueToArray;
62
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import { InputField } from '@segment/actions-core/destination-kit/types';
2
- import { Settings } from '../snap-conversions-api/generated-types';
3
- import { Payload } from './reportConversionEvent/generated-types';
4
2
  export declare const CURRENCY_ISO_4217_CODES: Set<string>;
5
3
  export declare const products: InputField;
6
4
  export declare const event_type: InputField;
@@ -30,6 +28,3 @@ export declare const sign_up_method: InputField;
30
28
  export declare const device_model: InputField;
31
29
  export declare const os_version: InputField;
32
30
  export declare const click_id: InputField;
33
- export declare const conversionType: (settings: Settings, event_conversion_type: String) => Settings;
34
- export declare const hash: (value: string | undefined) => string | undefined;
35
- export declare const formatPayload: (payload: Payload) => Object;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatPayload = exports.hash = exports.conversionType = exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.brands = exports.item_category = exports.ip_address = exports.user_agent = exports.phone_number = exports.idfv = exports.uuid_c1 = exports.mobile_ad_id = exports.email = exports.timestamp = exports.event_tag = exports.event_conversion_type = exports.event_type = exports.products = exports.CURRENCY_ISO_4217_CODES = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
- const crypto_1 = require("crypto");
3
+ exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.brands = exports.item_category = exports.ip_address = exports.user_agent = exports.phone_number = exports.idfv = exports.uuid_c1 = exports.mobile_ad_id = exports.email = exports.timestamp = exports.event_tag = exports.event_conversion_type = exports.event_type = exports.products = exports.CURRENCY_ISO_4217_CODES = void 0;
6
4
  exports.CURRENCY_ISO_4217_CODES = new Set([
7
5
  'USD',
8
6
  'AED',
@@ -315,87 +313,4 @@ exports.click_id = {
315
313
  '@path': '$.integrations.Snap Conversions Api.click_id'
316
314
  }
317
315
  };
318
- const conversionType = (settings, event_conversion_type) => {
319
- if (event_conversion_type === 'MOBILE_APP') {
320
- if (!settings?.snap_app_id || !settings?.app_id) {
321
- 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);
322
- }
323
- delete settings?.pixel_id;
324
- }
325
- else {
326
- if (!settings?.pixel_id) {
327
- throw new actions_core_1.IntegrationError(`If event conversion type is "${event_conversion_type}" then Pixel ID must be defined`, 'Misconfigured required field', 400);
328
- }
329
- delete settings?.snap_app_id;
330
- delete settings?.app_id;
331
- }
332
- return settings;
333
- };
334
- exports.conversionType = conversionType;
335
- const hash = (value) => {
336
- if (value === undefined)
337
- return;
338
- const hash = crypto_1.createHash('sha256');
339
- hash.update(value);
340
- return hash.digest('hex');
341
- };
342
- exports.hash = hash;
343
- const isHashedEmail = (email) => new RegExp(/[0-9abcdef]{64}/gi).test(email);
344
- const transformProperty = (property, items) => items
345
- .map((i) => i[property] === undefined || i[property] === null
346
- ? ''
347
- : typeof i[property] === 'number'
348
- ? i[property].toString()
349
- : i[property].toString().replace(/;/g, ''))
350
- .join(';');
351
- const formatPayload = (payload) => {
352
- if (payload.email) {
353
- payload.email = payload.email.replace(/\s/g, '').toLowerCase();
354
- }
355
- if (payload.phone_number) {
356
- payload.phone_number = payload.phone_number.replace(/\D|^0+/g, '');
357
- }
358
- if (payload.mobile_ad_id) {
359
- payload.mobile_ad_id = payload.mobile_ad_id.toLowerCase();
360
- }
361
- let item_ids = undefined;
362
- let item_category = undefined;
363
- let brands = undefined;
364
- const p = payload?.products;
365
- if (p && Array.isArray(p) && p.length > 0) {
366
- item_ids = transformProperty('item_id', p);
367
- item_category = transformProperty('item_category', p);
368
- brands = p.map((product) => product.brand ?? '');
369
- }
370
- return {
371
- event_type: payload?.event_type,
372
- event_conversion_type: payload?.event_conversion_type,
373
- event_tag: payload?.event_tag,
374
- timestamp: Date.parse(payload?.timestamp),
375
- hashed_email: isHashedEmail(String(payload?.email)) ? payload?.email : exports.hash(payload?.email),
376
- hashed_mobile_ad_id: exports.hash(payload?.mobile_ad_id),
377
- uuid_c1: payload?.uuid_c1,
378
- hashed_idfv: exports.hash(payload?.idfv),
379
- hashed_phone_number: exports.hash(payload?.phone_number),
380
- user_agent: payload?.user_agent,
381
- hashed_ip_address: exports.hash(payload?.ip_address),
382
- item_category: item_category ?? payload?.item_category,
383
- brands: brands ?? payload?.brands,
384
- item_ids: item_ids ?? payload?.item_ids,
385
- description: payload?.description,
386
- number_items: payload?.number_items,
387
- price: payload?.price,
388
- currency: payload?.currency,
389
- transaction_id: payload?.transaction_id,
390
- level: payload?.level,
391
- client_dedup_id: payload?.client_dedup_id,
392
- search_string: payload?.search_string,
393
- page_url: payload?.page_url,
394
- sign_up_method: payload?.sign_up_method,
395
- device_model: payload?.device_model,
396
- os_version: payload?.os_version,
397
- click_id: payload?.click_id
398
- };
399
- };
400
- exports.formatPayload = formatPayload;
401
316
  //# sourceMappingURL=snap-capi-properties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EACT,2MAA2M;IAC7M,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sHAAsH;YACxH,SAAS,EAAE,KAAK;SACjB;QACD,aAAa,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oDAAoD;YACjE,SAAS,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8DAA8D;YAC3E,SAAS,EAAE,KAAK;SACjB;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAE;YACZ,uBAAuB;YACvB;gBACE,OAAO,EAAE;oBACP,OAAO,EAAE,YAAY;iBACtB;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,UAAU;iBACpB;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;KACF;CACF,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,8QAA8Q;IAChR,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,qBAAqB,GAAe;IAC/C,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,uEAAuE;IACpF,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QACtC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;QAC9B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;KAC7C;CACF,CAAA;AAEY,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,8GAA8G;IAChH,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,aAAa;KACvB;CACF,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EACT,6fAA6f;IAC/f,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACvC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;SACpC;KACF;CACF,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,mhBAAmhB;IACrhB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,gCAAgC;KAC1C;CACF,CAAA;AAEY,QAAA,OAAO,GAAe;IACjC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,gHAAgH;IAClH,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,6CAA6C;KACvD;CACF,CAAA;AAEY,QAAA,IAAI,GAAe;IAC9B,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,mGAAmG;IAChH,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,qBAAqB;KAC/B;CACF,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,4fAA4f;IAC9f,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACvC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;SACpC;KACF;CACF,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,2ZAA2Z;IAC7Z,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,qBAAqB;KAC/B;CACF,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,oeAAoe;IACte,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,cAAc;KACxB;CACF,CAAA;AAEY,QAAA,aAAa,GAAe;IACvC,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,oDAAoD;IACjE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,kFAAkF;IAC/F,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;CACF,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,SAAS;IAChB,WAAW,EACT,sHAAsH;IACxH,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,yBAAyB;KACnC;CACF,CAAA;AAEY,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,6DAA6D;IAC1E,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EACT,mIAAmI;IACrI,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;YAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;YACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;SACxC;KACF;CACF,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,oDAAoD;IACjE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAA;AAEY,QAAA,cAAc,GAAe;IACxC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,6RAA6R;IAC/R,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,uBAAuB;KACjC;CACF,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,iYAAiY;IACnY,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,aAAa,GAAe;IACvC,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;CACF,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;CACF,CAAA;AAEY,QAAA,cAAc,GAAe;IACxC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,0BAA0B;IACvC,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EACT,8SAA8S;IAChT,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,8CAA8C;KACxD;CACF,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { InputField } from '@segment/actions-core';
2
+ export declare const commonFields: Record<string, InputField>;
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commonFields = void 0;
4
+ exports.commonFields = {
5
+ event: {
6
+ label: 'Event Name',
7
+ type: 'string',
8
+ required: true,
9
+ description: 'Conversion event name. Please refer to the "Supported Web Events" section on in TikTok’s [Events API documentation](https://ads.tiktok.com/marketing_api/docs?id=1701890979375106) for accepted event names.'
10
+ },
11
+ event_id: {
12
+ label: 'Event ID',
13
+ type: 'string',
14
+ description: 'Any hashed ID that can identify a unique user/session.',
15
+ default: {
16
+ '@path': '$.messageId'
17
+ }
18
+ },
19
+ timestamp: {
20
+ label: 'Event Timestamp',
21
+ type: 'string',
22
+ description: 'Timestamp that the event took place, in ISO 8601 format.',
23
+ default: {
24
+ '@path': '$.timestamp'
25
+ }
26
+ },
27
+ phone_number: {
28
+ label: 'Phone Number',
29
+ description: 'A single phone number or array of phone numbers in E.164 standard format. Segment will hash this value before sending to TikTok. e.g. +14150000000. Segment will hash this value before sending to TikTok.',
30
+ type: 'string',
31
+ multiple: true,
32
+ default: {
33
+ '@if': {
34
+ exists: { '@path': '$.properties.phone' },
35
+ then: { '@path': '$.properties.phone' },
36
+ else: { '@path': '$.context.traits.phone' }
37
+ }
38
+ }
39
+ },
40
+ email: {
41
+ label: 'Email',
42
+ description: 'A single email address or an array of email addresses. Segment will hash this value before sending to TikTok.',
43
+ type: 'string',
44
+ format: 'email',
45
+ multiple: true,
46
+ default: {
47
+ '@if': {
48
+ exists: { '@path': '$.properties.email' },
49
+ then: { '@path': '$.properties.email' },
50
+ else: { '@path': '$.context.traits.email' }
51
+ }
52
+ }
53
+ },
54
+ order_id: {
55
+ label: 'Order ID',
56
+ type: 'string',
57
+ description: 'Order ID of the transaction.',
58
+ default: {
59
+ '@path': '$.properties.order_id'
60
+ }
61
+ },
62
+ shop_id: {
63
+ label: 'Shop ID',
64
+ type: 'string',
65
+ description: 'Shop ID of the transaction.',
66
+ default: {
67
+ '@path': '$.properties.shop_id'
68
+ }
69
+ },
70
+ external_id: {
71
+ label: 'External ID',
72
+ description: 'Uniquely identifies the user who triggered the conversion event. Segment will hash this value before sending to TikTok. TikTok Conversions Destination supports both string and string[] types for sending external ID(s).',
73
+ type: 'string',
74
+ multiple: true,
75
+ default: {
76
+ '@if': {
77
+ exists: { '@path': '$.userId' },
78
+ then: { '@path': '$.userId' },
79
+ else: { '@path': '$.anonymousId' }
80
+ }
81
+ }
82
+ },
83
+ ttclid: {
84
+ label: 'TikTok Click ID',
85
+ description: 'The value of the ttclid used to match website visitor events with TikTok ads. The ttclid is valid for 7 days. See [Set up ttclid](https://ads.tiktok.com/marketing_api/docs?rid=4eezrhr6lg4&id=1681728034437121) for details.',
86
+ type: 'string',
87
+ default: {
88
+ '@if': {
89
+ exists: { '@path': '$.properties.ttclid' },
90
+ then: { '@path': '$.properties.ttclid' },
91
+ else: { '@path': '$.integrations.TikTok Conversions.ttclid' }
92
+ }
93
+ }
94
+ },
95
+ ttp: {
96
+ label: 'TikTok Cookie ID',
97
+ description: 'TikTok Cookie ID. If you also use Pixel SDK and have enabled cookies, Pixel SDK automatically saves a unique identifier in the `_ttp` cookie. The value of `_ttp` is used to match website visitor events with TikTok ads. You can extract the value of `_ttp` and attach the value here. To learn more about the `ttp` parameter, refer to [Events API 2.0 - Send TikTok Cookie](https://ads.tiktok.com/marketing_api/docs?id=%201771100936446977) (`_ttp`).',
98
+ type: 'string',
99
+ default: {
100
+ '@if': {
101
+ exists: { '@path': '$.properties.ttp' },
102
+ then: { '@path': '$.properties.ttp' },
103
+ else: { '@path': '$.integrations.TikTok Conversions.ttp' }
104
+ }
105
+ }
106
+ },
107
+ lead_id: {
108
+ label: 'TikTok Lead ID',
109
+ description: 'ID of TikTok leads. Every lead will have its own lead_id when exported from TikTok. This feature is in Beta. Please contact your TikTok representative to inquire regarding availability',
110
+ type: 'string',
111
+ default: { '@path': '$.properties.lead_id' }
112
+ },
113
+ locale: {
114
+ label: 'Locale',
115
+ description: 'The BCP 47 language identifier. For reference, refer to the [IETF BCP 47 standardized code](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).',
116
+ type: 'string',
117
+ default: {
118
+ '@path': '$.context.locale'
119
+ }
120
+ },
121
+ url: {
122
+ label: 'Page URL',
123
+ type: 'string',
124
+ description: 'The page URL where the conversion event took place.',
125
+ default: {
126
+ '@path': '$.context.page.url'
127
+ }
128
+ },
129
+ referrer: {
130
+ label: 'Page Referrer',
131
+ type: 'string',
132
+ description: 'The page referrer.',
133
+ default: {
134
+ '@path': '$.context.page.referrer'
135
+ }
136
+ },
137
+ ip: {
138
+ label: 'IP Address',
139
+ type: 'string',
140
+ description: 'IP address of the browser.',
141
+ default: {
142
+ '@path': '$.context.ip'
143
+ }
144
+ },
145
+ user_agent: {
146
+ label: 'User Agent',
147
+ type: 'string',
148
+ description: 'User agent from the user’s device.',
149
+ default: {
150
+ '@path': '$.context.userAgent'
151
+ }
152
+ },
153
+ contents: {
154
+ label: 'Contents',
155
+ type: 'object',
156
+ multiple: true,
157
+ description: 'Related item details for the event.',
158
+ properties: {
159
+ price: {
160
+ label: 'Price',
161
+ description: 'Price of the item.',
162
+ type: 'number'
163
+ },
164
+ quantity: {
165
+ label: 'Quantity',
166
+ description: 'Number of items.',
167
+ type: 'number'
168
+ },
169
+ content_category: {
170
+ label: 'Content Category',
171
+ description: 'Category of the product item.',
172
+ type: 'string'
173
+ },
174
+ content_id: {
175
+ label: 'Content ID',
176
+ description: 'ID of the product item.',
177
+ type: 'string'
178
+ },
179
+ content_name: {
180
+ label: 'Content Name',
181
+ description: 'Name of the product item.',
182
+ type: 'string'
183
+ },
184
+ brand: {
185
+ label: 'Brand',
186
+ description: 'Brand name of the product item.',
187
+ type: 'string'
188
+ }
189
+ }
190
+ },
191
+ content_type: {
192
+ label: 'Content Type',
193
+ description: 'Type of the product item. When the `content_id` in the `Contents` field is specified as a `sku_id`, set this field to `product`. When the `content_id` in the `Contents` field is specified as an `item_group_id`, set this field to `product_group`.',
194
+ type: 'string',
195
+ choices: ['product', 'product_group'],
196
+ default: 'product'
197
+ },
198
+ currency: {
199
+ label: 'Currency',
200
+ type: 'string',
201
+ description: 'Currency for the value specified as ISO 4217 code.',
202
+ default: {
203
+ '@path': '$.properties.currency'
204
+ }
205
+ },
206
+ value: {
207
+ label: 'Value',
208
+ type: 'number',
209
+ description: 'Value of the order or items sold.',
210
+ default: {
211
+ '@if': {
212
+ exists: { '@path': '$.properties.value' },
213
+ then: { '@path': '$.properties.value' },
214
+ else: { '@path': '$.properties.revenue' }
215
+ }
216
+ }
217
+ },
218
+ description: {
219
+ label: 'Description',
220
+ type: 'string',
221
+ description: 'A string description of the web event.'
222
+ },
223
+ query: {
224
+ label: 'Query',
225
+ type: 'string',
226
+ description: 'The text string that was searched for.',
227
+ default: {
228
+ '@path': '$.properties.query'
229
+ }
230
+ },
231
+ limited_data_use: {
232
+ label: 'Limited Data Use',
233
+ type: 'boolean',
234
+ description: 'Use this field to flag an event for limited data processing. TikTok will recognize this parameter as a request for limited data processing, and will limit its processing activities accordingly if the event shared occurred in an eligible location. To learn more about the Limited Data Use feature, refer to [Events API 2.0 - Limited Data Use](https://ads.tiktok.com/marketing_api/docs?id=1771101204435970).',
235
+ default: {
236
+ '@path': '$.properties.limited_data_use'
237
+ }
238
+ },
239
+ test_event_code: {
240
+ label: 'Test Event Code',
241
+ type: 'string',
242
+ description: 'Use this field to specify that events should be test events rather than actual traffic. You can find your Test Event Code in your TikTok Events Manager under the "Test Event" tab. You\'ll want to remove your Test Event Code when sending real traffic through this integration.'
243
+ }
244
+ };
245
+ //# sourceMappingURL=common_fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common_fields.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-conversions/common_fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const formatEmails: (email_addresses: string[] | undefined) => string[];
2
+ export declare const formatPhones: (phone_numbers: string[] | undefined) => string[];
3
+ export declare function formatUserIds(userIds: string[] | undefined): string[];