@segment/action-destinations 3.194.0-staging.4 → 3.196.0
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.
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/insertEmailPreviewText.js +2 -2
- package/dist/destinations/engage/sendgrid/sendEmail/insertEmailPreviewText.js.map +1 -1
- package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
- package/dist/destinations/engage/utils/MessageSendPerformer.js +4 -19
- package/dist/destinations/engage/utils/MessageSendPerformer.js.map +1 -1
- package/dist/destinations/hubspot/upsertContact/generated-types.d.ts +0 -1
- package/dist/destinations/hubspot/upsertContact/index.d.ts +0 -19
- package/dist/destinations/hubspot/upsertContact/index.js +0 -127
- package/dist/destinations/hubspot/upsertContact/index.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/api/index.js +2 -2
- package/dist/destinations/linkedin-audiences/api/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/generated-types.d.ts +0 -1
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +3 -23
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/generated-types.d.ts +0 -3
- package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/generated-types.js.map +1 -1
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/index.js +27 -28
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +6 -0
- package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/s3.js +7 -7
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +7 -0
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/sftp.js +14 -14
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +1 -0
- package/dist/destinations/liveramp-audiences/generated-types.d.ts +8 -0
- package/dist/destinations/liveramp-audiences/index.js +56 -4
- package/dist/destinations/liveramp-audiences/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/operations.d.ts +1 -1
- package/dist/destinations/liveramp-audiences/operations.js +13 -25
- package/dist/destinations/liveramp-audiences/operations.js.map +1 -1
- package/dist/destinations/m3ter/auth.js.map +1 -1
- package/dist/destinations/m3ter/submitMeasurements/index.js +3 -3
- package/dist/destinations/m3ter/submitMeasurements/index.js.map +1 -1
- package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js +2 -7
- package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js.map +1 -1
- package/dist/destinations/pinterest-conversions/reportConversionEvent/generated-types.d.ts +0 -1
- package/dist/destinations/playerzero-cloud/identifyUser/index.js +3 -3
- package/dist/destinations/the-trade-desk-crm/index.js +1 -1
- package/package.json +4 -4
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/generated-types.d.ts +0 -17
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +0 -98
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.d.ts +0 -6
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.js +0 -3
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.d.ts +0 -5
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.d.ts +0 -7
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.js.map +0 -1
- /package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/generated-types.js +0 -0
- /package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/index.d.ts +0 -0
package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/index.js
RENAMED
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const s3_1 = require("./s3");
|
|
4
5
|
const sftp_1 = require("./sftp");
|
|
5
6
|
const operations_1 = require("../operations");
|
|
6
7
|
const action = {
|
|
7
|
-
title: 'Audience Entered
|
|
8
|
-
description: 'Uploads audience membership data to a file
|
|
8
|
+
title: 'Audience Entered',
|
|
9
|
+
description: 'Uploads audience membership data to a file for LiveRamp ingestion.',
|
|
9
10
|
defaultSubscription: 'event = "Audience Entered"',
|
|
10
11
|
fields: {
|
|
11
|
-
sftp_username: {
|
|
12
|
-
label: 'Username',
|
|
13
|
-
description: 'User credentials for establishing an SFTP connection with LiveRamp.',
|
|
14
|
-
type: 'string'
|
|
15
|
-
},
|
|
16
|
-
sftp_password: {
|
|
17
|
-
label: 'Password',
|
|
18
|
-
description: 'User credentials for establishing an SFTP connection with LiveRamp.',
|
|
19
|
-
type: 'password'
|
|
20
|
-
},
|
|
21
|
-
sftp_folder_path: {
|
|
22
|
-
label: 'Folder Path',
|
|
23
|
-
description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
|
|
24
|
-
type: 'string',
|
|
25
|
-
default: '/uploads/audience_name/',
|
|
26
|
-
format: 'uri-reference'
|
|
27
|
-
},
|
|
28
12
|
audience_key: {
|
|
29
13
|
label: 'Audience Key',
|
|
30
14
|
description: 'Identifies the user within the entered audience.',
|
|
@@ -72,25 +56,40 @@ const action = {
|
|
|
72
56
|
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
73
57
|
type: 'number',
|
|
74
58
|
required: false,
|
|
75
|
-
default:
|
|
59
|
+
default: 1000000
|
|
76
60
|
}
|
|
77
61
|
},
|
|
78
|
-
perform: async (
|
|
79
|
-
return processData([payload]);
|
|
62
|
+
perform: async (request, { settings, payload }) => {
|
|
63
|
+
return processData(request, settings, [payload]);
|
|
80
64
|
},
|
|
81
|
-
performBatch: (
|
|
82
|
-
return processData(payload);
|
|
65
|
+
performBatch: (request, { settings, payload }) => {
|
|
66
|
+
return processData(request, settings, payload);
|
|
83
67
|
}
|
|
84
68
|
};
|
|
85
|
-
async function processData(payloads) {
|
|
69
|
+
async function processData(request, settings, payloads) {
|
|
86
70
|
const LIVERAMP_MIN_RECORD_COUNT = 25;
|
|
87
71
|
if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
|
|
88
72
|
throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
|
|
89
73
|
}
|
|
90
|
-
|
|
74
|
+
switch (settings.upload_mode) {
|
|
75
|
+
case 'S3':
|
|
76
|
+
s3_1.validateS3(settings);
|
|
77
|
+
break;
|
|
78
|
+
case 'SFTP':
|
|
79
|
+
sftp_1.validateSFTP(settings);
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
throw new actions_core_1.InvalidAuthenticationError(`Unexpected upload mode: ${settings.upload_mode}`);
|
|
83
|
+
}
|
|
91
84
|
const { filename, fileContent } = operations_1.generateFile(payloads);
|
|
92
|
-
|
|
93
|
-
|
|
85
|
+
switch (settings.upload_mode) {
|
|
86
|
+
case 'S3':
|
|
87
|
+
return s3_1.uploadS3(settings, filename, fileContent, request);
|
|
88
|
+
case 'SFTP': {
|
|
89
|
+
const sftpClient = new sftp_1.Client();
|
|
90
|
+
return sftp_1.uploadSFTP(sftpClient, settings, filename, fileContent);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
94
93
|
}
|
|
95
94
|
exports.default = action;
|
|
96
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ModifiedResponse, RequestOptions } from '@segment/actions-core';
|
|
3
|
+
import { Settings } from '../generated-types';
|
|
4
|
+
declare function validateS3(settings: Settings): void;
|
|
5
|
+
declare function uploadS3(settings: Settings, filename: string, fileContent: Buffer, request: <Data = unknown>(url: string, options?: RequestOptions) => Promise<ModifiedResponse<Data>>): Promise<ModifiedResponse<unknown>>;
|
|
6
|
+
export { validateS3, uploadS3 };
|
|
@@ -6,24 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.uploadS3 = exports.validateS3 = void 0;
|
|
7
7
|
const s3_1 = __importDefault(require("../../../lib/AWS/s3"));
|
|
8
8
|
const actions_core_1 = require("@segment/actions-core");
|
|
9
|
-
function validateS3(
|
|
10
|
-
if (!
|
|
9
|
+
function validateS3(settings) {
|
|
10
|
+
if (!settings.s3_aws_access_key) {
|
|
11
11
|
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Access Key');
|
|
12
12
|
}
|
|
13
|
-
if (!
|
|
13
|
+
if (!settings.s3_aws_secret_key) {
|
|
14
14
|
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Secret Key');
|
|
15
15
|
}
|
|
16
|
-
if (!
|
|
16
|
+
if (!settings.s3_aws_bucket_name) {
|
|
17
17
|
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS S3 bucket name');
|
|
18
18
|
}
|
|
19
|
-
if (!
|
|
19
|
+
if (!settings.s3_aws_region) {
|
|
20
20
|
throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Region');
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
exports.validateS3 = validateS3;
|
|
24
|
-
async function uploadS3(
|
|
24
|
+
async function uploadS3(settings, filename, fileContent, request) {
|
|
25
25
|
const method = 'PUT';
|
|
26
|
-
const opts = await s3_1.default(
|
|
26
|
+
const opts = await s3_1.default(settings.s3_aws_bucket_name, settings.s3_aws_region, filename, method, fileContent, settings.s3_aws_access_key, settings.s3_aws_secret_key);
|
|
27
27
|
if (!opts.headers || !opts.method || !opts.host || !opts.path) {
|
|
28
28
|
throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
|
|
29
29
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,QAAkB;IACpC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;QAChC,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,QAAQ,CAAC,kBAA4B,EACrC,QAAQ,CAAC,aAAuB,EAChC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,CAAC,iBAA2B,EACpC,QAAQ,CAAC,iBAA2B,CACrC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7D,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,OAAO,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO,EAAE,IAAI,CAAC,OAAiC;QAC/C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC;AAEoB,4BAAQ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Client from 'ssh2-sftp-client';
|
|
3
|
+
import { Settings } from '../generated-types';
|
|
4
|
+
declare function validateSFTP(settings: Settings): void;
|
|
5
|
+
declare function uploadSFTP(sftp: Client, settings: Settings, filename: string, fileContent: Buffer): Promise<unknown>;
|
|
6
|
+
declare function testAuthenticationSFTP(sftp: Client, settings: Settings): Promise<unknown>;
|
|
7
|
+
export { validateSFTP, uploadSFTP, testAuthenticationSFTP, Client };
|
package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/sftp.js
RENAMED
|
@@ -10,41 +10,41 @@ exports.Client = ssh2_sftp_client_1.default;
|
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
|
|
12
12
|
const LIVERAMP_SFTP_PORT = 22;
|
|
13
|
-
function validateSFTP(
|
|
14
|
-
if (!
|
|
13
|
+
function validateSFTP(settings) {
|
|
14
|
+
if (!settings.sftp_username) {
|
|
15
15
|
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Username)');
|
|
16
16
|
}
|
|
17
|
-
if (!
|
|
17
|
+
if (!settings.sftp_password) {
|
|
18
18
|
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Password)');
|
|
19
19
|
}
|
|
20
|
-
if (!
|
|
20
|
+
if (!settings.sftp_folder_path) {
|
|
21
21
|
throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing SFTP folder path.');
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.validateSFTP = validateSFTP;
|
|
25
|
-
async function uploadSFTP(sftp,
|
|
26
|
-
return doSFTP(sftp,
|
|
27
|
-
const targetPath = path_1.default.join(
|
|
25
|
+
async function uploadSFTP(sftp, settings, filename, fileContent) {
|
|
26
|
+
return doSFTP(sftp, settings, async (sftp) => {
|
|
27
|
+
const targetPath = path_1.default.join(settings.sftp_folder_path, filename);
|
|
28
28
|
return sftp.put(fileContent, targetPath);
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
exports.uploadSFTP = uploadSFTP;
|
|
32
|
-
async function doSFTP(sftp,
|
|
32
|
+
async function doSFTP(sftp, settings, action) {
|
|
33
33
|
await sftp.connect({
|
|
34
34
|
host: LIVERAMP_SFTP_SERVER,
|
|
35
35
|
port: LIVERAMP_SFTP_PORT,
|
|
36
|
-
username:
|
|
37
|
-
password:
|
|
36
|
+
username: settings.sftp_username,
|
|
37
|
+
password: settings.sftp_password
|
|
38
38
|
});
|
|
39
39
|
const retVal = await action(sftp);
|
|
40
40
|
await sftp.end();
|
|
41
41
|
return retVal;
|
|
42
42
|
}
|
|
43
|
-
async function testAuthenticationSFTP(sftp,
|
|
44
|
-
return doSFTP(sftp,
|
|
45
|
-
return sftp.exists(
|
|
43
|
+
async function testAuthenticationSFTP(sftp, settings) {
|
|
44
|
+
return doSFTP(sftp, settings, async (sftp) => {
|
|
45
|
+
return sftp.exists(settings.sftp_folder_path).then((fileType) => {
|
|
46
46
|
if (!fileType)
|
|
47
|
-
throw new Error(`Could not find path: ${
|
|
47
|
+
throw new Error(`Could not find path: ${settings.sftp_folder_path}`);
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/sftp.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkE;AAClE,wEAAqC;AAiDsB,iBAjDpD,0BAAM,CAiDoD;AAhDjE,gDAAuB;AAGvB,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACjD,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,SAAS,YAAY,CAAC,QAAkB;IACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,0DAA0D,CAAC,CAAA;KACjG;AACH,CAAC;AA8BQ,oCAAY;AA5BrB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAkB,EAAE,QAAgB,EAAE,WAAmB;IAC/F,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA0B,EAAE,QAAQ,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC;AAuBsB,gCAAU;AArBjC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,QAAkB,EAAE,MAA4C;IAClG,MAAM,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,QAAQ,CAAC,aAAa;QAChC,QAAQ,EAAE,QAAQ,CAAC,aAAa;KACjC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;IAChB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAkB;IACpE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEkC,wDAAsB"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export interface Settings {
|
|
2
|
+
upload_mode: string;
|
|
3
|
+
s3_aws_access_key?: string;
|
|
4
|
+
s3_aws_secret_key?: string;
|
|
5
|
+
s3_aws_bucket_name?: string;
|
|
6
|
+
s3_aws_region?: string;
|
|
7
|
+
sftp_username?: string;
|
|
8
|
+
sftp_password?: string;
|
|
9
|
+
sftp_folder_path?: string;
|
|
2
10
|
__segment_internal_engage_force_full_sync: boolean;
|
|
3
11
|
__segment_internal_engage_batch_sync: boolean;
|
|
4
12
|
}
|
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const audienceEntered_1 = __importDefault(require("./audienceEntered"));
|
|
7
|
+
const sftp_1 = require("./audienceEntered/sftp");
|
|
8
8
|
const destination = {
|
|
9
9
|
name: 'Liveramp Audiences',
|
|
10
10
|
slug: 'actions-liveramp-audiences',
|
|
@@ -12,6 +12,53 @@ const destination = {
|
|
|
12
12
|
authentication: {
|
|
13
13
|
scheme: 'custom',
|
|
14
14
|
fields: {
|
|
15
|
+
upload_mode: {
|
|
16
|
+
label: 'Upload Mode',
|
|
17
|
+
description: 'Choose delivery route for the files',
|
|
18
|
+
type: 'string',
|
|
19
|
+
required: true,
|
|
20
|
+
default: 'S3',
|
|
21
|
+
choices: [
|
|
22
|
+
{ value: 'S3', label: 'S3' },
|
|
23
|
+
{ value: 'SFTP', label: 'SFTP' }
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
s3_aws_access_key: {
|
|
27
|
+
label: 'AWS Access Key ID (S3 only)',
|
|
28
|
+
description: 'IAM user credentials with write permissions to the S3 bucket.',
|
|
29
|
+
type: 'string'
|
|
30
|
+
},
|
|
31
|
+
s3_aws_secret_key: {
|
|
32
|
+
label: 'AWS Secret Access Key (S3 only)',
|
|
33
|
+
description: 'IAM user credentials with write permissions to the S3 bucket.',
|
|
34
|
+
type: 'password'
|
|
35
|
+
},
|
|
36
|
+
s3_aws_bucket_name: {
|
|
37
|
+
label: 'AWS Bucket Name (S3 only)',
|
|
38
|
+
description: 'Name of the S3 bucket where the files will be uploaded to.',
|
|
39
|
+
type: 'string'
|
|
40
|
+
},
|
|
41
|
+
s3_aws_region: {
|
|
42
|
+
label: 'AWS Region (S3 only)',
|
|
43
|
+
description: 'Region where the S3 bucket is hosted.',
|
|
44
|
+
type: 'string'
|
|
45
|
+
},
|
|
46
|
+
sftp_username: {
|
|
47
|
+
label: 'Username (SFTP only)',
|
|
48
|
+
description: 'User credentials for establishing an SFTP connection with LiveRamp.',
|
|
49
|
+
type: 'string'
|
|
50
|
+
},
|
|
51
|
+
sftp_password: {
|
|
52
|
+
label: 'Password (SFTP only)',
|
|
53
|
+
description: 'User credentials for establishing an SFTP connection with LiveRamp.',
|
|
54
|
+
type: 'password'
|
|
55
|
+
},
|
|
56
|
+
sftp_folder_path: {
|
|
57
|
+
label: 'Folder Path (SFTP only)',
|
|
58
|
+
description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
|
|
59
|
+
type: 'string',
|
|
60
|
+
format: 'uri-reference'
|
|
61
|
+
},
|
|
15
62
|
__segment_internal_engage_force_full_sync: {
|
|
16
63
|
label: 'Force Full Sync',
|
|
17
64
|
description: '',
|
|
@@ -26,11 +73,16 @@ const destination = {
|
|
|
26
73
|
required: true,
|
|
27
74
|
default: true
|
|
28
75
|
}
|
|
76
|
+
},
|
|
77
|
+
testAuthentication: async (_, { settings }) => {
|
|
78
|
+
if (settings.upload_mode == 'SFTP') {
|
|
79
|
+
const sftpClient = new sftp_1.Client();
|
|
80
|
+
return await sftp_1.testAuthenticationSFTP(sftpClient, settings);
|
|
81
|
+
}
|
|
29
82
|
}
|
|
30
83
|
},
|
|
31
84
|
actions: {
|
|
32
|
-
|
|
33
|
-
audienceEnteredSFTP: audienceEnteredSftp_1.default
|
|
85
|
+
audienceEntered: audienceEntered_1.default
|
|
34
86
|
}
|
|
35
87
|
};
|
|
36
88
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/index.ts"],"names":[],"mappings":";;;;;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/index.ts"],"names":[],"mappings":";;;;;AAGA,wEAA+C;AAC/C,iDAAqF;AAErF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBACjC;aACF;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,iCAAiC;gBACxC,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,UAAU;aACjB;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,4DAA4D;gBACzE,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,uCAAuC;gBACpD,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,UAAU;aACjB;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe;aACxB;YACD,yCAAyC,EAAE;gBACzC,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;YACD,oCAAoC,EAAE;gBACpC,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAE5C,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,EAAE;gBAClC,MAAM,UAAU,GAAG,IAAI,aAAU,EAAE,CAAA;gBACnC,OAAO,MAAM,6BAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;aAC1D;QACH,CAAC;KACF;IACD,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;KAChB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.enquoteIdentifier = exports.generateFile = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
5
|
function generateFile(payloads) {
|
|
6
|
+
const rows = [];
|
|
6
7
|
const headers = ['audience_key'];
|
|
7
8
|
if (payloads[0].identifier_data) {
|
|
8
9
|
for (const identifier of Object.getOwnPropertyNames(payloads[0].identifier_data)) {
|
|
@@ -14,44 +15,31 @@ function generateFile(payloads) {
|
|
|
14
15
|
headers.push(identifier);
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const row = [enquoteIdentifier(payload.audience_key)];
|
|
18
|
+
rows.push(headers.join(payloads[0].delimiter));
|
|
19
|
+
for (const payload of payloads) {
|
|
20
|
+
const row = [];
|
|
21
|
+
row.push(payload.audience_key);
|
|
22
22
|
if (payload.identifier_data) {
|
|
23
|
-
for (const
|
|
24
|
-
|
|
25
|
-
row.push(enquoteIdentifier(String(payload.identifier_data[key])));
|
|
26
|
-
}
|
|
23
|
+
for (const identifier of Object.getOwnPropertyNames(payload.identifier_data)) {
|
|
24
|
+
row.push(payload.identifier_data[identifier]);
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
if (payload.unhashed_identifier_data) {
|
|
30
|
-
for (const
|
|
31
|
-
|
|
32
|
-
row.push(`"${hashOrCache(String(payload.unhashed_identifier_data[key]))}"`);
|
|
33
|
-
}
|
|
28
|
+
for (const identifier of Object.getOwnPropertyNames(payload.unhashed_identifier_data)) {
|
|
29
|
+
row.push(hash(payload.unhashed_identifier_data[identifier]));
|
|
34
30
|
}
|
|
35
31
|
}
|
|
36
|
-
rows
|
|
32
|
+
rows.push(row.map(enquoteIdentifier).join(payload.delimiter));
|
|
37
33
|
}
|
|
38
34
|
const filename = payloads[0].filename;
|
|
39
|
-
|
|
35
|
+
const fileContent = Buffer.from(rows.join('\n'));
|
|
36
|
+
return { filename, fileContent };
|
|
40
37
|
}
|
|
41
38
|
exports.generateFile = generateFile;
|
|
42
39
|
function enquoteIdentifier(identifier) {
|
|
43
|
-
return `"${
|
|
40
|
+
return `"${identifier.replace(/"/g, '""')}"`;
|
|
44
41
|
}
|
|
45
42
|
exports.enquoteIdentifier = enquoteIdentifier;
|
|
46
|
-
function createHashOrCache() {
|
|
47
|
-
const cache = new Map();
|
|
48
|
-
return function hashOrCache(value) {
|
|
49
|
-
if (!cache.has(value)) {
|
|
50
|
-
cache.set(value, hash(value));
|
|
51
|
-
}
|
|
52
|
-
return cache.get(value);
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
43
|
const hash = (value) => {
|
|
56
44
|
const hash = crypto_1.createHash('sha256');
|
|
57
45
|
hash.update(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAOnC,SAAS,YAAY,CAAC,QAAmB;IACvC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAOnC,SAAS,YAAY,CAAC,QAAmB;IACvC,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,CAAA;IAGhC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;QAC/B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YAChF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACzB;KACF;IAED,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACxC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE;YACzF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACzB;KACF;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAG9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9B,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC5E,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAW,CAAC,CAAA;aACxD;SACF;QAED,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACpC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;gBACrF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAW,CAAC,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;KAC9D;IAGD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AAClC,CAAC;AAoBQ,oCAAY;AAVrB,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;AAC9C,CAAC;AAQsB,8CAAiB;AANxC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE;IACrC,MAAM,IAAI,GAAG,mBAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/auth.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAS7B,KAAK,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/auth.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAS7B,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,WAAmB,EAAE,SAAiB;IACzG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAsB,GAAG,0BAAc,cAAc,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACvF,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAA;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAA;AAC9B,CAAC;AAVD,iCAUC"}
|
|
@@ -67,7 +67,7 @@ const action = {
|
|
|
67
67
|
metadata: {
|
|
68
68
|
label: 'Metadata',
|
|
69
69
|
type: 'object',
|
|
70
|
-
description:
|
|
70
|
+
description: 'Non-numeric metadata values for measurements using high-cardinality fields that you don\'t intend to segment when you aggregate the data',
|
|
71
71
|
required: false
|
|
72
72
|
},
|
|
73
73
|
measure: {
|
|
@@ -105,9 +105,9 @@ const action = {
|
|
|
105
105
|
};
|
|
106
106
|
async function submitMeasurements(request, orgId, payload) {
|
|
107
107
|
const batches = [...limitBatch(payload)];
|
|
108
|
-
const requests = batches.map(
|
|
108
|
+
const requests = batches.map(batch => request(`${constants_1.M3TER_INGEST_API}/organizations/${orgId}/measurements`, {
|
|
109
109
|
method: 'post',
|
|
110
|
-
json: { measurements: batch }
|
|
110
|
+
json: { 'measurements': batch }
|
|
111
111
|
}));
|
|
112
112
|
return Promise.all(requests);
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/m3ter/submitMeasurements/index.ts"],"names":[],"mappings":";;AAGA,4CAA2E;AAE3E,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,yCAAyC;IACtD,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,GAAG,EAAE;YACH,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;SACzC;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;SAC3C;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAC7C;QACD,EAAE,EAAE;YACF,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACpC;QACD,GAAG,EAAE;YACH,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,UAAU;YAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/m3ter/submitMeasurements/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,16 +23,11 @@ exports.custom_data_field = {
|
|
|
23
23
|
multiple: true
|
|
24
24
|
},
|
|
25
25
|
contents: {
|
|
26
|
-
label: '
|
|
27
|
-
description: '
|
|
26
|
+
label: 'Gender',
|
|
27
|
+
description: 'Gender in lowercase. Either f or m.',
|
|
28
28
|
type: 'object',
|
|
29
29
|
multiple: true,
|
|
30
30
|
properties: {
|
|
31
|
-
id: {
|
|
32
|
-
label: 'Id',
|
|
33
|
-
type: 'number',
|
|
34
|
-
description: 'The id of the Item'
|
|
35
|
-
},
|
|
36
31
|
item_price: {
|
|
37
32
|
label: 'Price',
|
|
38
33
|
type: 'number',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinterest-capi-custom-data.js","sourceRoot":"","sources":["../../../src/destinations/pinterest-conversions/pinterest-capi-custom-data.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAe;IAC3C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kGAAkG;YAC/G,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EACT,8HAA8H;YAChI,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pinterest-capi-custom-data.js","sourceRoot":"","sources":["../../../src/destinations/pinterest-conversions/pinterest-capi-custom-data.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAe;IAC3C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kGAAkG;YAC/G,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EACT,8HAA8H;YAChI,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,qCAAqC;YAClD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+BAA+B;iBAC7C;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,gDAAgD;YAC7D,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,8IAA8I;YAChJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;aACxC;SACF;QACD,aAAa,EAAE;YACb,OAAO,EAAE,oBAAoB;SAC9B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,uBAAuB;SACjC;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,uBAAuB;SACjC;KACF;CACF,CAAA"}
|
|
@@ -6,11 +6,11 @@ const action = {
|
|
|
6
6
|
description: 'Forward identify, group, and alias events from Segment to PlayerZero.',
|
|
7
7
|
fields: {},
|
|
8
8
|
perform: (request, data) => {
|
|
9
|
-
return util_1.send(request, data.settings, [data.payload],
|
|
9
|
+
return util_1.send(request, data.settings, [data.payload], "identity");
|
|
10
10
|
},
|
|
11
11
|
performBatch: async (request, data) => {
|
|
12
|
-
return util_1.send(request, data.settings, data.payload,
|
|
13
|
-
}
|
|
12
|
+
return util_1.send(request, data.settings, data.payload, "identity");
|
|
13
|
+
},
|
|
14
14
|
};
|
|
15
15
|
exports.default = action;
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const syncAudience_1 = __importDefault(require("./syncAudience"));
|
|
7
7
|
const destination = {
|
|
8
|
-
name: 'The Trade Desk
|
|
8
|
+
name: 'The Trade Desk CRM',
|
|
9
9
|
slug: 'actions-the-trade-desk-crm',
|
|
10
10
|
mode: 'cloud',
|
|
11
11
|
authentication: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.196.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@amplitude/ua-parser-js": "^0.7.25",
|
|
42
42
|
"@segment/a1-notation": "^2.1.4",
|
|
43
|
-
"@segment/actions-core": "^3.77.
|
|
44
|
-
"@segment/actions-shared": "^1.59.
|
|
43
|
+
"@segment/actions-core": "^3.77.0",
|
|
44
|
+
"@segment/actions-shared": "^1.59.0",
|
|
45
45
|
"@types/node": "^18.11.15",
|
|
46
46
|
"ajv-formats": "^2.1.1",
|
|
47
47
|
"aws4": "^1.12.0",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"__tests__/__helpers__/"
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "16e5016fefd358c37f159bc9513422473dc7355c"
|
|
81
81
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface Payload {
|
|
2
|
-
s3_aws_access_key?: string;
|
|
3
|
-
s3_aws_secret_key?: string;
|
|
4
|
-
s3_aws_bucket_name?: string;
|
|
5
|
-
s3_aws_region?: string;
|
|
6
|
-
audience_key: string;
|
|
7
|
-
identifier_data?: {
|
|
8
|
-
[k: string]: unknown;
|
|
9
|
-
};
|
|
10
|
-
unhashed_identifier_data?: {
|
|
11
|
-
[k: string]: unknown;
|
|
12
|
-
};
|
|
13
|
-
delimiter: string;
|
|
14
|
-
filename: string;
|
|
15
|
-
enable_batching: boolean;
|
|
16
|
-
batch_size?: number;
|
|
17
|
-
}
|