@segment/action-destinations 3.290.0 → 3.290.1-channels-1094.67
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/angler-ai/index.js +1 -0
- package/dist/destinations/angler-ai/index.js.map +1 -1
- package/dist/destinations/angler-ai/saveCheckoutEvent/index.js +2 -1
- package/dist/destinations/angler-ai/saveCheckoutEvent/index.js.map +1 -1
- package/dist/destinations/angler-ai/saveOrder/index.js +4 -4
- package/dist/destinations/angler-ai/saveOrder/index.js.map +1 -1
- package/dist/destinations/angler-ai/saveUser/index.js +2 -1
- package/dist/destinations/angler-ai/saveUser/index.js.map +1 -1
- package/dist/destinations/app-fit/track/index.js +1 -1
- package/dist/destinations/app-fit/track/index.js.map +1 -1
- package/dist/destinations/aws-s3/generated-types.d.ts +11 -0
- package/dist/destinations/aws-s3/generated-types.js +3 -0
- package/dist/destinations/aws-s3/generated-types.js.map +1 -0
- package/dist/destinations/aws-s3/index.d.ts +4 -0
- package/dist/destinations/aws-s3/index.js +96 -0
- package/dist/destinations/aws-s3/index.js.map +1 -0
- package/dist/destinations/aws-s3/operations.d.ts +18 -0
- package/dist/destinations/aws-s3/operations.js +85 -0
- package/dist/destinations/aws-s3/operations.js.map +1 -0
- package/dist/destinations/aws-s3/properties.d.ts +1 -0
- package/dist/destinations/aws-s3/properties.js +5 -0
- package/dist/destinations/aws-s3/properties.js.map +1 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/generated-types.d.ts +36 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/generated-types.js +3 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/generated-types.js.map +1 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/index.d.ts +5 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/index.js +241 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/index.js.map +1 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/s3.d.ts +20 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/s3.js +99 -0
- package/dist/destinations/aws-s3/syncAudienceToCSV/s3.js.map +1 -0
- package/dist/destinations/contentstack/customAttributesSync/generated-types.d.ts +1 -0
- package/dist/destinations/contentstack/customAttributesSync/index.js +25 -15
- package/dist/destinations/contentstack/customAttributesSync/index.js.map +1 -1
- package/dist/destinations/contentstack/index.js +9 -0
- package/dist/destinations/contentstack/index.js.map +1 -1
- package/dist/destinations/customerio/test-helper.d.ts +1 -1
- package/dist/destinations/dynamic-yield-audiences/index.js +1 -1
- package/dist/destinations/dynamic-yield-audiences/index.js.map +1 -1
- package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js +12 -7
- package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.d.ts +3 -3
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.js +9 -9
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.d.ts +2 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.js +1 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/insider/insider-helpers.js +57 -76
- package/dist/destinations/insider/insider-helpers.js.map +1 -1
- package/dist/destinations/sendgrid/sendgrid-properties.d.ts +0 -1
- package/dist/destinations/sendgrid/updateUserProfile/generated-types.d.ts +0 -1
- package/dist/destinations/sendgrid/updateUserProfile/index.js +6 -19
- package/dist/destinations/sendgrid/updateUserProfile/index.js.map +1 -1
- package/dist/destinations/taboola-actions/index.js +1 -1
- package/dist/destinations/taboola-actions/index.js.map +1 -1
- package/dist/destinations/taboola-actions/syncAudience/index.js +5 -4
- package/dist/destinations/taboola-actions/syncAudience/index.js.map +1 -1
- package/dist/destinations/webhook-audiences/index.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const operations_1 = require("../operations");
|
|
4
|
+
const s3_1 = require("./s3");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Upload CSV',
|
|
7
|
+
description: 'Uploads audience membership data to a CSV file in S3.',
|
|
8
|
+
fields: {
|
|
9
|
+
columns: {
|
|
10
|
+
label: 'Columns',
|
|
11
|
+
description: `Column names to write to S3 CSV file.`,
|
|
12
|
+
type: 'object',
|
|
13
|
+
defaultObjectUI: 'object',
|
|
14
|
+
required: true,
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
properties: {
|
|
17
|
+
audience_name: {
|
|
18
|
+
label: 'Audience Name column',
|
|
19
|
+
description: 'Name of column for the Audience Name',
|
|
20
|
+
type: 'string'
|
|
21
|
+
},
|
|
22
|
+
audience_id: {
|
|
23
|
+
label: 'Audience ID column',
|
|
24
|
+
description: 'Name of column for the Audience ID',
|
|
25
|
+
type: 'string'
|
|
26
|
+
},
|
|
27
|
+
audience_action: {
|
|
28
|
+
label: 'Audience Action column',
|
|
29
|
+
description: 'Indicates if the user has been added or removed from the Audience. true = added, false = removed.',
|
|
30
|
+
type: 'string'
|
|
31
|
+
},
|
|
32
|
+
email: {
|
|
33
|
+
label: 'Email column',
|
|
34
|
+
description: 'Name of column for email address',
|
|
35
|
+
type: 'string'
|
|
36
|
+
},
|
|
37
|
+
user_id: {
|
|
38
|
+
label: 'User ID column',
|
|
39
|
+
description: 'Name of column for user ID',
|
|
40
|
+
type: 'string'
|
|
41
|
+
},
|
|
42
|
+
anonymous_id: {
|
|
43
|
+
label: 'Anonymous ID column',
|
|
44
|
+
description: 'Name of column for anonymous ID',
|
|
45
|
+
type: 'string'
|
|
46
|
+
},
|
|
47
|
+
timestamp: {
|
|
48
|
+
label: 'Timestamp',
|
|
49
|
+
description: 'Name of column for timestamp for when the user was added or removed from the Audience',
|
|
50
|
+
type: 'string'
|
|
51
|
+
},
|
|
52
|
+
message_id: {
|
|
53
|
+
label: 'Message ID',
|
|
54
|
+
description: 'Name of column for the unique identifier for the message.',
|
|
55
|
+
type: 'string'
|
|
56
|
+
},
|
|
57
|
+
space_id: {
|
|
58
|
+
label: 'Space ID',
|
|
59
|
+
description: 'Name of column for the unique identifier for the Segment Engage Space that generated the event.',
|
|
60
|
+
type: 'string'
|
|
61
|
+
},
|
|
62
|
+
integrations_object: {
|
|
63
|
+
label: 'Integrations Object',
|
|
64
|
+
description: 'Name of column for the Integration Object. This contains JSON details of which destinations the event was synced to by Segment',
|
|
65
|
+
type: 'string'
|
|
66
|
+
},
|
|
67
|
+
properties_or_traits: {
|
|
68
|
+
label: 'Properties or Traits',
|
|
69
|
+
description: 'Name of column for properties and traits. This data contains the entire properties object from a track() call or the traits object from an identify() call emitted from Engage when a user is added to or removed from an Audience',
|
|
70
|
+
type: 'string'
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
default: {
|
|
74
|
+
audience_name: 'audience_name',
|
|
75
|
+
audience_id: 'audience_id',
|
|
76
|
+
audience_action: 'audience_action',
|
|
77
|
+
email: 'email',
|
|
78
|
+
user_id: 'user_id',
|
|
79
|
+
anonymous_id: 'anonymous_id',
|
|
80
|
+
timestamp: 'timestamp',
|
|
81
|
+
message_id: 'message_id',
|
|
82
|
+
space_id: 'space_id',
|
|
83
|
+
integrations_object: 'integrations_object',
|
|
84
|
+
properties_or_traits: 'properties_or_traits'
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
audienceName: {
|
|
88
|
+
label: 'Audience Name Hidden Field',
|
|
89
|
+
description: 'Audience Name Hidden Field',
|
|
90
|
+
type: 'string',
|
|
91
|
+
required: true,
|
|
92
|
+
unsafe_hidden: true,
|
|
93
|
+
default: { '@path': '$.context.personas.computation_key' }
|
|
94
|
+
},
|
|
95
|
+
audienceId: {
|
|
96
|
+
label: 'Audience ID Hidden Field',
|
|
97
|
+
description: 'Audience ID Hidden Field',
|
|
98
|
+
type: 'string',
|
|
99
|
+
required: true,
|
|
100
|
+
unsafe_hidden: true,
|
|
101
|
+
default: { '@path': '$.context.personas.computation_id' }
|
|
102
|
+
},
|
|
103
|
+
email: {
|
|
104
|
+
label: 'Email Hidden Field',
|
|
105
|
+
description: 'Email Hidden Field',
|
|
106
|
+
type: 'string',
|
|
107
|
+
required: false,
|
|
108
|
+
unsafe_hidden: true,
|
|
109
|
+
default: {
|
|
110
|
+
'@if': {
|
|
111
|
+
exists: { '@path': '$.traits.email' },
|
|
112
|
+
then: { '@path': '$.traits.email' },
|
|
113
|
+
else: { '@path': '$.context.traits.email' }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
userId: {
|
|
118
|
+
label: 'User ID Hidden Field',
|
|
119
|
+
description: 'User ID Hidden Field',
|
|
120
|
+
type: 'string',
|
|
121
|
+
required: false,
|
|
122
|
+
unsafe_hidden: true,
|
|
123
|
+
default: { '@path': '$.userId' }
|
|
124
|
+
},
|
|
125
|
+
anonymousId: {
|
|
126
|
+
label: 'Anonymous ID Hidden Field',
|
|
127
|
+
description: 'Anonymous ID Hidden Field',
|
|
128
|
+
type: 'string',
|
|
129
|
+
required: false,
|
|
130
|
+
unsafe_hidden: true,
|
|
131
|
+
default: { '@path': '$.anonymousId' }
|
|
132
|
+
},
|
|
133
|
+
timestamp: {
|
|
134
|
+
label: 'Timestamp Hidden Field',
|
|
135
|
+
description: 'Timestamp Hidden Field',
|
|
136
|
+
type: 'datetime',
|
|
137
|
+
required: true,
|
|
138
|
+
unsafe_hidden: true,
|
|
139
|
+
default: { '@path': '$.timestamp' }
|
|
140
|
+
},
|
|
141
|
+
messageId: {
|
|
142
|
+
label: 'Message ID Hidden Field',
|
|
143
|
+
description: 'Message ID Hidden Field',
|
|
144
|
+
type: 'string',
|
|
145
|
+
required: true,
|
|
146
|
+
unsafe_hidden: true,
|
|
147
|
+
default: { '@path': '$.messageId' }
|
|
148
|
+
},
|
|
149
|
+
spaceId: {
|
|
150
|
+
label: 'Space ID Hidden Field',
|
|
151
|
+
description: 'Space ID Hidden Field',
|
|
152
|
+
type: 'string',
|
|
153
|
+
required: true,
|
|
154
|
+
unsafe_hidden: true,
|
|
155
|
+
default: { '@path': '$.context.personas.space_id' }
|
|
156
|
+
},
|
|
157
|
+
integrationsObject: {
|
|
158
|
+
label: 'Integrations Object Hidden Field',
|
|
159
|
+
description: 'Integrations Object Hidden Field',
|
|
160
|
+
type: 'object',
|
|
161
|
+
required: true,
|
|
162
|
+
unsafe_hidden: true,
|
|
163
|
+
default: { '@path': '$.integrations' }
|
|
164
|
+
},
|
|
165
|
+
propertiesOrTraits: {
|
|
166
|
+
label: 'Properties or Traits Hidden Field',
|
|
167
|
+
description: 'Properties or Traits Hidden Field',
|
|
168
|
+
type: 'object',
|
|
169
|
+
required: true,
|
|
170
|
+
unsafe_hidden: true,
|
|
171
|
+
default: {
|
|
172
|
+
'@if': {
|
|
173
|
+
exists: { '@path': '$.traits' },
|
|
174
|
+
then: { '@path': '$.traits' },
|
|
175
|
+
else: { '@path': '$.properties' }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
additional_identifiers_and_traits_columns: {
|
|
180
|
+
label: 'Additional Identifier and Trait Columns',
|
|
181
|
+
description: 'Additional user identifiers and traits to include as separate columns in the CSV file.',
|
|
182
|
+
type: 'object',
|
|
183
|
+
multiple: true,
|
|
184
|
+
required: false,
|
|
185
|
+
defaultObjectUI: 'keyvalue:only',
|
|
186
|
+
properties: {
|
|
187
|
+
key: {
|
|
188
|
+
label: 'Trait or Identifier Name',
|
|
189
|
+
description: 'Name of the trait or identifier in the identify() traits object or track() properties object.',
|
|
190
|
+
type: 'string',
|
|
191
|
+
required: true
|
|
192
|
+
},
|
|
193
|
+
value: {
|
|
194
|
+
label: 'Column Name',
|
|
195
|
+
description: 'Name of the column to write to the CSV file.',
|
|
196
|
+
type: 'string',
|
|
197
|
+
required: true
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
enable_batching: {
|
|
202
|
+
type: 'boolean',
|
|
203
|
+
label: 'Batch data',
|
|
204
|
+
description: 'Receive events in a batch payload. This is required for LiveRamp audiences ingestion.',
|
|
205
|
+
unsafe_hidden: true,
|
|
206
|
+
required: true,
|
|
207
|
+
default: true
|
|
208
|
+
},
|
|
209
|
+
batch_size: {
|
|
210
|
+
label: 'Batch Size',
|
|
211
|
+
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
212
|
+
type: 'number',
|
|
213
|
+
unsafe_hidden: true,
|
|
214
|
+
required: false,
|
|
215
|
+
default: 25000
|
|
216
|
+
},
|
|
217
|
+
computation_class: {
|
|
218
|
+
label: 'Segment Audience Computation Class',
|
|
219
|
+
description: "Hidden field used to verify that the payload is generated by an Audience. Payloads not containing computation_class = 'audience' will be dropped before the perform() fuction call.",
|
|
220
|
+
type: 'string',
|
|
221
|
+
required: true,
|
|
222
|
+
unsafe_hidden: true,
|
|
223
|
+
default: { '@path': '$.context.personas.computation_class' },
|
|
224
|
+
choices: [{ label: 'Audience', value: 'audience' }]
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
perform: async (_, { payload, settings, audienceSettings }) => {
|
|
228
|
+
return processData([payload], settings, audienceSettings);
|
|
229
|
+
},
|
|
230
|
+
performBatch: (_, { payload, settings, audienceSettings }) => {
|
|
231
|
+
return processData(payload, settings, audienceSettings);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
async function processData(payloads, settings, audienceSettings) {
|
|
235
|
+
operations_1.validate(payloads, audienceSettings);
|
|
236
|
+
const fileContent = operations_1.generateFile(payloads, audienceSettings);
|
|
237
|
+
const s3Client = new s3_1.S3CSVClient(settings.s3_aws_region, settings.iam_role_arn, settings.iam_external_id);
|
|
238
|
+
await s3Client.uploadS3(settings, audienceSettings, fileContent);
|
|
239
|
+
}
|
|
240
|
+
exports.default = action;
|
|
241
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/aws-s3/syncAudienceToCSV/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AudienceSettings, Settings } from '../generated-types';
|
|
2
|
+
interface Credentials {
|
|
3
|
+
accessKeyId: string;
|
|
4
|
+
secretAccessKey: string;
|
|
5
|
+
sessionToken: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class S3CSVClient {
|
|
8
|
+
roleArn: string;
|
|
9
|
+
roleSessionName: string;
|
|
10
|
+
region: string;
|
|
11
|
+
externalId: string;
|
|
12
|
+
constructor(region: string, roleArn: string, externalId: string);
|
|
13
|
+
assumeRole(): Promise<Credentials>;
|
|
14
|
+
private getSTSCredentials;
|
|
15
|
+
uploadS3(settings: Settings, audienceSettings: AudienceSettings, fileContent: string): Promise<{
|
|
16
|
+
statusCode: number;
|
|
17
|
+
message: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.S3CSVClient = void 0;
|
|
23
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
24
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
25
|
+
const uuid_1 = require("@lukeed/uuid");
|
|
26
|
+
const process = __importStar(require("process"));
|
|
27
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
28
|
+
class S3CSVClient {
|
|
29
|
+
constructor(region, roleArn, externalId) {
|
|
30
|
+
this.region = region;
|
|
31
|
+
this.roleSessionName = uuid_1.v4();
|
|
32
|
+
this.roleArn = roleArn;
|
|
33
|
+
this.externalId = externalId;
|
|
34
|
+
}
|
|
35
|
+
async assumeRole() {
|
|
36
|
+
const intermediaryARN = process.env.AMAZON_S3_ACTIONS_ROLE_ADDRESS;
|
|
37
|
+
const intermediaryExternalId = process.env.AMAZON_S3_ACTIONS_EXTERNAL_ID;
|
|
38
|
+
const intermediaryCreds = await this.getSTSCredentials(intermediaryARN, intermediaryExternalId);
|
|
39
|
+
return this.getSTSCredentials(this.roleArn, this.externalId, intermediaryCreds);
|
|
40
|
+
}
|
|
41
|
+
async getSTSCredentials(roleId, externalId, credentials) {
|
|
42
|
+
const options = { region: this.region, credentials };
|
|
43
|
+
const stsClient = new client_sts_1.STSClient(options);
|
|
44
|
+
const command = new client_sts_1.AssumeRoleCommand({
|
|
45
|
+
RoleArn: roleId,
|
|
46
|
+
RoleSessionName: this.roleSessionName,
|
|
47
|
+
ExternalId: externalId
|
|
48
|
+
});
|
|
49
|
+
const result = await stsClient.send(command);
|
|
50
|
+
if (!result.Credentials ||
|
|
51
|
+
!result.Credentials.AccessKeyId ||
|
|
52
|
+
!result.Credentials.SecretAccessKey ||
|
|
53
|
+
!result.Credentials.SessionToken) {
|
|
54
|
+
throw new actions_core_1.IntegrationError('Failed to assume role', actions_core_1.ErrorCodes.INVALID_AUTHENTICATION, 403);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
accessKeyId: result.Credentials.AccessKeyId,
|
|
58
|
+
secretAccessKey: result.Credentials.SecretAccessKey,
|
|
59
|
+
sessionToken: result.Credentials.SessionToken
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
async uploadS3(settings, audienceSettings, fileContent) {
|
|
63
|
+
let filename = audienceSettings.filename ?? '';
|
|
64
|
+
const dateSuffix = new Date().toISOString().replace(/[:.]/g, '-');
|
|
65
|
+
if (filename.endsWith('.csv')) {
|
|
66
|
+
filename = filename.replace('.csv', `_${dateSuffix}.csv`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
filename = filename ? `${filename}_${dateSuffix}.csv` : `${dateSuffix}.csv`;
|
|
70
|
+
}
|
|
71
|
+
const bucketName = settings.s3_aws_bucket_name;
|
|
72
|
+
const folderName = audienceSettings.s3_aws_folder_name || '';
|
|
73
|
+
const credentials = await this.assumeRole();
|
|
74
|
+
const s3Client = new client_s3_1.S3Client({
|
|
75
|
+
region: this.region,
|
|
76
|
+
credentials: {
|
|
77
|
+
accessKeyId: credentials.accessKeyId,
|
|
78
|
+
secretAccessKey: credentials.secretAccessKey,
|
|
79
|
+
sessionToken: credentials.sessionToken
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const objectKey = folderName ? `${folderName}${filename}` : filename;
|
|
83
|
+
const uploadParams = {
|
|
84
|
+
Bucket: bucketName,
|
|
85
|
+
Key: objectKey,
|
|
86
|
+
Body: fileContent,
|
|
87
|
+
ContentType: 'text/csv'
|
|
88
|
+
};
|
|
89
|
+
try {
|
|
90
|
+
await s3Client.send(new client_s3_1.PutObjectCommand(uploadParams));
|
|
91
|
+
return { statusCode: 200, message: 'Upload successful' };
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
throw new Error(`Non-retryable error: ${err}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.S3CSVClient = S3CSVClient;
|
|
99
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/aws-s3/syncAudienceToCSV/s3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,oDAAkE;AAClE,kDAAsF;AACtF,uCAA2C;AAC3C,iDAAkC;AAClC,wDAAoE;AAQpE,MAAa,WAAW;IAMtB,YAAY,MAAc,EAAE,OAAe,EAAE,UAAkB;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,SAAM,EAAE,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,8BAAwC,CAAA;QAC5E,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,6BAAuC,CAAA;QAElF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAA;QAC/F,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;IACjF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,UAAkB,EAAE,WAAyB;QAC3F,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;QACpD,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,8BAAiB,CAAC;YACpC,OAAO,EAAE,MAAM;YACf,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,UAAU;SACvB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,IACE,CAAC,MAAM,CAAC,WAAW;YACnB,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW;YAC/B,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe;YACnC,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAChC;YAEA,MAAM,IAAI,+BAAgB,CAAC,uBAAuB,EAAE,yBAAU,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;SAC5F;QACD,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;YAC3C,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;YACnD,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY;SAC9C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAkB,EAAE,gBAAkC,EAAE,WAAmB;QACxF,IAAI,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAA;QAC9C,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEjE,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAE7B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,UAAU,MAAM,CAAC,CAAA;SAC1D;aAAM;YAEL,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAA;SAC5E;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAA;QAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,EAAE,CAAA;QAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QAE3C,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE;gBACX,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC;SACF,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;QACpE,MAAM,YAAY,GAA0B;YAC1C,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,UAAU;SACxB,CAAA;QAED,IAAI;YAEF,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,YAAY,CAAC,CAAC,CAAA;YACvD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;SACzD;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;SAC/C;IACH,CAAC;CACF;AAvFD,kCAuFC"}
|
|
@@ -19,25 +19,35 @@ const action = {
|
|
|
19
19
|
label: 'User ID',
|
|
20
20
|
description: 'ID for the user',
|
|
21
21
|
required: false
|
|
22
|
+
},
|
|
23
|
+
createAttributes: {
|
|
24
|
+
label: 'Create Attributes',
|
|
25
|
+
type: 'boolean',
|
|
26
|
+
description: 'Inidicates if Attributes should be created in Contentstack',
|
|
27
|
+
required: false,
|
|
28
|
+
default: { '@path': '$.integrations.Contentstack.createAttributes' }
|
|
22
29
|
}
|
|
23
30
|
},
|
|
24
31
|
perform: async (request, { payload, settings }) => {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
headers: {
|
|
37
|
-
'x-cs-eclipse-user-uid': payload.userId ?? ''
|
|
38
|
-
}
|
|
39
|
-
});
|
|
32
|
+
const { createAttributes } = payload;
|
|
33
|
+
if (createAttributes) {
|
|
34
|
+
const personalizeAttributesData = (await utils_1.fetchAllAttributes(request, settings.personalizeApiBaseUrl)).map((attribute) => attribute?.key);
|
|
35
|
+
const attributesToCreate = Object.keys(payload.traits || {}).filter((trait) => !personalizeAttributesData.includes(trait));
|
|
36
|
+
if (attributesToCreate?.length) {
|
|
37
|
+
const firstAttributeRes = await utils_1.createCustomAttrbute(request, attributesToCreate[0], settings.personalizeApiBaseUrl);
|
|
38
|
+
if (firstAttributeRes.status === 401)
|
|
39
|
+
return firstAttributeRes;
|
|
40
|
+
const otherAttributes = attributesToCreate.slice(1);
|
|
41
|
+
await Promise.allSettled(otherAttributes.map((trait) => utils_1.createCustomAttrbute(request, trait, settings.personalizeApiBaseUrl)));
|
|
42
|
+
}
|
|
40
43
|
}
|
|
44
|
+
return request(`${settings.personalizeEdgeApiBaseUrl}/user-attributes`, {
|
|
45
|
+
method: 'patch',
|
|
46
|
+
json: payload.traits,
|
|
47
|
+
headers: {
|
|
48
|
+
'x-cs-eclipse-user-uid': payload.userId ?? ''
|
|
49
|
+
}
|
|
50
|
+
});
|
|
41
51
|
}
|
|
42
52
|
};
|
|
43
53
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/contentstack/customAttributesSync/index.ts"],"names":[],"mappings":";;AAGA,mCAAkE;AAGlE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,yDAAyD;IACtE,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;YAChC,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;YAChC,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,MAAM,yBAAyB,GAAG,CAAC,MAAM,0BAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CACvG,CAAC,SAAgC,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,CACrD,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/contentstack/customAttributesSync/index.ts"],"names":[],"mappings":";;AAGA,mCAAkE;AAGlE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,yDAAyD;IACtE,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;YAChC,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;YAChC,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,KAAK;SAChB;QACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE;SACrE;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;QACpC,IAAI,gBAAgB,EAAE;YACpB,MAAM,yBAAyB,GAAG,CAAC,MAAM,0BAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CACvG,CAAC,SAAgC,EAAE,EAAE,CAAC,SAAS,EAAE,GAAG,CACrD,CAAA;YAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CACjE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC9D,CAAA;YAED,IAAI,kBAAkB,EAAE,MAAM,EAAE;gBAC9B,MAAM,iBAAiB,GAAG,MAAM,4BAAoB,CAClD,OAAO,EACP,kBAAkB,CAAC,CAAC,CAAC,EACrB,QAAQ,CAAC,qBAAqB,CAC/B,CAAA;gBACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,iBAAiB,CAAA;gBAE9D,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAEnD,MAAM,OAAO,CAAC,UAAU,CACtB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,4BAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAC7G,CAAA;aACF;SACF;QAED,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,yBAAyB,kBAAkB,EAAE;YACtE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,OAAO,EAAE;gBACP,uBAAuB,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;aAC9C;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -61,6 +61,15 @@ const destination = {
|
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
63
|
},
|
|
64
|
+
presets: [
|
|
65
|
+
{
|
|
66
|
+
name: 'Contentstack Browser Plugin',
|
|
67
|
+
subscribe: 'type = "track" or type = "identify" or type = "group" or type = "page" or type = "alias"',
|
|
68
|
+
partnerAction: 'contentstackPlugin',
|
|
69
|
+
mapping: {},
|
|
70
|
+
type: 'automatic'
|
|
71
|
+
}
|
|
72
|
+
],
|
|
64
73
|
actions: {
|
|
65
74
|
customAttributesSync: customAttributesSync_1.default
|
|
66
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/contentstack/index.ts"],"names":[],"mappings":";;;;;AAEA,kFAAyD;AAGzD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,gEAAgE;aAC9E;YACD,oBAAoB,EAAE;gBACpB,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,uEAAuE;aACrF;YACD,qBAAqB,EAAE;gBACrB,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,yBAAyB,EAAE;gBACzB,KAAK,EAAE,+BAA+B;gBACtC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE;gBAC1E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;gBACD,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,aAAa,EAAE,IAAI,CAAC,YAAY;iBACjC,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;QACzF,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC5C,gBAAgB,EAAE,QAAQ,CAAC,KAAK;gBAChC,eAAe,EAAE,QAAQ,CAAC,oBAAoB;aAC/C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,oBAAoB,EAApB,8BAAoB;KACrB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/contentstack/index.ts"],"names":[],"mappings":";;;;;AAEA,kFAAyD;AAGzD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,gEAAgE;aAC9E;YACD,oBAAoB,EAAE;gBACpB,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,uEAAuE;aACrF;YACD,qBAAqB,EAAE;gBACrB,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,yBAAyB,EAAE;gBACzB,KAAK,EAAE,+BAA+B;gBACtC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,kDAAkD;aAChE;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE;gBAC1E,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;gBACD,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,eAAe;oBAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,aAAa,EAAE,IAAI,CAAC,YAAY;iBACjC,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;QACzF,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC5C,gBAAgB,EAAE,QAAQ,CAAC,KAAK;gBAChC,eAAe,EAAE,QAAQ,CAAC,oBAAoB;aAC/C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,6BAA6B;YACnC,SAAS,EAAE,0FAA0F;YACrG,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,WAAW;SAClB;KACF;IACD,OAAO,EAAE;QACP,oBAAoB,EAApB,8BAAoB;KACrB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import nock from 'nock';
|
|
3
3
|
import { AccountRegion } from './utils';
|
|
4
4
|
export declare const nockTrackInternalEndpoint: (region: AccountRegion) => nock.Scope;
|
|
5
|
-
export declare function getDefaultMappings(action: string): import("lodash").Dictionary<import("@segment/actions-core/
|
|
5
|
+
export declare function getDefaultMappings(action: string): import("lodash").Dictionary<import("@segment/actions-core/destination-kittypes").FieldValue | undefined>;
|
|
6
6
|
export declare function testRunner(fn: Function): void;
|
|
@@ -23,7 +23,7 @@ const destination = {
|
|
|
23
23
|
type: 'string',
|
|
24
24
|
label: 'Identifier Type',
|
|
25
25
|
required: true,
|
|
26
|
-
description: 'The type of Identifier to send to Dynamic Yield. E.g. `email`, `
|
|
26
|
+
description: 'The type of Identifier to send to Dynamic Yield. E.g. `email`, `anonymousId`, `userId` or any other custom identifier. Make sure to configure the identifier in the `Customized Setup` below so that it is sent to Dynamic Yield.'
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
authentication: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAAuF;AAEvF,kEAAyC;AACzC,uCAAoE;AACpE,uCAA2C;AAO3C,MAAM,WAAW,GAA8D;IAC7E,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,wFAAwF;IACrG,cAAc,EAAE;QACd,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,oEAAoE;SAClF;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,10 +116,12 @@ const action = {
|
|
|
116
116
|
throw new actions_core_1.IntegrationError('External Audience ID is required', 'MISSING_REQUIRED_FIELD', 400);
|
|
117
117
|
}
|
|
118
118
|
const audienceName = audienceSettings?.audience_name;
|
|
119
|
-
const identifierType =
|
|
119
|
+
const identifierType = audienceSettings?.identifier_type ?? '';
|
|
120
|
+
const normalizedIdentifierType = identifierType.toLowerCase().replace(/_/g, '');
|
|
120
121
|
const audienceValue = payload.traits_or_props[payload.segment_audience_key];
|
|
122
|
+
let sendNormalizeIdType = true;
|
|
121
123
|
let primaryIdentifier;
|
|
122
|
-
switch (
|
|
124
|
+
switch (normalizedIdentifierType) {
|
|
123
125
|
case 'email':
|
|
124
126
|
primaryIdentifier = payload.email ?? undefined;
|
|
125
127
|
break;
|
|
@@ -129,12 +131,15 @@ const action = {
|
|
|
129
131
|
case 'anonymousid':
|
|
130
132
|
primaryIdentifier = payload.anonymousId ?? undefined;
|
|
131
133
|
break;
|
|
132
|
-
default:
|
|
134
|
+
default: {
|
|
133
135
|
primaryIdentifier = payload.traits_or_props[identifierType] ?? undefined;
|
|
136
|
+
sendNormalizeIdType = false;
|
|
137
|
+
}
|
|
134
138
|
}
|
|
135
139
|
if (!primaryIdentifier) {
|
|
136
140
|
throw new actions_core_1.IntegrationError('Primary Identifier not found', 'MISSING_REQUIRED_FIELD', 400);
|
|
137
141
|
}
|
|
142
|
+
const idTypeToSend = sendNormalizeIdType ? normalizedIdentifierType : identifierType;
|
|
138
143
|
const URL = helpers_1.getUpsertURL(settings.dataCenter);
|
|
139
144
|
const json = {
|
|
140
145
|
type: 'audience_membership_change_request',
|
|
@@ -143,7 +148,7 @@ const action = {
|
|
|
143
148
|
account: {
|
|
144
149
|
account_settings: {
|
|
145
150
|
section_id: settings.sectionId,
|
|
146
|
-
identifier_type:
|
|
151
|
+
identifier_type: idTypeToSend,
|
|
147
152
|
accessKey: settings.accessKey
|
|
148
153
|
}
|
|
149
154
|
},
|
|
@@ -151,9 +156,9 @@ const action = {
|
|
|
151
156
|
{
|
|
152
157
|
user_identities: [
|
|
153
158
|
{
|
|
154
|
-
type:
|
|
155
|
-
encoding:
|
|
156
|
-
value:
|
|
159
|
+
type: idTypeToSend,
|
|
160
|
+
encoding: idTypeToSend === 'email' ? '"sha-256"' : 'raw',
|
|
161
|
+
value: idTypeToSend === 'email' ? helpers_1.hashAndEncode(primaryIdentifier) : primaryIdentifier
|
|
157
162
|
}
|
|
158
163
|
],
|
|
159
164
|
audiences: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/dynamic-yield-audiences/syncAudience/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,wCAAwD;AAExD,MAAM,MAAM,GAA0D;IACpE,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,gDAAgD;IAC7D,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,oBAAoB,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,4EAA4E;YACzF,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE;gBACP,OAAO,EAAE,yCAAyC;aACnD;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,oCAAoC;aAC9C;SACF;QACD,eAAe,EAAE;YACf,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;iBAClC;aACF;SACF;QACD,0BAA0B,EAAE;YAC1B,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,qHAAqH;YACvH,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,sCAAsC;aAChD;YACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;SACpD;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;SACtC;QACD,MAAM,EAAE;YACN,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SACjC;KACF;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClE,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAA;QAExC,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE;YACpC,MAAM,IAAI,+BAAgB,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SACvF;QAED,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE;YACtC,MAAM,IAAI,+BAAgB,CAAC,6BAA6B,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SACzF;QAED,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,IAAI,+BAAgB,CAAC,kCAAkC,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SAC9F;QAED,MAAM,YAAY,GAAG,gBAAgB,EAAE,aAAa,CAAA;QACpD,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/dynamic-yield-audiences/syncAudience/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InputField } from '@segment/actions-core';
|
|
2
2
|
import { RequestClient } from '@segment/actions-core';
|
|
3
|
-
import { Logger, StatsClient,
|
|
3
|
+
import type { Logger, StatsClient, EngageDestinationCache } from '@segment/actions-core/destination-kit';
|
|
4
4
|
import type { Settings } from '../generated-types';
|
|
5
5
|
import { Profile } from '@segment/actions-shared';
|
|
6
6
|
export declare type ApiLookupConfig = {
|
|
@@ -15,8 +15,8 @@ export declare type ApiLookupConfig = {
|
|
|
15
15
|
shouldRetryOnRetryableError?: boolean;
|
|
16
16
|
};
|
|
17
17
|
export declare const getRequestId: ({ method, url, body, headers }: ApiLookupConfig) => string;
|
|
18
|
-
export declare const getCachedResponse: ({ responseType }: ApiLookupConfig, requestId: string,
|
|
19
|
-
export declare const performApiLookup: (request: RequestClient, apiLookupConfig: ApiLookupConfig, profile: Profile, statsClient: StatsClient | undefined, tags: string[], settings: Settings, logger?: Logger | undefined,
|
|
18
|
+
export declare const getCachedResponse: ({ responseType }: ApiLookupConfig, requestId: string, engageDestinationCache: EngageDestinationCache, datafeedTags: string[]) => Promise<any>;
|
|
19
|
+
export declare const performApiLookup: (request: RequestClient, apiLookupConfig: ApiLookupConfig, profile: Profile, statsClient: StatsClient | undefined, tags: string[], settings: Settings, logger?: Logger | undefined, engageDestinationCache?: EngageDestinationCache | undefined) => Promise<any>;
|
|
20
20
|
export declare const apiLookupActionFields: Record<string, InputField>;
|
|
21
21
|
export declare const apiLookupLiquidKey = "datafeeds";
|
|
22
22
|
export declare const FLAGON_NAME_DATA_FEEDS = "is-datafeeds-enabled";
|