@segment/action-destinations 3.239.5-staging.1 → 3.240.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 (92) hide show
  1. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +3 -7
  2. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
  3. package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js +3 -9
  4. package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js.map +1 -1
  5. package/dist/destinations/linkedin-conversions/api/index.d.ts +1 -2
  6. package/dist/destinations/linkedin-conversions/api/index.js +5 -25
  7. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  8. package/dist/destinations/linkedin-conversions/streamConversion/generated-types.d.ts +1 -1
  9. package/dist/destinations/linkedin-conversions/streamConversion/index.js +1 -2
  10. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  11. package/dist/destinations/linkedin-conversions/types.d.ts +0 -2
  12. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
  13. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
  14. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
  15. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
  16. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +499 -0
  17. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
  18. package/dist/destinations/snap-conversions-api/_tests_/index.test.js +4 -352
  19. package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
  20. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +24 -20
  21. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
  22. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
  23. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
  24. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
  25. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.d.ts +8 -0
  26. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js +125 -0
  27. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js.map +1 -0
  28. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.d.ts +19 -0
  29. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js +62 -0
  30. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js.map +1 -0
  31. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -5
  32. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +1 -86
  33. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
  34. package/dist/destinations/tiktok-offline-conversions/common_fields.js +20 -179
  35. package/dist/destinations/tiktok-offline-conversions/common_fields.js.map +1 -1
  36. package/dist/destinations/tiktok-offline-conversions/formatter.d.ts +0 -1
  37. package/dist/destinations/tiktok-offline-conversions/formatter.js +1 -11
  38. package/dist/destinations/tiktok-offline-conversions/formatter.js.map +1 -1
  39. package/dist/destinations/tiktok-offline-conversions/index.js +15 -169
  40. package/dist/destinations/tiktok-offline-conversions/index.js.map +1 -1
  41. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/generated-types.d.ts +2 -25
  42. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js +29 -4
  43. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map +1 -1
  44. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/generated-types.d.ts +5 -18
  45. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js +126 -5
  46. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js.map +1 -1
  47. package/package.json +3 -3
  48. package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
  49. package/dist/destinations/engage/sendgrid/Profile.js +0 -3
  50. package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
  51. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -21
  52. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -174
  53. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
  54. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +0 -14
  55. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +0 -3
  56. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +0 -1
  57. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +0 -5
  58. package/dist/destinations/responsys/asyncMergePetRecords/index.js +0 -113
  59. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +0 -1
  60. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +0 -20
  61. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +0 -3
  62. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +0 -1
  63. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +0 -5
  64. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +0 -174
  65. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +0 -1
  66. package/dist/destinations/responsys/generated-types.d.ts +0 -5
  67. package/dist/destinations/responsys/generated-types.js +0 -3
  68. package/dist/destinations/responsys/generated-types.js.map +0 -1
  69. package/dist/destinations/responsys/index.d.ts +0 -4
  70. package/dist/destinations/responsys/index.js +0 -62
  71. package/dist/destinations/responsys/index.js.map +0 -1
  72. package/dist/destinations/responsys/rsp-operations.d.ts +0 -14
  73. package/dist/destinations/responsys/rsp-operations.js +0 -33
  74. package/dist/destinations/responsys/rsp-operations.js.map +0 -1
  75. package/dist/destinations/responsys/rsp-properties.d.ts +0 -4
  76. package/dist/destinations/responsys/rsp-properties.js +0 -27
  77. package/dist/destinations/responsys/rsp-properties.js.map +0 -1
  78. package/dist/destinations/responsys/types.d.ts +0 -37
  79. package/dist/destinations/responsys/types.js +0 -3
  80. package/dist/destinations/responsys/types.js.map +0 -1
  81. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +0 -3
  82. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +0 -43
  83. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +0 -1
  84. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.d.ts +0 -33
  85. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.js +0 -3
  86. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.js.map +0 -1
  87. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.d.ts +0 -5
  88. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js +0 -16
  89. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/index.js.map +0 -1
  90. package/dist/destinations/tiktok-offline-conversions/utils.d.ts +0 -8
  91. package/dist/destinations/tiktok-offline-conversions/utils.js +0 -67
  92. package/dist/destinations/tiktok-offline-conversions/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/responsys/index.ts"],"names":[],"mappings":";;;;;AAOA,kGAAyE;AAEzE,kFAAyD;AAMzD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,mCAAmC;IAChD,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE;gBAEP,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,4EAA4E;gBACzF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QAED,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,GAAG,OAAO,2BAA2B,CAAA;YAGtD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,QAAQ,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;gBACD,IAAI,EAAE,aAAa,QAAQ,CAAC,QAAQ,aAAa,QAAQ,CAAC,YAAY,qBAAqB;aAC5F,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;QAC5C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QAEpB,OAAO;YACL,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE;aACtC;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,4BAA4B,EAA5B,sCAA4B;QAC5B,oBAAoB,EAApB,8BAAoB;KACrB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,14 +0,0 @@
