@segment/action-destinations 3.213.0 → 3.214.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/airship/utilities.js +2 -2
- package/dist/destinations/airship/utilities.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +2 -10
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
- package/dist/destinations/facebook-custom-audiences/index.js +14 -1
- package/dist/destinations/facebook-custom-audiences/index.js.map +1 -1
- package/dist/destinations/klaviyo/generated-types.d.ts +3 -0
- package/dist/destinations/{liveramp-audiences/audienceEnteredSFTP.types.js → klaviyo/generated-types.js} +1 -1
- package/dist/destinations/klaviyo/generated-types.js.map +1 -0
- package/dist/destinations/klaviyo/index.d.ts +4 -0
- package/dist/destinations/klaviyo/index.js +54 -0
- package/dist/destinations/klaviyo/index.js.map +1 -0
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +1 -2
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.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/playerzero-cloud/identifyUser/index.js +3 -3
- package/dist/destinations/segment/properties.js +4 -4
- package/dist/destinations/segment/properties.js.map +1 -1
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js +37 -0
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
- package/dist/destinations/snap-conversions-api/reportConversionEvent/generated-types.d.ts +8 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +2 -0
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
- package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +2 -0
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js +96 -5
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +0 -1
- package/dist/destinations/the-trade-desk-crm/awsClient.js +1 -2
- package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/functions.js +2 -59
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/generated-types.d.ts +3 -0
- package/dist/destinations/the-trade-desk-crm/index.d.ts +29 -3
- package/dist/destinations/the-trade-desk-crm/index.js +63 -1
- package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/properties.d.ts +2 -2
- package/dist/destinations/the-trade-desk-crm/properties.js +31 -22
- package/dist/destinations/the-trade-desk-crm/properties.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/syncAudience/generated-types.d.ts +2 -2
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js +2 -2
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js.map +1 -1
- package/dist/destinations/webhook-audiences/index.js +13 -1
- package/dist/destinations/webhook-audiences/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.d.ts +0 -16
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatPayload = exports.hash = exports.conversionType = exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.item_category = exports.ip_address = exports.user_agent = exports.phone_number = exports.idfv = exports.uuid_c1 = exports.mobile_ad_id = exports.email = exports.timestamp = exports.event_tag = exports.event_conversion_type = exports.event_type = exports.CURRENCY_ISO_4217_CODES = void 0;
|
|
3
|
+
exports.formatPayload = exports.hash = exports.conversionType = exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.brands = exports.item_category = exports.ip_address = exports.user_agent = exports.phone_number = exports.idfv = exports.uuid_c1 = exports.mobile_ad_id = exports.email = exports.timestamp = exports.event_tag = exports.event_conversion_type = exports.event_type = exports.products = exports.CURRENCY_ISO_4217_CODES = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
exports.CURRENCY_ISO_4217_CODES = new Set([
|
|
@@ -65,6 +65,67 @@ exports.CURRENCY_ISO_4217_CODES = new Set([
|
|
|
65
65
|
'OMR',
|
|
66
66
|
'XOF'
|
|
67
67
|
]);
|
|
68
|
+
exports.products = {
|
|
69
|
+
label: 'Products',
|
|
70
|
+
description: 'List of products or items to include. Note: this field overrides the Item IDs, Number of Items, Price, Item Category and Brands fields.',
|
|
71
|
+
type: 'object',
|
|
72
|
+
multiple: true,
|
|
73
|
+
additionalProperties: false,
|
|
74
|
+
properties: {
|
|
75
|
+
item_id: {
|
|
76
|
+
label: 'Item ID',
|
|
77
|
+
type: 'string',
|
|
78
|
+
description: 'International Article Number (EAN) when applicable, or other product or category identifier.',
|
|
79
|
+
allowNull: false
|
|
80
|
+
},
|
|
81
|
+
number_items: {
|
|
82
|
+
label: 'Number of Items',
|
|
83
|
+
type: 'integer',
|
|
84
|
+
description: 'Number of items.',
|
|
85
|
+
allowNull: false
|
|
86
|
+
},
|
|
87
|
+
price: {
|
|
88
|
+
label: 'Price',
|
|
89
|
+
type: 'number',
|
|
90
|
+
description: 'Value of the purchase. This should be a single number.',
|
|
91
|
+
allowNull: false
|
|
92
|
+
},
|
|
93
|
+
item_category: {
|
|
94
|
+
label: 'Category',
|
|
95
|
+
type: 'string',
|
|
96
|
+
description: 'Category of the item.',
|
|
97
|
+
allowNull: false
|
|
98
|
+
},
|
|
99
|
+
brand: {
|
|
100
|
+
label: 'Brand',
|
|
101
|
+
type: 'string',
|
|
102
|
+
description: 'The brand associated with the item_id in the conversion event.',
|
|
103
|
+
allowNull: false
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
default: {
|
|
107
|
+
'@arrayPath': [
|
|
108
|
+
'$.properties.products',
|
|
109
|
+
{
|
|
110
|
+
item_id: {
|
|
111
|
+
'@path': 'product_id'
|
|
112
|
+
},
|
|
113
|
+
number_items: {
|
|
114
|
+
'@path': 'quantity'
|
|
115
|
+
},
|
|
116
|
+
price: {
|
|
117
|
+
'@path': 'price'
|
|
118
|
+
},
|
|
119
|
+
item_category: {
|
|
120
|
+
'@path': 'category'
|
|
121
|
+
},
|
|
122
|
+
brand: {
|
|
123
|
+
'@path': 'brand'
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
};
|
|
68
129
|
exports.event_type = {
|
|
69
130
|
label: 'Event Type',
|
|
70
131
|
description: 'The conversion event type. For custom events, you must use one of the predefined event types (i.e. CUSTOM_EVENT_1). Please refer to the possible event types in [Snapchat Marketing API docs](https://marketingapi.snapchat.com/docs/conversion.html#conversion-parameters).',
|
|
@@ -162,6 +223,15 @@ exports.item_category = {
|
|
|
162
223
|
'@path': '$.properties.category'
|
|
163
224
|
}
|
|
164
225
|
};
|
|
226
|
+
exports.brands = {
|
|
227
|
+
label: 'Brands',
|
|
228
|
+
description: 'Brands associated with the item_ids in the conversion event. This parameter/’s value should be formatted as a list of strings',
|
|
229
|
+
type: 'string',
|
|
230
|
+
multiple: true,
|
|
231
|
+
default: {
|
|
232
|
+
'@path': '$.properties.brands'
|
|
233
|
+
}
|
|
234
|
+
};
|
|
165
235
|
exports.item_ids = {
|
|
166
236
|
label: 'Item IDs',
|
|
167
237
|
description: 'International Article Number (EAN) when applicable, or other product or category identifier.',
|
|
@@ -283,6 +353,13 @@ const hash = (value) => {
|
|
|
283
353
|
};
|
|
284
354
|
exports.hash = hash;
|
|
285
355
|
const isHashedEmail = (email) => new RegExp(/[0-9abcdef]{64}/gi).test(email);
|
|
356
|
+
const transformProperty = (property, items) => items
|
|
357
|
+
.map((i) => i[property] === undefined || i[property] === null
|
|
358
|
+
? ''
|
|
359
|
+
: typeof i[property] === 'number'
|
|
360
|
+
? i[property].toString()
|
|
361
|
+
: i[property].toString().replace(/;/g, ''))
|
|
362
|
+
.join(';');
|
|
286
363
|
const formatPayload = (payload) => {
|
|
287
364
|
if (payload.email) {
|
|
288
365
|
payload.email = payload.email.replace(/\s/g, '').toLowerCase();
|
|
@@ -293,6 +370,19 @@ const formatPayload = (payload) => {
|
|
|
293
370
|
if (payload.mobile_ad_id) {
|
|
294
371
|
payload.mobile_ad_id = payload.mobile_ad_id.toLowerCase();
|
|
295
372
|
}
|
|
373
|
+
let item_ids = undefined;
|
|
374
|
+
let number_items = undefined;
|
|
375
|
+
let item_category = undefined;
|
|
376
|
+
let price = undefined;
|
|
377
|
+
let brands = undefined;
|
|
378
|
+
const p = payload?.products;
|
|
379
|
+
if (p && Array.isArray(p) && p.length > 0) {
|
|
380
|
+
item_ids = transformProperty('item_id', p);
|
|
381
|
+
number_items = transformProperty('number_items', p);
|
|
382
|
+
item_category = transformProperty('item_category', p);
|
|
383
|
+
price = transformProperty('price', p);
|
|
384
|
+
brands = p.map((product) => (product.brand !== undefined ? product.brand : ''));
|
|
385
|
+
}
|
|
296
386
|
return {
|
|
297
387
|
event_type: payload?.event_type,
|
|
298
388
|
event_conversion_type: payload?.event_conversion_type,
|
|
@@ -305,11 +395,12 @@ const formatPayload = (payload) => {
|
|
|
305
395
|
hashed_phone_number: exports.hash(payload?.phone_number),
|
|
306
396
|
user_agent: payload?.user_agent,
|
|
307
397
|
hashed_ip_address: exports.hash(payload?.ip_address),
|
|
308
|
-
item_category: payload?.item_category,
|
|
309
|
-
|
|
398
|
+
item_category: item_category ?? payload?.item_category,
|
|
399
|
+
brands: brands ?? payload?.brands,
|
|
400
|
+
item_ids: item_ids ?? payload?.item_ids,
|
|
310
401
|
description: payload?.description,
|
|
311
|
-
number_items: payload?.number_items,
|
|
312
|
-
price: payload?.price,
|
|
402
|
+
number_items: number_items ?? payload?.number_items,
|
|
403
|
+
price: price ?? payload?.price,
|
|
313
404
|
currency: payload?.currency,
|
|
314
405
|
transaction_id: payload?.transaction_id,
|
|
315
406
|
level: payload?.level,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const uuid_1 = require("@lukeed/uuid");
|
|
|
8
8
|
const aws4_1 = __importDefault(require("aws4"));
|
|
9
9
|
const actions_core_1 = require("@segment/actions-core");
|
|
10
10
|
const sts_1 = require("../../lib/AWS/sts");
|
|
11
|
-
const NODE_ENV =
|
|
11
|
+
const NODE_ENV = `stage`;
|
|
12
12
|
const AWS_REGION = process.env['AWS_REGION'] || `us-west-2`;
|
|
13
13
|
const S3_BUCKET_NAME = `integrations-outbound-event-store-${NODE_ENV}-${AWS_REGION}`;
|
|
14
14
|
const ACTION_SLUG = `actions-the-trade-desk-crm`;
|
|
@@ -19,7 +19,6 @@ const sendEventToAWS = async (request, input) => {
|
|
|
19
19
|
const metadata = JSON.stringify({
|
|
20
20
|
TDDAuthToken: input.TDDAuthToken,
|
|
21
21
|
AdvertiserId: input.AdvertiserId,
|
|
22
|
-
SegmentName: input.SegmentName,
|
|
23
22
|
CrmDataId: input.CrmDataId,
|
|
24
23
|
DropOptions: input.DropOptions,
|
|
25
24
|
RequeueCount: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/awsClient.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA2C;AAC3C,gDAAuB;AAEvB,wDAAiF;AACjF,2CAA4E;
|
|
1
|
+
{"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/awsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ async function processPayload(input) {
|
|
|
12
12
|
if (input.payloads.length < TTD_MIN_RECORD_COUNT) {
|
|
13
13
|
throw new actions_core_1.PayloadValidationError(`received payload count below The Trade Desk's ingestion limits. Expected: >=${TTD_MIN_RECORD_COUNT} actual: ${input.payloads.length}`);
|
|
14
14
|
}
|
|
15
|
-
const crmID =
|
|
15
|
+
const crmID = input.payloads[0].external_id;
|
|
16
16
|
const usersFormatted = extractUsers(input.payloads);
|
|
17
17
|
if (input.features && input.features[exports.TTD_LEGACY_FLOW_FLAG_NAME]) {
|
|
18
18
|
const dropEndpoint = await getCRMDataDropEndpoint(input.request, input.settings, input.payloads[0], crmID);
|
|
@@ -23,72 +23,15 @@ async function processPayload(input) {
|
|
|
23
23
|
TDDAuthToken: input.settings.auth_token,
|
|
24
24
|
AdvertiserId: input.settings.advertiser_id,
|
|
25
25
|
CrmDataId: crmID,
|
|
26
|
-
SegmentName: input.payloads[0].name,
|
|
27
26
|
UsersFormatted: usersFormatted,
|
|
28
27
|
DropOptions: {
|
|
29
28
|
PiiType: input.payloads[0].pii_type,
|
|
30
|
-
MergeMode: 'Replace'
|
|
29
|
+
MergeMode: input.payloads[0].merge_mode || 'Replace'
|
|
31
30
|
}
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
exports.processPayload = processPayload;
|
|
36
|
-
async function getAllDataSegments(request, settings) {
|
|
37
|
-
const allDataSegments = [];
|
|
38
|
-
let response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}`, {
|
|
39
|
-
method: 'GET',
|
|
40
|
-
headers: {
|
|
41
|
-
'Content-Type': 'application/json',
|
|
42
|
-
'TTD-Auth': settings.auth_token
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
let segments = response.data.Segments;
|
|
46
|
-
let pagingToken = response.data.PagingToken;
|
|
47
|
-
while (segments.length > 0) {
|
|
48
|
-
allDataSegments.push(...segments);
|
|
49
|
-
response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}?pagingToken=${pagingToken}`, {
|
|
50
|
-
method: 'GET',
|
|
51
|
-
headers: {
|
|
52
|
-
'Content-Type': 'application/json',
|
|
53
|
-
'TTD-Auth': settings.auth_token
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
segments = response.data.Segments;
|
|
57
|
-
pagingToken = response.data.PagingToken;
|
|
58
|
-
}
|
|
59
|
-
return allDataSegments;
|
|
60
|
-
}
|
|
61
|
-
async function getCRMInfo(request, settings, payload) {
|
|
62
|
-
let segmentId;
|
|
63
|
-
const segments = await getAllDataSegments(request, settings);
|
|
64
|
-
const segmentExists = segments.filter(function (segment) {
|
|
65
|
-
if (segment.SegmentName == payload.name) {
|
|
66
|
-
return segment;
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
if (segmentExists.length > 1) {
|
|
70
|
-
throw new actions_core_1.IntegrationError('Multiple audiences found with the same name', 'INVALID_SETTINGS', 400);
|
|
71
|
-
}
|
|
72
|
-
else if (segmentExists.length == 1) {
|
|
73
|
-
segmentId = segmentExists[0].CrmDataId;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const response = await request(`${BASE_URL}/crmdata/segment`, {
|
|
77
|
-
method: 'POST',
|
|
78
|
-
headers: {
|
|
79
|
-
'Content-Type': 'application/json',
|
|
80
|
-
'TTD-Auth': settings.auth_token
|
|
81
|
-
},
|
|
82
|
-
json: {
|
|
83
|
-
AdvertiserId: settings.advertiser_id,
|
|
84
|
-
SegmentName: payload.name,
|
|
85
|
-
Region: payload.region
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
segmentId = response.data.CrmDataId;
|
|
89
|
-
}
|
|
90
|
-
return segmentId;
|
|
91
|
-
}
|
|
92
35
|
function extractUsers(payloads) {
|
|
93
36
|
let users = '';
|
|
94
37
|
payloads.forEach((payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Settings } from './generated-types';
|
|
3
|
-
|
|
1
|
+
import type { AudienceDestinationDefinition } from '@segment/actions-core';
|
|
2
|
+
import type { Settings, AudienceSettings } from './generated-types';
|
|
3
|
+
export interface CREATE_API_RESPONSE {
|
|
4
|
+
CrmDataId: string;
|
|
5
|
+
FirstPartyDataId: number;
|
|
6
|
+
}
|
|
7
|
+
export interface GET_API_RESPONSE {
|
|
8
|
+
AdvertiserId: string;
|
|
9
|
+
CrmDataId: string;
|
|
10
|
+
SegmentName: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Segments {
|
|
13
|
+
CrmDataId: string;
|
|
14
|
+
SegmentName: string;
|
|
15
|
+
Region: string;
|
|
16
|
+
FirstPartyDataId: number;
|
|
17
|
+
}
|
|
18
|
+
export interface GET_CRMS_API_RESPONSE {
|
|
19
|
+
Segments: [
|
|
20
|
+
{
|
|
21
|
+
CrmDataId: string;
|
|
22
|
+
SegmentName: string;
|
|
23
|
+
Region: string;
|
|
24
|
+
FirstPartyDataId: number;
|
|
25
|
+
}
|
|
26
|
+
];
|
|
27
|
+
PagingToken: string;
|
|
28
|
+
}
|
|
29
|
+
declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
|
|
4
30
|
export default destination;
|
|
@@ -3,9 +3,12 @@ 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 actions_core_1 = require("@segment/actions-core");
|
|
6
7
|
const syncAudience_1 = __importDefault(require("./syncAudience"));
|
|
8
|
+
const API_VERSION = 'v3';
|
|
9
|
+
const BASE_URL = `https://api.thetradedesk.com/${API_VERSION}`;
|
|
7
10
|
const destination = {
|
|
8
|
-
name: 'The Trade Desk
|
|
11
|
+
name: 'The Trade Desk Crm',
|
|
9
12
|
slug: 'actions-the-trade-desk-crm',
|
|
10
13
|
mode: 'cloud',
|
|
11
14
|
authentication: {
|
|
@@ -39,6 +42,65 @@ const destination = {
|
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
},
|
|
45
|
+
audienceFields: {
|
|
46
|
+
region: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
label: 'Region',
|
|
49
|
+
description: 'Region of your audience.'
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
audienceConfig: {
|
|
53
|
+
mode: {
|
|
54
|
+
type: 'synced',
|
|
55
|
+
full_audience_sync: false
|
|
56
|
+
},
|
|
57
|
+
async createAudience(request, createAudienceInput) {
|
|
58
|
+
const audienceName = createAudienceInput.audienceName;
|
|
59
|
+
const advertiserId = createAudienceInput.settings.advertiser_id;
|
|
60
|
+
const authToken = createAudienceInput.settings.auth_token;
|
|
61
|
+
const region = createAudienceInput.audienceSettings?.region;
|
|
62
|
+
if (audienceName?.length == 0) {
|
|
63
|
+
throw new actions_core_1.IntegrationError('Missing audience name value', 'MISSING_REQUIRED_FIELD', 400);
|
|
64
|
+
}
|
|
65
|
+
const response = await request(`${BASE_URL}/crmdata/segment`, {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'application/json',
|
|
69
|
+
'TTD-Auth': authToken
|
|
70
|
+
},
|
|
71
|
+
json: {
|
|
72
|
+
AdvertiserId: advertiserId,
|
|
73
|
+
SegmentName: audienceName,
|
|
74
|
+
Region: region
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
externalId: response.data.CrmDataId
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
async getAudience(request, getAudienceInput) {
|
|
82
|
+
const crmDataId = getAudienceInput.externalId;
|
|
83
|
+
const advertiserId = getAudienceInput.settings.advertiser_id;
|
|
84
|
+
const authToken = getAudienceInput.settings.auth_token;
|
|
85
|
+
const response = await request(`${BASE_URL}/crmdata/segment/${advertiserId}/${crmDataId}`, {
|
|
86
|
+
method: 'GET',
|
|
87
|
+
headers: {
|
|
88
|
+
'Content-Type': 'application/json',
|
|
89
|
+
'TTD-Auth': authToken
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
if (response.status !== 200) {
|
|
93
|
+
throw new actions_core_1.IntegrationError('Invalid response from get audience request', 'INVALID_RESPONSE', 400);
|
|
94
|
+
}
|
|
95
|
+
const externalId = response.data.CrmDataId;
|
|
96
|
+
if (externalId !== getAudienceInput.externalId) {
|
|
97
|
+
throw new actions_core_1.IntegrationError("Unable to verify ownership over audience. Segment Audience ID doesn't match The Trade Desk's Audience ID.", 'INVALID_REQUEST_DATA', 400);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
externalId: externalId
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
},
|
|
42
104
|
actions: {
|
|
43
105
|
syncAudience: syncAudience_1.default
|
|
44
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { InputField } from '@segment/actions-core/destination-kit/types';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const region: InputField;
|
|
2
|
+
export declare const external_id: InputField;
|
|
4
3
|
export declare const pii_type: InputField;
|
|
5
4
|
export declare const email: InputField;
|
|
6
5
|
export declare const event_name: InputField;
|
|
7
6
|
export declare const enable_batching: InputField;
|
|
8
7
|
export declare const batch_size: InputField;
|
|
8
|
+
export declare const merge_mode: InputField;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.batch_size = exports.enable_batching = exports.event_name = exports.email = exports.pii_type = exports.
|
|
4
|
-
exports.
|
|
5
|
-
label: '
|
|
6
|
-
description: 'The
|
|
7
|
-
type: '
|
|
8
|
-
required: true
|
|
9
|
-
};
|
|
10
|
-
exports.region = {
|
|
11
|
-
label: 'Region',
|
|
12
|
-
description: 'The geographical region of the CRM data segment based on the origin of PII.',
|
|
13
|
-
type: 'string',
|
|
3
|
+
exports.merge_mode = exports.batch_size = exports.enable_batching = exports.event_name = exports.email = exports.pii_type = exports.external_id = void 0;
|
|
4
|
+
exports.external_id = {
|
|
5
|
+
label: 'External Audience ID',
|
|
6
|
+
description: 'The CRM Data ID for The Trade Desk Segment. ',
|
|
7
|
+
type: 'hidden',
|
|
14
8
|
required: true,
|
|
15
|
-
default:
|
|
9
|
+
default: {
|
|
10
|
+
'@path': '$.context.personas.external_audience_id'
|
|
11
|
+
}
|
|
16
12
|
};
|
|
17
13
|
exports.pii_type = {
|
|
18
14
|
label: 'PII Type',
|
|
@@ -27,34 +23,47 @@ exports.pii_type = {
|
|
|
27
23
|
exports.email = {
|
|
28
24
|
label: 'User Email',
|
|
29
25
|
description: "The user's email address to send to The Trade Desk.",
|
|
30
|
-
type: '
|
|
26
|
+
type: 'hidden',
|
|
31
27
|
default: {
|
|
32
28
|
'@path': '$.context.traits.email'
|
|
33
|
-
}
|
|
34
|
-
unsafe_hidden: true
|
|
29
|
+
}
|
|
35
30
|
};
|
|
36
31
|
exports.event_name = {
|
|
37
32
|
label: 'Event Name',
|
|
38
33
|
description: 'The name of the current Segment event.',
|
|
39
|
-
type: '
|
|
34
|
+
type: 'hidden',
|
|
40
35
|
default: {
|
|
41
36
|
'@path': '$.event'
|
|
42
|
-
}
|
|
43
|
-
unsafe_hidden: true
|
|
37
|
+
}
|
|
44
38
|
};
|
|
45
39
|
exports.enable_batching = {
|
|
46
40
|
label: 'Enable Batching',
|
|
47
41
|
description: 'Enable batching of requests to The Trade Desk CRM Segment.',
|
|
48
42
|
type: 'boolean',
|
|
49
|
-
default: true
|
|
50
|
-
unsafe_hidden: true
|
|
43
|
+
default: true
|
|
51
44
|
};
|
|
52
45
|
exports.batch_size = {
|
|
53
46
|
label: 'Batch Size',
|
|
54
47
|
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
55
48
|
type: 'number',
|
|
56
49
|
required: false,
|
|
57
|
-
default: 100000
|
|
58
|
-
|
|
50
|
+
default: 100000
|
|
51
|
+
};
|
|
52
|
+
exports.merge_mode = {
|
|
53
|
+
label: 'Merge Mode',
|
|
54
|
+
description: 'The merge mode to use when syncing data to The Trade Desk CRM Segment.',
|
|
55
|
+
type: 'string',
|
|
56
|
+
choices: [
|
|
57
|
+
{
|
|
58
|
+
label: 'Add',
|
|
59
|
+
value: 'Add'
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: 'Replace',
|
|
63
|
+
value: 'Replace'
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
default: 'Replace',
|
|
67
|
+
required: false
|
|
59
68
|
};
|
|
60
69
|
//# sourceMappingURL=properties.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,OAAO,EAAE,yCAAyC;KACnD;CACF,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,wEAAwE;IACrF,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;KAC1D;IACD,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,wBAAwB;KAClC;CACF,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,SAAS;KACnB;CACF,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;CACd,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,MAAM;CAChB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,wEAAwE;IACrF,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP;YACE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,KAAK;CAChB,CAAA"}
|
|
@@ -7,10 +7,10 @@ const action = {
|
|
|
7
7
|
description: 'Drop users into the given CRM Data Segment',
|
|
8
8
|
defaultSubscription: 'event = "Audience Entered"',
|
|
9
9
|
fields: {
|
|
10
|
-
|
|
11
|
-
region: { ...properties_1.region },
|
|
10
|
+
external_id: { ...properties_1.external_id },
|
|
12
11
|
pii_type: { ...properties_1.pii_type },
|
|
13
12
|
email: { ...properties_1.email },
|
|
13
|
+
merge_mode: { ...properties_1.merge_mode },
|
|
14
14
|
enable_batching: { ...properties_1.enable_batching },
|
|
15
15
|
event_name: { ...properties_1.event_name },
|
|
16
16
|
batch_size: { ...properties_1.batch_size }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/the-trade-desk-crm/syncAudience/index.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/the-trade-desk-crm/syncAudience/index.ts"],"names":[],"mappings":";;AAGA,8CAAiH;AACjH,4CAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,4CAA4C;IACzD,mBAAmB,EAAE,4BAA4B;IACjD,MAAM,EAAE;QACN,WAAW,EAAE,EAAE,GAAG,wBAAW,EAAE;QAC/B,QAAQ,EAAE,EAAE,GAAG,qBAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,eAAe,EAAE,EAAE,GAAG,4BAAe,EAAE;QACvC,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;QAC7B,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;KAC9B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1D,OAAO,0BAAc,CAAC;YACpB,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,OAAO,0BAAc,CAAC;YACpB,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,OAAO;YACjB,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -45,6 +45,10 @@ const destination = {
|
|
|
45
45
|
full_audience_sync: false
|
|
46
46
|
},
|
|
47
47
|
async getAudience(request, getAudienceInput) {
|
|
48
|
+
const statsClient = getAudienceInput?.statsContext?.statsClient;
|
|
49
|
+
if (statsClient) {
|
|
50
|
+
statsClient.incr('actions-webhook-audiences.getAudience', 1, getAudienceInput.statsContext?.tags);
|
|
51
|
+
}
|
|
48
52
|
const getAudienceUrl = getAudienceInput.settings.getAudienceUrl;
|
|
49
53
|
if (!getAudienceUrl) {
|
|
50
54
|
throw new actions_core_1.IntegrationError('Missing get audience url value', 'MISSING_REQUIRED_FIELD', 400);
|
|
@@ -73,6 +77,10 @@ const destination = {
|
|
|
73
77
|
},
|
|
74
78
|
async createAudience(request, createAudienceInput) {
|
|
75
79
|
const audienceName = createAudienceInput.audienceName;
|
|
80
|
+
const statsClient = createAudienceInput?.statsContext?.statsClient;
|
|
81
|
+
if (statsClient) {
|
|
82
|
+
statsClient.incr('actions-webhook-audiences.createAudience', 1, createAudienceInput.statsContext?.tags);
|
|
83
|
+
}
|
|
76
84
|
if (audienceName?.length == 0) {
|
|
77
85
|
throw new actions_core_1.IntegrationError('Missing audience name value', 'MISSING_REQUIRED_FIELD', 400);
|
|
78
86
|
}
|
|
@@ -111,7 +119,11 @@ const destination = {
|
|
|
111
119
|
actions: {
|
|
112
120
|
send: {
|
|
113
121
|
...send_1.default,
|
|
114
|
-
perform: (request, { payload, settings, audienceSettings }) => {
|
|
122
|
+
perform: (request, { payload, settings, audienceSettings, statsContext }) => {
|
|
123
|
+
const statsClient = statsContext?.statsClient;
|
|
124
|
+
if (statsClient) {
|
|
125
|
+
statsClient.incr('actions-webhook-audiences.send', 1, statsContext?.tags);
|
|
126
|
+
}
|
|
115
127
|
const extras = parseExtraSettingsJson(audienceSettings?.extras);
|
|
116
128
|
return send_1.default.perform(request, {
|
|
117
129
|
audienceSettings,
|