1
- import { Payload } from './asyncMergePetRecords/generated-types';
2
- import { DynamicData, RecordData } from './types';
3
- export declare const buildRecordData: (userData: DynamicData, mapTemplateName: string) => {
4
- records: unknown[][];
5
- fieldNames: string[];
6
- mapTemplateName: string;
7
- };
8
- export declare const buildRequestBodyPET: (payload: Payload, recordData: RecordData) => {
9
- recordData: RecordData;
10
- insertOnNoMatch: boolean | undefined;
11
- updateOnMatch: string;
12
- matchColumnName1: string;
13
- matchColumnName2: string;
14
- };
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildRequestBodyPET = exports.buildRecordData = void 0;
4
- const buildRecordData = (userData, mapTemplateName) => {
5
- if (Array.isArray(userData)) {
6
- const keysFromFirstObject = Object.keys(userData[0]);
7
- return {
8
- records: userData.map((record) => Object.values(record)),
9
- fieldNames: keysFromFirstObject,
10
- mapTemplateName: mapTemplateName || ''
11
- };
12
- }
13
- const keysFromFirstObject = Object.keys(userData);
14
- return {
15
- records: [Object.values(userData)],
16
- fieldNames: keysFromFirstObject,
17
- mapTemplateName: mapTemplateName || ''
18
- };
19
- };
20
- exports.buildRecordData = buildRecordData;
21
- const buildRequestBodyPET = (payload, recordData) => {
22
- const matchColumnName1 = payload.matchColumnName1 ? String(payload.matchColumnName1) : '';
23
- const matchColumnName2 = payload.matchColumnName2 ? String(payload.matchColumnName2) : '';
24
- return {
25
- recordData: recordData,
26
- insertOnNoMatch: payload.insertOnNoMatch,
27
- updateOnMatch: payload.updateOnMatch,
28
- matchColumnName1: matchColumnName1.replace(/_+$/, ''),
29
- matchColumnName2: matchColumnName2.replace(/_+$/, '')
30
- };
31
- };
32
- exports.buildRequestBodyPET = buildRequestBodyPET;
33
- //# sourceMappingURL=rsp-operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rsp-operations.js","sourceRoot":"","sources":["../../../src/destinations/responsys/rsp-operations.ts"],"names":[],"mappings":";;;AAGO,MAAM,eAAe,GAAG,CAAC,QAAqB,EAAE,eAAuB,EAAE,EAAE;IAEhF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,UAAU,EAAE,mBAAmB;YAC/B,eAAe,EAAE,eAAe,IAAI,EAAE;SACvC,CAAA;KACF;IACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjD,OAAO;QACL,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,UAAU,EAAE,mBAAmB;QAC/B,eAAe,EAAE,eAAe,IAAI,EAAE;KACvC,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAUM,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,UAAsB,EAAkB,EAAE;IAC9F,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrD,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;KACtD,CAAA;AACH,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B"}
@@ -1,4 +0,0 @@
1
- import { InputField } from '@segment/actions-core/destination-kit/types';
2
- export declare const userData: InputField;
3
- export declare const enable_batching: InputField;
4
- export declare const batch_size: InputField;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batch_size = exports.enable_batching = exports.userData = void 0;
4
- exports.userData = {
5
- label: 'Recepient Data',
6
- description: 'Record data that represents Field Names and corresponding values for the recipient.',
7
- type: 'object',
8
- defaultObjectUI: 'keyvalue:only',
9
- required: true,
10
- default: { '@path': '$.' }
11
- };
12
- exports.enable_batching = {
13
- label: 'Use Responsys Async API',
14
- description: 'Once enabled, Segment will collect events into batches of 200 before sending to Responsys.',
15
- type: 'boolean',
16
- default: true,
17
- unsafe_hidden: true
18
- };
19
- exports.batch_size = {
20
- label: 'Batch Size',
21
- description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
22
- type: 'number',
23
- required: false,
24
- unsafe_hidden: true,
25
- default: 200
26
- };
27
- //# sourceMappingURL=rsp-properties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rsp-properties.js","sourceRoot":"","sources":["../../../src/destinations/responsys/rsp-properties.ts"],"names":[],"mappings":";;;AAGa,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC3B,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,4FAA4F;IACzG,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,GAAG;CACb,CAAA"}
@@ -1,37 +0,0 @@
1
- export interface DynamicData {
2
- [key: string]: any;
3
- }
4
- export interface InnerObject {
5
- [key: string]: any;
6
- }
7
- export interface RecordData {
8
- records: DynamicData[][];
9
- fieldNames: string[];
10
- mapTemplateName: string;
11
- }
12
- export interface MergeRule {
13
- defaultPermissionStatus?: string;
14
- htmlValue?: string;
15
- insertOnNoMatch?: boolean;
16
- matchColumnName1?: string;
17
- matchColumnName2?: string;
18
- matchOperator?: string;
19
- optinValue?: string;
20
- optoutValue?: string;
21
- rejectRecordIfChannelEmpty?: string;
22
- textValue?: string;
23
- updateOnMatch?: string;
24
- }
25
- export declare type RequestBody = {
26
- recordData: RecordData;
27
- } & {
28
- mergeRule: MergeRule;
29
- };
30
- export declare type RequestBodyPET = {
31
- recordData: RecordData;
32
- } & {
33
- insertOnNoMatch: boolean;
34
- updateOnMatch: string;
35
- matchColumnName1: string;
36
- matchColumnName2: string;
37
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/responsys/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export declare const formatEmails: (email_addresses: string[] | undefined) => string[];
2
- export declare function formatUserIds(userIds: string[] | undefined): string[];
3
- export declare const formatPhones: (phone_numbers: string[] | undefined) => string[];
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatPhones = exports.formatUserIds = exports.formatEmails = void 0;
4
- const crypto_1 = require("crypto");
5
- const formatEmails = (email_addresses) => {
6
- const result = [];
7
- if (email_addresses) {
8
- email_addresses.forEach((email) => {
9
- result.push(hashAndEncode(email.toLowerCase()));
10
- });
11
- }
12
- return result;
13
- };
14
- exports.formatEmails = formatEmails;
15
- function formatUserIds(userIds) {
16
- const result = [];
17
- if (userIds) {
18
- userIds.forEach((userId) => {
19
- result.push(hashAndEncode(userId.toLowerCase()));
20
- });
21
- }
22
- return result;
23
- }
24
- exports.formatUserIds = formatUserIds;
25
- const formatPhones = (phone_numbers) => {
26
- const result = [];
27
- if (!phone_numbers)
28
- return result;
29
- phone_numbers.forEach((phone) => {
30
- const validatedPhone = phone.match(/[0-9]{0,14}/g);
31
- if (validatedPhone === null) {
32
- throw new Error(`${phone} is not a valid E.164 phone number.`);
33
- }
34
- const formattedPhone = `+${phone.replace(/[^0-9]/g, '')}`;
35
- result.push(hashAndEncode(formattedPhone.substring(0, 15)));
36
- });
37
- return result;
38
- };
39
- exports.formatPhones = formatPhones;
40
- function hashAndEncode(property) {
41
- return crypto_1.createHash('sha256').update(property).digest('hex');
42
- }
43
- //# sourceMappingURL=formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAK5B,MAAM,YAAY,GAAG,CAAC,eAAqC,EAAY,EAAE;IAC9E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,eAAe,EAAE;QACnB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAOD,SAAgB,aAAa,CAAC,OAA6B;IACzD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,sCAQC;AAOM,MAAM,YAAY,GAAG,CAAC,aAAmC,EAAY,EAAE;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAA;IAEjC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;SAC/D;QAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAA;QAEzD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAhBY,QAAA,YAAY,gBAgBxB;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,mBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC"}
@@ -1,33 +0,0 @@
1
- export interface Payload {
2
- event: string;
3
- event_id?: string;
4
- timestamp?: string;
5
- phone_numbers?: string[];
6
- email_addresses?: string[];
7
- order_id?: string;
8
- shop_id?: string;
9
- external_ids?: string[];
10
- ttclid?: string;
11
- ttp?: string;
12
- lead_id?: string;
13
- locale?: string;
14
- url?: string;
15
- referrer?: string;
16
- ip?: string;
17
- user_agent?: string;
18
- contents?: {
19
- price?: number;
20
- quantity?: number;
21
- content_category?: string;
22
- content_id?: string;
23
- content_name?: string;
24
- brand?: string;
25
- }[];
26
- content_type?: string;
27
- currency?: string;
28
- value?: number;
29
- description?: string;
30
- query?: string;
31
- limited_data_use?: boolean;
32
- test_event_code?: string;
33
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/reportOfflineEvent/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { ActionDefinition } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- declare const action: ActionDefinition<Settings, Payload>;
5
- export default action;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_fields_1 = require("../common_fields");
4
- const utils_1 = require("../utils");
5
- const action = {
6
- title: 'Track Payment Offline Conversion',
7
- description: 'Send details of an in-store purchase or console purchase to the Tiktok Offline Events API',
8
- fields: {
9
- ...common_fields_1.commonFields
10
- },
11
- perform: (request, { payload, settings }) => {
12
- return utils_1.performOfflineEvent(request, settings, payload);
13
- }
14
- };
15
- exports.default = action;
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/tiktok-offline-conversions/reportOfflineEvent/index.ts"],"names":[],"mappings":";;AAGA,oDAA+C;AAC/C,oCAA8C;AAE9C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kCAAkC;IACzC,WAAW,EAAE,2FAA2F;IACxG,MAAM,EAAE;QACN,GAAG,4BAAY;KAChB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,OAAO,2BAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,8 +0,0 @@
1
- import { RequestClient } from '@segment/actions-core';
2
- import { Settings } from './generated-types';
3
- import { Payload as ReportOfflineEventPayload } from './reportOfflineEvent/generated-types';
4
- import { Payload as TrackNonPaymentOfflineConversionPayload } from './trackNonPaymentOfflineConversion/generated-types';
5
- import { Payload as TrackPaymentOfflineConversionPayload } from './trackPaymentOfflineConversion/generated-types';
6
- declare type OfflineEventPayload = ReportOfflineEventPayload | TrackNonPaymentOfflineConversionPayload | TrackPaymentOfflineConversionPayload;
7
- export declare function performOfflineEvent(request: RequestClient, settings: Settings, payload: OfflineEventPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
8
- export {};
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.performOfflineEvent = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
- const formatter_1 = require("./formatter");
6
- function performOfflineEvent(request, settings, payload) {
7
- const phone_numbers = formatter_1.formatPhones(payload.phone_numbers);
8
- const emails = formatter_1.formatEmails(payload.email_addresses);
9
- const userIds = formatter_1.formatUserIds(payload.external_ids);
10
- if (phone_numbers.length < 1 && emails.length < 1 && userIds.length < 1)
11
- throw new actions_core_1.PayloadValidationError('TikTok Offline Conversions API requires an email address and/or phone number and or a userId');
12
- const urlTtclid = payload.url
13
- ? (() => {
14
- try {
15
- return new URL(payload.url).searchParams.get('ttclid');
16
- }
17
- catch (error) {
18
- }
19
- })()
20
- : undefined;
21
- return request('https://business-api.tiktok.com/open_api/v1.3/event/track/', {
22
- method: 'post',
23
- json: {
24
- event_source: 'offline',
25
- event_source_id: settings.eventSetID,
26
- partner_name: 'Segment',
27
- data: [
28
- {
29
- event: payload.event,
30
- event_time: payload.timestamp
31
- ? Math.floor(new Date(payload.timestamp).getTime() / 1000)
32
- : Math.floor(new Date().getTime() / 1000),
33
- event_id: payload.event_id ? `${payload.event_id}` : undefined,
34
- user: {
35
- ttclid: payload.ttclid ? payload.ttclid : urlTtclid ? urlTtclid : undefined,
36
- external_id: userIds,
37
- phone: phone_numbers,
38
- email: emails,
39
- lead_id: payload.lead_id ? payload.lead_id : undefined,
40
- ttp: payload.ttp ? payload.ttp : undefined,
41
- ip: payload.ip ? payload.ip : undefined,
42
- user_agent: payload.user_agent ? payload.user_agent : undefined,
43
- locale: payload.locale ? payload.locale : undefined
44
- },
45
- properties: {
46
- contents: payload.contents ? payload.contents : [],
47
- content_type: payload.content_type ? payload.content_type : undefined,
48
- currency: payload.currency ? payload.currency : undefined,
49
- value: payload.value ? payload.value : undefined,
50
- query: payload.query ? payload.query : undefined,
51
- description: payload.description ? payload.description : undefined,
52
- order_id: payload.order_id ? payload.order_id : undefined,
53
- shop_id: payload.shop_id ? payload.shop_id : undefined
54
- },
55
- page: {
56
- url: payload.url ? payload.url : undefined,
57
- referrer: payload.referrer ? payload.referrer : undefined
58
- },
59
- limited_data_use: payload.limited_data_use ? payload.limited_data_use : false,
60
- test_event_code: payload.test_event_code ? payload.test_event_code : undefined
61
- }
62
- ]
63
- }
64
- });
65
- }
66
- exports.performOfflineEvent = performOfflineEvent;
67
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/tiktok-offline-conversions/utils.ts"],"names":[],"mappings":"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"}