@segment/action-destinations 3.457.0 → 3.457.1-staging-2bbab8979.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/amazon-amc/constants.d.ts +17 -0
- package/dist/destinations/amazon-amc/constants.js +25 -0
- package/dist/destinations/amazon-amc/constants.js.map +1 -0
- package/dist/destinations/amazon-amc/function.d.ts +4 -2
- package/dist/destinations/amazon-amc/function.js +44 -18
- package/dist/destinations/amazon-amc/function.js.map +1 -1
- package/dist/destinations/amazon-amc/generated-types.d.ts +5 -1
- package/dist/destinations/amazon-amc/index.js +89 -34
- package/dist/destinations/amazon-amc/index.js.map +1 -1
- package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js +1 -1
- package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js.map +1 -1
- package/dist/destinations/amazon-amc/types.d.ts +44 -0
- package/dist/destinations/amazon-amc/types.js +4 -1
- package/dist/destinations/amazon-amc/types.js.map +1 -1
- package/dist/destinations/amazon-amc/utils.d.ts +3 -49
- package/dist/destinations/amazon-amc/utils.js +10 -24
- package/dist/destinations/amazon-amc/utils.js.map +1 -1
- package/dist/destinations/amplitude/event-schema.js +30 -3
- package/dist/destinations/amplitude/event-schema.js.map +1 -1
- package/dist/destinations/amplitude/logEvent/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logEvent/index.js +11 -3
- package/dist/destinations/amplitude/logEvent/index.js.map +1 -1
- package/dist/destinations/amplitude/logEventV2/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logEventV2/index.js +10 -5
- package/dist/destinations/amplitude/logEventV2/index.js.map +1 -1
- package/dist/destinations/amplitude/logPurchase/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logPurchase/index.js +10 -5
- package/dist/destinations/amplitude/logPurchase/index.js.map +1 -1
- package/dist/destinations/aws-kinesis/utils.js +3 -0
- package/dist/destinations/aws-kinesis/utils.js.map +1 -1
- package/dist/destinations/braze/ecommerce/constants.d.ts +8 -0
- package/dist/destinations/braze/ecommerce/constants.js +12 -0
- package/dist/destinations/braze/ecommerce/constants.js.map +1 -0
- package/dist/destinations/braze/ecommerce/fields.d.ts +25 -0
- package/dist/destinations/braze/ecommerce/fields.js +555 -0
- package/dist/destinations/braze/ecommerce/fields.js.map +1 -0
- package/dist/destinations/braze/ecommerce/functions.d.ts +10 -0
- package/dist/destinations/braze/ecommerce/functions.js +502 -0
- package/dist/destinations/braze/ecommerce/functions.js.map +1 -0
- package/dist/destinations/braze/ecommerce/generated-types.d.ts +40 -0
- package/dist/destinations/braze/ecommerce/generated-types.js +3 -0
- package/dist/destinations/braze/ecommerce/generated-types.js.map +1 -0
- package/dist/destinations/braze/ecommerce/index.d.ts +5 -0
- package/dist/destinations/braze/ecommerce/index.js +20 -0
- package/dist/destinations/braze/ecommerce/index.js.map +1 -0
- package/dist/destinations/braze/ecommerce/types.d.ts +123 -0
- package/dist/destinations/braze/ecommerce/types.js +3 -0
- package/dist/destinations/braze/ecommerce/types.js.map +1 -0
- package/dist/destinations/braze/ecommerceSingleProduct/generated-types.d.ts +38 -0
- package/dist/destinations/braze/ecommerceSingleProduct/generated-types.js +3 -0
- package/dist/destinations/braze/ecommerceSingleProduct/generated-types.js.map +1 -0
- package/dist/destinations/braze/ecommerceSingleProduct/index.d.ts +5 -0
- package/dist/destinations/braze/ecommerceSingleProduct/index.js +20 -0
- package/dist/destinations/braze/ecommerceSingleProduct/index.js.map +1 -0
- package/dist/destinations/braze/index.js +65 -5
- package/dist/destinations/braze/index.js.map +1 -1
- package/dist/destinations/customerio/index.js +1 -1
- package/dist/destinations/google-enhanced-conversions/functions.js +2 -6
- package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion2/index.js +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion2/index.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/kafka/generated-types.d.ts +0 -3
- package/dist/destinations/kafka/index.js +0 -21
- package/dist/destinations/kafka/index.js.map +1 -1
- package/dist/destinations/kafka/send/generated-types.d.ts +1 -0
- package/dist/destinations/kafka/send/index.js +7 -0
- package/dist/destinations/kafka/send/index.js.map +1 -1
- package/dist/destinations/kafka/utils.js +0 -13
- package/dist/destinations/kafka/utils.js.map +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/fields.js.map +1 -1
- package/dist/destinations/linkedin-conversions/api/index.js +6 -2
- package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
- package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
- package/dist/destinations/memora/generated-types.d.ts +5 -0
- package/dist/destinations/memora/generated-types.js +3 -0
- package/dist/destinations/memora/generated-types.js.map +1 -0
- package/dist/destinations/memora/index.d.ts +6 -0
- package/dist/destinations/memora/index.js +69 -0
- package/dist/destinations/memora/index.js.map +1 -0
- package/dist/destinations/memora/upsertProfile/generated-types.d.ts +12 -0
- package/dist/destinations/memora/upsertProfile/generated-types.js +3 -0
- package/dist/destinations/memora/upsertProfile/generated-types.js.map +1 -0
- package/dist/destinations/memora/upsertProfile/index.d.ts +5 -0
- package/dist/destinations/memora/upsertProfile/index.js +297 -0
- package/dist/destinations/memora/upsertProfile/index.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.d.ts +1 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.js +96 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.d.ts +59 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.js +3 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.d.ts +5 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js +82 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/index.d.ts +1 -1
- package/dist/destinations/salesforce-marketing-cloud/index.js +3 -1
- package/dist/destinations/salesforce-marketing-cloud/index.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +1 -0
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +25 -0
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
- package/dist/destinations/snap-audiences/index.js.map +1 -1
- package/dist/destinations/snap-audiences/syncAudience/fields.js +2 -2
- package/dist/destinations/snap-audiences/syncAudience/fields.js.map +1 -1
- package/dist/destinations/snap-audiences/syncAudience/functions.js +27 -6
- package/dist/destinations/snap-audiences/syncAudience/functions.js.map +1 -1
- package/dist/destinations/snap-audiences/syncAudience/types.d.ts +1 -1
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/constants.js +11 -11
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/fields.js +9 -3
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/fields.js.map +1 -1
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js +2 -2
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js.map +1 -1
- package/dist/destinations/taguchi/syncUserProfile/utils.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/functions.d.ts +2 -2
- package/dist/destinations/the-trade-desk-crm/functions.js +76 -18
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/tiktok-app-events/index.js +1 -1
- package/dist/destinations/tiktok-app-events/index.js.map +1 -1
- package/dist/destinations/tiktok-app-events/reportAppEvent/constants.js.map +1 -1
- package/dist/destinations/tiktok-app-events/reportAppEvent/fields/common_fields.js +29 -29
- package/dist/destinations/tiktok-app-events/reportAppEvent/fields/common_fields.js.map +1 -1
- package/dist/destinations/tiktok-app-events/reportAppEvent/utils.js +4 -3
- package/dist/destinations/tiktok-app-events/reportAppEvent/utils.js.map +1 -1
- package/dist/destinations/twilio-messaging/sendMessage/constants.d.ts +3 -3
- package/dist/destinations/twilio-messaging/sendMessage/constants.js +3 -3
- package/dist/destinations/twilio-messaging/sendMessage/constants.js.map +1 -1
- package/dist/destinations/twilio-messaging/sendMessage/fields.js.map +1 -1
- package/dist/destinations/twilio-messaging/sendMessage/utils.js.map +1 -1
- package/dist/destinations/yonoma/trackEvent/index.js +1 -1
- package/dist/destinations/yonoma/trackEvent/index.js.map +1 -1
- package/dist/destinations/yonoma/trackPageView/index.js +1 -1
- package/dist/destinations/yonoma/trackPageView/index.js.map +1 -1
- package/dist/destinations/yonoma/upsertContact/index.js +3 -3
- package/dist/destinations/yonoma/upsertContact/index.js.map +1 -1
- package/dist/destinations/zapier/send/constants.js.map +1 -1
- package/dist/destinations/zapier/send/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const SYNC_TO: {
|
|
2
|
+
DSP: string;
|
|
3
|
+
AMC: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const AUTHORIZATION_URL: Record<string, string>;
|
|
6
|
+
export declare const CONSTANTS: {
|
|
7
|
+
CREATE: string;
|
|
8
|
+
DELETE: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const CURRENCY: string[];
|
|
11
|
+
export declare const REGEX_AUDIENCEID: RegExp;
|
|
12
|
+
export declare const REGEX_ADVERTISERID: RegExp;
|
|
13
|
+
export declare const REGEX_EXTERNALUSERID: RegExp;
|
|
14
|
+
export declare const TTL_MAX_VALUE = 34300800;
|
|
15
|
+
export declare const ALPHA_NUMERIC: RegExp;
|
|
16
|
+
export declare const EMAIL_ALLOWED: RegExp;
|
|
17
|
+
export declare const NON_DIGIT: RegExp;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NON_DIGIT = exports.EMAIL_ALLOWED = exports.ALPHA_NUMERIC = exports.TTL_MAX_VALUE = exports.REGEX_EXTERNALUSERID = exports.REGEX_ADVERTISERID = exports.REGEX_AUDIENCEID = exports.CURRENCY = exports.CONSTANTS = exports.AUTHORIZATION_URL = exports.SYNC_TO = void 0;
|
|
4
|
+
exports.SYNC_TO = {
|
|
5
|
+
DSP: 'dsp',
|
|
6
|
+
AMC: 'amc'
|
|
7
|
+
};
|
|
8
|
+
exports.AUTHORIZATION_URL = {
|
|
9
|
+
'https://advertising-api.amazon.com': 'https://api.amazon.com',
|
|
10
|
+
'https://advertising-api-eu.amazon.com': 'https://api.amazon.co.uk',
|
|
11
|
+
'https://advertising-api-fe.amazon.com': 'https://api.amazon.co.jp'
|
|
12
|
+
};
|
|
13
|
+
exports.CONSTANTS = {
|
|
14
|
+
CREATE: 'CREATE',
|
|
15
|
+
DELETE: 'DELETE'
|
|
16
|
+
};
|
|
17
|
+
exports.CURRENCY = ['USD', 'CAD', 'JPY', 'GBP', 'EUR', 'SAR', 'AUD', 'AED', 'CNY', 'MXN', 'INR', 'SEK', 'TRY'];
|
|
18
|
+
exports.REGEX_AUDIENCEID = /"audienceId":(\d+)/;
|
|
19
|
+
exports.REGEX_ADVERTISERID = /"advertiserId":"(\d+)"/;
|
|
20
|
+
exports.REGEX_EXTERNALUSERID = /^[0-9a-zA-Z-_]{1,128}$/;
|
|
21
|
+
exports.TTL_MAX_VALUE = 34300800;
|
|
22
|
+
exports.ALPHA_NUMERIC = /[^a-z0-9]/g;
|
|
23
|
+
exports.EMAIL_ALLOWED = /[^a-z0-9.@-]/g;
|
|
24
|
+
exports.NON_DIGIT = /[^\d]/g;
|
|
25
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG;IACrB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACX,CAAA;AAEY,QAAA,iBAAiB,GAA2B;IACvD,oCAAoC,EAAE,wBAAwB;IAC9D,uCAAuC,EAAE,0BAA0B;IACnE,uCAAuC,EAAE,0BAA0B;CACpE,CAAA;AAEY,QAAA,SAAS,GAAG;IACvB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAA;AAEY,QAAA,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAEtG,QAAA,gBAAgB,GAAG,oBAAoB,CAAA;AAEvC,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAE7C,QAAA,oBAAoB,GAAG,wBAAwB,CAAA;AAE/C,QAAA,aAAa,GAAG,QAAQ,CAAA;AAExB,QAAA,aAAa,GAAG,YAAY,CAAA;AAE5B,QAAA,aAAa,GAAG,eAAe,CAAA;AAE/B,QAAA,SAAS,GAAG,QAAQ,CAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { MultiStatusResponse, RequestClient } from '@segment/actions-core';
|
|
2
2
|
import { AudienceSettings, Settings } from './generated-types';
|
|
3
3
|
import type { Payload } from './syncAudiencesToDSP/generated-types';
|
|
4
|
-
import { AudienceRecord } from './types';
|
|
5
|
-
import { RecordsResponseType } from './utils';
|
|
4
|
+
import { AudienceRecord, RecordsResponseType } from './types';
|
|
6
5
|
export declare function processPayload(request: RequestClient, settings: Settings, payload: Payload[], audienceSettings: AudienceSettings): Promise<{
|
|
7
6
|
result: RecordsResponseType;
|
|
8
7
|
}>;
|
|
9
8
|
export declare function createPayloadToUploadRecords(payloads: Payload[], audienceSettings: AudienceSettings): {
|
|
9
|
+
targetResource?: {
|
|
10
|
+
connectionId: string;
|
|
11
|
+
} | undefined;
|
|
10
12
|
records: AudienceRecord[];
|
|
11
13
|
audienceId: string;
|
|
12
14
|
};
|
|
@@ -5,9 +5,8 @@ exports.createPayloadToUploadRecords = createPayloadToUploadRecords;
|
|
|
5
5
|
exports.processBatchPayload = processBatchPayload;
|
|
6
6
|
exports.updateMultiStatusResponses = updateMultiStatusResponses;
|
|
7
7
|
const actions_core_1 = require("@segment/actions-core");
|
|
8
|
-
const actions_core_2 = require("@segment/actions-core");
|
|
9
|
-
const utils_1 = require("./utils");
|
|
10
8
|
const hashing_utils_1 = require("../../lib/hashing-utils");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
11
10
|
async function processPayload(request, settings, payload, audienceSettings) {
|
|
12
11
|
const payloadRecord = createPayloadToUploadRecords(payload, audienceSettings);
|
|
13
12
|
const payloadString = JSON.stringify(payloadRecord).replace(/"audienceId":"(\d+)"/, '"audienceId":$1');
|
|
@@ -26,33 +25,41 @@ async function processPayload(request, settings, payload, audienceSettings) {
|
|
|
26
25
|
}
|
|
27
26
|
function createPayloadToUploadRecords(payloads, audienceSettings) {
|
|
28
27
|
const records = [];
|
|
29
|
-
const
|
|
28
|
+
const [audienceId, connectionId = ''] = payloads[0].audienceId.split(':');
|
|
29
|
+
const { syncTo, advertiserId, amcInstanceId, amcAccountId, amcAccountMarketplaceId } = audienceSettings || {};
|
|
30
|
+
if ((!syncTo || syncTo === constants_1.SYNC_TO.DSP) && !advertiserId) {
|
|
31
|
+
throw new actions_core_1.PayloadValidationError('Advertiser Id value is required when syncing an audience to DSP');
|
|
32
|
+
}
|
|
33
|
+
if (syncTo === constants_1.SYNC_TO.AMC && (!amcInstanceId || !amcAccountId || !amcAccountMarketplaceId)) {
|
|
34
|
+
throw new actions_core_1.PayloadValidationError('AMC Instance Id, AMC Account Id and AMC Account Marketplace Id value are required when syncing audience to AMC');
|
|
35
|
+
}
|
|
30
36
|
payloads.forEach((payload) => {
|
|
31
|
-
if (!
|
|
37
|
+
if (!constants_1.REGEX_EXTERNALUSERID.test(payload.externalUserId)) {
|
|
32
38
|
return;
|
|
33
39
|
}
|
|
34
40
|
const hashedPII = hashedPayload(payload);
|
|
35
41
|
const payloadRecord = {
|
|
36
42
|
externalUserId: payload.externalUserId,
|
|
37
43
|
countryCode: audienceSettings.countryCode,
|
|
38
|
-
action: payload.event_name == 'Audience Entered' ?
|
|
44
|
+
action: payload.event_name == 'Audience Entered' ? constants_1.CONSTANTS.CREATE : constants_1.CONSTANTS.DELETE,
|
|
39
45
|
hashedPII: [hashedPII]
|
|
40
46
|
};
|
|
41
47
|
records.push(payloadRecord);
|
|
42
48
|
});
|
|
43
49
|
if (!records?.length) {
|
|
44
|
-
throw new
|
|
50
|
+
throw new actions_core_1.PayloadValidationError('externalUserId must satisfy regular expression pattern: [0-9a-zA-Z\\-\\_]{1,128}}');
|
|
45
51
|
}
|
|
46
52
|
return {
|
|
47
|
-
records
|
|
48
|
-
audienceId
|
|
53
|
+
records,
|
|
54
|
+
audienceId,
|
|
55
|
+
...(connectionId ? { targetResource: { connectionId } } : {})
|
|
49
56
|
};
|
|
50
57
|
}
|
|
51
58
|
function validateAndPreparePayload(payloads, multiStatusResponse, audienceSettings) {
|
|
52
59
|
const validPayloadIndicesBitmap = [];
|
|
53
60
|
const filteredPayloads = [];
|
|
54
61
|
payloads.forEach((payload, originalBatchIndex) => {
|
|
55
|
-
if (!
|
|
62
|
+
if (!constants_1.REGEX_EXTERNALUSERID.test(payload.externalUserId)) {
|
|
56
63
|
multiStatusResponse.setErrorResponseAtIndex(originalBatchIndex, {
|
|
57
64
|
status: 400,
|
|
58
65
|
errortype: 'PAYLOAD_VALIDATION_FAILED',
|
|
@@ -60,11 +67,28 @@ function validateAndPreparePayload(payloads, multiStatusResponse, audienceSettin
|
|
|
60
67
|
});
|
|
61
68
|
return;
|
|
62
69
|
}
|
|
70
|
+
const { syncTo, advertiserId, amcInstanceId, amcAccountId, amcAccountMarketplaceId } = audienceSettings || {};
|
|
71
|
+
if ((!syncTo || syncTo === constants_1.SYNC_TO.DSP) && !advertiserId) {
|
|
72
|
+
multiStatusResponse.setErrorResponseAtIndex(originalBatchIndex, {
|
|
73
|
+
status: 400,
|
|
74
|
+
errortype: 'PAYLOAD_VALIDATION_FAILED',
|
|
75
|
+
errormessage: 'Advertiser Id value is required when syncing an audience to DSP'
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (syncTo === constants_1.SYNC_TO.AMC && (!amcInstanceId || !amcAccountId || !amcAccountMarketplaceId)) {
|
|
80
|
+
multiStatusResponse.setErrorResponseAtIndex(originalBatchIndex, {
|
|
81
|
+
status: 400,
|
|
82
|
+
errortype: 'PAYLOAD_VALIDATION_FAILED',
|
|
83
|
+
errormessage: 'AMC Instance Id, AMC Account Id and AMC Account Marketplace Id value are required when syncing audience to AMC'
|
|
84
|
+
});
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
63
87
|
const hashedPII = hashedPayload(payload);
|
|
64
88
|
const payloadRecord = {
|
|
65
89
|
externalUserId: payload.externalUserId,
|
|
66
90
|
countryCode: audienceSettings.countryCode,
|
|
67
|
-
action: payload.event_name == 'Audience Entered' ?
|
|
91
|
+
action: payload.event_name == 'Audience Entered' ? constants_1.CONSTANTS.CREATE : constants_1.CONSTANTS.DELETE,
|
|
68
92
|
hashedPII: [hashedPII]
|
|
69
93
|
};
|
|
70
94
|
filteredPayloads.push(payloadRecord);
|
|
@@ -73,12 +97,17 @@ function validateAndPreparePayload(payloads, multiStatusResponse, audienceSettin
|
|
|
73
97
|
return { filteredPayloads, validPayloadIndicesBitmap };
|
|
74
98
|
}
|
|
75
99
|
async function processBatchPayload(request, settings, payloads, audienceSettings) {
|
|
76
|
-
const multiStatusResponse = new
|
|
100
|
+
const multiStatusResponse = new actions_core_1.MultiStatusResponse();
|
|
77
101
|
const { filteredPayloads, validPayloadIndicesBitmap } = validateAndPreparePayload(payloads, multiStatusResponse, audienceSettings);
|
|
78
102
|
if (!filteredPayloads.length) {
|
|
79
103
|
return multiStatusResponse;
|
|
80
104
|
}
|
|
81
|
-
const
|
|
105
|
+
const [audienceId, connectionId = ''] = payloads[0].audienceId.split(':');
|
|
106
|
+
const payloadString = JSON.stringify({
|
|
107
|
+
audienceId: audienceId,
|
|
108
|
+
records: filteredPayloads,
|
|
109
|
+
...(connectionId ? { targetResource: { connectionId } } : {})
|
|
110
|
+
}).replace(/"audienceId":"(\d+)"/, '"audienceId":$1');
|
|
82
111
|
const response = await request(`${settings.region}/amc/audiences/records`, {
|
|
83
112
|
method: 'POST',
|
|
84
113
|
body: payloadString,
|
|
@@ -120,17 +149,14 @@ function normalize(value, allowedChars, trim = true) {
|
|
|
120
149
|
normalized = normalized.trim();
|
|
121
150
|
return normalized;
|
|
122
151
|
}
|
|
123
|
-
const alphanumeric = /[^a-z0-9]/g;
|
|
124
|
-
const emailAllowed = /[^a-z0-9.@-]/g;
|
|
125
|
-
const nonDigits = /[^\d]/g;
|
|
126
152
|
function normalizeStandard(value) {
|
|
127
|
-
return normalize(value,
|
|
153
|
+
return normalize(value, constants_1.ALPHA_NUMERIC);
|
|
128
154
|
}
|
|
129
155
|
function normalizePhone(phone) {
|
|
130
|
-
return normalize(phone,
|
|
156
|
+
return normalize(phone, constants_1.NON_DIGIT);
|
|
131
157
|
}
|
|
132
158
|
function normalizeEmail(email) {
|
|
133
|
-
return normalize(email,
|
|
159
|
+
return normalize(email, constants_1.EMAIL_ALLOWED);
|
|
134
160
|
}
|
|
135
161
|
function hashedPayload(payload) {
|
|
136
162
|
const hashedPII = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/function.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/function.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,15 @@ export interface Settings {
|
|
|
2
2
|
region: string;
|
|
3
3
|
}
|
|
4
4
|
export interface AudienceSettings {
|
|
5
|
+
syncTo?: string;
|
|
5
6
|
description: string;
|
|
6
7
|
countryCode: string;
|
|
7
8
|
externalAudienceId: string;
|
|
8
9
|
cpmCents?: number;
|
|
9
10
|
currency?: string;
|
|
10
11
|
ttl?: number;
|
|
11
|
-
advertiserId
|
|
12
|
+
advertiserId?: string;
|
|
13
|
+
amcInstanceId?: string;
|
|
14
|
+
amcAccountId?: string;
|
|
15
|
+
amcAccountMarketplaceId?: string;
|
|
12
16
|
}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const actions_core_1 = require("@segment/actions-core");
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
8
9
|
const syncAudiencesToDSP_1 = __importDefault(require("./syncAudiencesToDSP"));
|
|
9
10
|
const destination = {
|
|
10
11
|
name: 'Amazon Ads DSP and AMC',
|
|
@@ -61,6 +62,17 @@ const destination = {
|
|
|
61
62
|
};
|
|
62
63
|
},
|
|
63
64
|
audienceFields: {
|
|
65
|
+
syncTo: {
|
|
66
|
+
type: 'string',
|
|
67
|
+
label: 'Sync To',
|
|
68
|
+
required: false,
|
|
69
|
+
description: 'Chose whether to sync audience to DSP or AMC. Defaults to DSP.',
|
|
70
|
+
choices: [
|
|
71
|
+
{ label: 'DSP', value: constants_1.SYNC_TO.DSP },
|
|
72
|
+
{ label: 'AMC', value: constants_1.SYNC_TO.AMC }
|
|
73
|
+
],
|
|
74
|
+
default: constants_1.SYNC_TO.DSP
|
|
75
|
+
},
|
|
64
76
|
description: {
|
|
65
77
|
type: 'string',
|
|
66
78
|
label: 'Description',
|
|
@@ -113,9 +125,23 @@ const destination = {
|
|
|
113
125
|
},
|
|
114
126
|
advertiserId: {
|
|
115
127
|
label: 'Advertiser ID',
|
|
116
|
-
description: 'Advertiser
|
|
117
|
-
type: 'string'
|
|
118
|
-
|
|
128
|
+
description: 'Advertiser ID when when syncing an Audience to Amazon Ads DSP',
|
|
129
|
+
type: 'string'
|
|
130
|
+
},
|
|
131
|
+
amcInstanceId: {
|
|
132
|
+
label: 'AMC Instance ID',
|
|
133
|
+
description: 'AMC Instance ID used when syncing an audience to Amazon Marketing Cloud (AMC)',
|
|
134
|
+
type: 'string'
|
|
135
|
+
},
|
|
136
|
+
amcAccountId: {
|
|
137
|
+
label: 'AMC Account ID',
|
|
138
|
+
description: 'AMC Account ID used when syncing an audience to Amazon Marketing Cloud (AMC)',
|
|
139
|
+
type: 'string'
|
|
140
|
+
},
|
|
141
|
+
amcAccountMarketplaceId: {
|
|
142
|
+
label: 'AMC Account Marketplace ID',
|
|
143
|
+
description: 'AMC Account Marketplace ID used when syncing an audience to Amazon Marketing Cloud (AMC)',
|
|
144
|
+
type: 'string'
|
|
119
145
|
}
|
|
120
146
|
},
|
|
121
147
|
audienceConfig: {
|
|
@@ -126,54 +152,83 @@ const destination = {
|
|
|
126
152
|
async createAudience(request, createAudienceInput) {
|
|
127
153
|
const { audienceName, audienceSettings, settings } = createAudienceInput;
|
|
128
154
|
const endpoint = settings.region;
|
|
129
|
-
const description = audienceSettings
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const cpm_cents = audienceSettings?.cpmCents;
|
|
136
|
-
if (!advertiser_id) {
|
|
137
|
-
throw new actions_core_1.IntegrationError('Missing advertiserId Value', 'MISSING_REQUIRED_FIELD', 400);
|
|
155
|
+
const { syncTo = constants_1.SYNC_TO.DSP, description, advertiserId, externalAudienceId, countryCode, ttl, currency, cpmCents, amcInstanceId, amcAccountId, amcAccountMarketplaceId } = audienceSettings || {};
|
|
156
|
+
if (syncTo === constants_1.SYNC_TO.DSP && !advertiserId) {
|
|
157
|
+
throw new actions_core_1.PayloadValidationError('Advertiser Id value is required when syncing an audience to DSP');
|
|
158
|
+
}
|
|
159
|
+
if (syncTo === constants_1.SYNC_TO.AMC && (!amcInstanceId || !amcAccountId || !amcAccountMarketplaceId)) {
|
|
160
|
+
throw new actions_core_1.PayloadValidationError('AMC Instance Id, AMC Account Id and AMC Account Marketplace Id value are required when syncing audience to AMC');
|
|
138
161
|
}
|
|
139
162
|
if (!description) {
|
|
140
|
-
throw new actions_core_1.
|
|
163
|
+
throw new actions_core_1.PayloadValidationError('Missing description Value');
|
|
141
164
|
}
|
|
142
|
-
if (!
|
|
143
|
-
throw new actions_core_1.
|
|
165
|
+
if (!externalAudienceId) {
|
|
166
|
+
throw new actions_core_1.PayloadValidationError('Missing externalAudienceId Value');
|
|
144
167
|
}
|
|
145
168
|
if (!audienceName) {
|
|
146
|
-
throw new actions_core_1.
|
|
169
|
+
throw new actions_core_1.PayloadValidationError('Missing audienceName Value');
|
|
170
|
+
}
|
|
171
|
+
if (!countryCode) {
|
|
172
|
+
throw new actions_core_1.PayloadValidationError('Missing countryCode Value');
|
|
147
173
|
}
|
|
148
|
-
if (
|
|
149
|
-
throw new actions_core_1.
|
|
174
|
+
if (ttl && ttl > constants_1.TTL_MAX_VALUE) {
|
|
175
|
+
throw new actions_core_1.PayloadValidationError(`TTL must have value less than or equal to ${constants_1.TTL_MAX_VALUE}`);
|
|
150
176
|
}
|
|
151
|
-
|
|
152
|
-
|
|
177
|
+
let connectionId = undefined;
|
|
178
|
+
if (syncTo === constants_1.SYNC_TO.AMC) {
|
|
179
|
+
const payloadStringConnsAPI = JSON.stringify({ amcInstanceId, amcAccountId, amcAccountMarketplaceId });
|
|
180
|
+
const response = await request(`${endpoint}/amc/audiences/connections`, {
|
|
181
|
+
method: 'POST',
|
|
182
|
+
body: payloadStringConnsAPI,
|
|
183
|
+
headers: {
|
|
184
|
+
'Content-Type': 'application/vnd.amcaudiencesconnections.v1+json'
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
connectionId = JSON.parse(await response.text())?.connectionId;
|
|
188
|
+
if (!connectionId) {
|
|
189
|
+
throw new actions_core_1.PayloadValidationError('Unable to fetch connectionId with given AMC amcInstanceId amcAccountId and amcAccountMarketplaceId details');
|
|
190
|
+
}
|
|
153
191
|
}
|
|
154
192
|
const payload = {
|
|
155
193
|
name: audienceName,
|
|
156
|
-
description
|
|
157
|
-
targetResource: {
|
|
158
|
-
|
|
159
|
-
|
|
194
|
+
description,
|
|
195
|
+
targetResource: (() => {
|
|
196
|
+
if (syncTo === constants_1.SYNC_TO.AMC) {
|
|
197
|
+
const targetResource = {
|
|
198
|
+
amcInstanceId: amcInstanceId,
|
|
199
|
+
amcAccountId: amcAccountId,
|
|
200
|
+
amcAccountMarketplaceId: amcAccountMarketplaceId,
|
|
201
|
+
connectionId: connectionId
|
|
202
|
+
};
|
|
203
|
+
return targetResource;
|
|
204
|
+
}
|
|
205
|
+
if (syncTo === constants_1.SYNC_TO.DSP) {
|
|
206
|
+
const targetResource = {
|
|
207
|
+
advertiserId: advertiserId
|
|
208
|
+
};
|
|
209
|
+
return targetResource;
|
|
210
|
+
}
|
|
211
|
+
throw new actions_core_1.PayloadValidationError('Invalid syncTo value');
|
|
212
|
+
})(),
|
|
160
213
|
metadata: {
|
|
161
|
-
externalAudienceId
|
|
214
|
+
externalAudienceId
|
|
162
215
|
},
|
|
163
|
-
countryCode
|
|
216
|
+
countryCode
|
|
164
217
|
};
|
|
165
218
|
if (ttl) {
|
|
166
219
|
payload.metadata.ttl = ttl;
|
|
167
220
|
}
|
|
168
|
-
if (
|
|
221
|
+
if (cpmCents && currency) {
|
|
169
222
|
payload.metadata.audienceFees = [];
|
|
170
223
|
payload.metadata?.audienceFees.push({
|
|
171
224
|
currency,
|
|
172
|
-
cpmCents
|
|
225
|
+
cpmCents
|
|
173
226
|
});
|
|
174
227
|
}
|
|
175
228
|
let payloadString = JSON.stringify(payload);
|
|
176
|
-
|
|
229
|
+
if (syncTo === constants_1.SYNC_TO.DSP) {
|
|
230
|
+
payloadString = payloadString.replace(constants_1.REGEX_ADVERTISERID, '"advertiserId":$1');
|
|
231
|
+
}
|
|
177
232
|
const response = await request(`${endpoint}/amc/audiences/metadata`, {
|
|
178
233
|
method: 'POST',
|
|
179
234
|
body: payloadString,
|
|
@@ -183,24 +238,24 @@ const destination = {
|
|
|
183
238
|
timeout: 15000
|
|
184
239
|
});
|
|
185
240
|
const res = await response.text();
|
|
186
|
-
const resp = (0, utils_1.extractNumberAndSubstituteWithStringValue)(res,
|
|
241
|
+
const resp = (0, utils_1.extractNumberAndSubstituteWithStringValue)(res, constants_1.REGEX_AUDIENCEID, '"audienceId":"$1"');
|
|
187
242
|
return {
|
|
188
|
-
externalId: resp.audienceId
|
|
243
|
+
externalId: syncTo === constants_1.SYNC_TO.DSP ? resp.audienceId : resp.audienceId + ':' + connectionId
|
|
189
244
|
};
|
|
190
245
|
},
|
|
191
246
|
async getAudience(request, getAudienceInput) {
|
|
192
|
-
const audience_id = getAudienceInput.externalId;
|
|
247
|
+
const audience_id = getAudienceInput.externalId.split(':')[0];
|
|
193
248
|
const { settings } = getAudienceInput;
|
|
194
249
|
const endpoint = settings.region;
|
|
195
250
|
if (!audience_id) {
|
|
196
|
-
throw new actions_core_1.
|
|
251
|
+
throw new actions_core_1.PayloadValidationError('Missing audienceId value');
|
|
197
252
|
}
|
|
198
253
|
const response = await request(`${endpoint}/amc/audiences/metadata/${audience_id}`, {
|
|
199
254
|
method: 'GET',
|
|
200
255
|
timeout: 15000
|
|
201
256
|
});
|
|
202
257
|
const res = await response.text();
|
|
203
|
-
const resp = (0, utils_1.extractNumberAndSubstituteWithStringValue)(res,
|
|
258
|
+
const resp = (0, utils_1.extractNumberAndSubstituteWithStringValue)(res, constants_1.REGEX_AUDIENCEID, '"audienceId":"$1"');
|
|
204
259
|
return {
|
|
205
260
|
externalId: resp.audienceId
|
|
206
261
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAK8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAK8B;AAS9B,mCAAiF;AACjF,2CAA0F;AAC1F,8EAAqD;AAErD,MAAM,WAAW,GAA8D;IAC7E,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oCAAoC,EAAE;oBAC5E,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uCAAuC,EAAE;oBACxE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,uCAAuC,EAAE;iBAC3E;gBACD,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBACvB,MAAM,IAAI,yCAA0B,CAAC,gEAAgE,CAAC,CAAA;YACxG,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,CAAuB,GAAG,QAAQ,CAAC,MAAM,cAAc,EAAE;oBACpE,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;qBACnC;oBACD,OAAO,EAAE,KAAK;iBACf,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,CAAkC,CAAA;gBAChD,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;oBACrC,MAAM,IAAI,yCAA0B,CAClC,4HAA4H,CAC7H,CAAA;gBACH,CAAC;gBACD,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxD,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;QACnC,CAAC;KACF;IAED,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC5C,iCAAiC,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE;aAClF;SACF,CAAA;IACH,CAAC;IAED,cAAc,EAAE;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAO,CAAC,GAAG,EAAE;gBACpC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAO,CAAC,GAAG,EAAE;aACrC;YACD,OAAO,EAAE,mBAAO,CAAC,GAAG;SACrB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,4GAA4G;SAC/G;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,+FAA+F;SAC7G;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,sBAAsB;YAC7B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,uCAAuC;SACrD;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+EAA+E;SAC7F;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;aAC/B;YACD,OAAO,EAAE,EAAE;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yFAAyF;SACvG;QAED,YAAY,EAAE;YACZ,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,+EAA+E;YAC5F,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,8EAA8E;YAC3F,IAAI,EAAE,QAAQ;SACf;QACD,uBAAuB,EAAE;YACvB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,QAAQ;SACf;KACF;IAED,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,kBAAkB,EAAE,KAAK;SAC1B;QACD,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB;YAC/C,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAA;YACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA;YAEhC,MAAM,EACJ,MAAM,GAAG,mBAAO,CAAC,GAAG,EACpB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,uBAAuB,EACxB,GAAG,gBAAgB,IAAI,EAAE,CAAA;YAE1B,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,qCAAsB,CAAC,iEAAiE,CAAC,CAAA;YACrG,CAAC;YAED,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,qCAAsB,CAC9B,gHAAgH,CACjH,CAAA;YACH,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,qCAAsB,CAAC,2BAA2B,CAAC,CAAA;YAC/D,CAAC;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,qCAAsB,CAAC,kCAAkC,CAAC,CAAA;YACtE,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,qCAAsB,CAAC,4BAA4B,CAAC,CAAA;YAChE,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,qCAAsB,CAAC,2BAA2B,CAAC,CAAA;YAC/D,CAAC;YAED,IAAI,GAAG,IAAI,GAAG,GAAG,yBAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,qCAAsB,CAAC,6CAA6C,yBAAa,EAAE,CAAC,CAAA;YAChG,CAAC;YAED,IAAI,YAAY,GAAuB,SAAS,CAAA;YAChD,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC,CAAA;gBACtG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,4BAA4B,EAAE;oBACtE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE;wBACP,cAAc,EAAE,iDAAiD;qBAClE;iBACF,CAAC,CAAA;gBAEF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAA;gBAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,qCAAsB,CAC9B,4GAA4G,CAC7G,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAoB;gBAC/B,IAAI,EAAE,YAAY;gBAClB,WAAW;gBACX,cAAc,EAAE,CAAC,GAAG,EAAE;oBACpB,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,EAAE,CAAC;wBAC3B,MAAM,cAAc,GAAsB;4BACxC,aAAa,EAAE,aAAuB;4BACtC,YAAY,EAAE,YAAsB;4BACpC,uBAAuB,EAAE,uBAAiC;4BAC1D,YAAY,EAAE,YAAsB;yBACrC,CAAA;wBACD,OAAO,cAAc,CAAA;oBACvB,CAAC;oBACD,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,EAAE,CAAC;wBAC3B,MAAM,cAAc,GAAsB;4BACxC,YAAY,EAAE,YAAsB;yBACrC,CAAA;wBACD,OAAO,cAAc,CAAA;oBACvB,CAAC;oBACD,MAAM,IAAI,qCAAsB,CAAC,sBAAsB,CAAC,CAAA;gBAC1D,CAAC,CAAC,EAAE;gBACJ,QAAQ,EAAE;oBACR,kBAAkB;iBACnB;gBACD,WAAW;aACZ,CAAA;YAED,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;YAC5B,CAAC;YAED,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAA;gBAClC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC;oBAClC,QAAQ;oBACR,QAAQ;iBACT,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAG3C,IAAI,MAAM,KAAK,mBAAO,CAAC,GAAG,EAAE,CAAC;gBAC3B,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,8BAAkB,EAAE,mBAAmB,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,yBAAyB,EAAE;gBACnE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE;oBACP,cAAc,EAAE,sCAAsC;iBACvD;gBACD,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAEjC,MAAM,IAAI,GAAG,IAAA,iDAAyC,EAAC,GAAG,EAAE,4BAAgB,EAAE,mBAAmB,CAAC,CAAA;YAClG,OAAO;gBACL,UAAU,EAAE,MAAM,KAAK,mBAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,YAAY;aAC5F,CAAA;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB;YAEzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAA;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAA;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,qCAAsB,CAAC,0BAA0B,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,2BAA2B,WAAW,EAAE,EAAE;gBAClF,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAEjC,MAAM,IAAI,GAAG,IAAA,iDAAyC,EAAC,GAAG,EAAE,4BAAgB,EAAE,mBAAmB,CAAC,CAAA;YAClG,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAA;QACH,CAAC;KACF;IACD,OAAO,EAAE;QACP,kBAAkB,EAAlB,4BAAkB;KACnB;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,sCAAsC;YAC5C,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,4BAAkB,CAAC,MAAM,CAAC;aAC5C;YACD,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,gDAAgD;SAC5D;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,IAAA,4BAAa,EAAC,4BAAkB,CAAC,MAAM,CAAC;YACjD,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,8BAA8B;SAC1C;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,IAAA,4BAAa,EAAC,4BAAkB,CAAC,MAAM,CAAC;YACjD,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,gCAAgC;SAC5C;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE;gBACP,GAAG,IAAA,4BAAa,EAAC,4BAAkB,CAAC,MAAM,CAAC;aAC5C;YACD,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,6BAA6B;SACzC;KACF;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const function_1 = require("../function");
|
|
4
4
|
const action = {
|
|
5
|
-
title: 'Sync Audiences to DSP',
|
|
5
|
+
title: 'Sync Audiences to DSP and AMC',
|
|
6
6
|
description: 'Sync audiences from Segment to Amazon Ads Audience.',
|
|
7
7
|
defaultSubscription: 'event = "Audience Entered" or event = "Audience Exited"',
|
|
8
8
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-amc/syncAudiencesToDSP/index.ts"],"names":[],"mappings":";;AAGA,0CAAiE;AAEjE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-amc/syncAudiencesToDSP/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HTTPError } from '@segment/actions-core';
|
|
2
|
+
import { Settings } from './generated-types';
|
|
2
3
|
export interface RefreshTokenResponse {
|
|
3
4
|
access_token: string;
|
|
4
5
|
scope: string;
|
|
@@ -45,3 +46,46 @@ export interface AudienceRecordPayload {
|
|
|
45
46
|
targetResource: TargetResourceRecords;
|
|
46
47
|
audienceId: number;
|
|
47
48
|
}
|
|
49
|
+
export declare class AmazonAdsError extends HTTPError {
|
|
50
|
+
response: Response & {
|
|
51
|
+
data: {
|
|
52
|
+
status: string;
|
|
53
|
+
message: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface AudiencePayload {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
countryCode: string;
|
|
61
|
+
targetResource: AMCTargetResource | DSPTargetResource;
|
|
62
|
+
metadata: {
|
|
63
|
+
externalAudienceId: string;
|
|
64
|
+
ttl?: number;
|
|
65
|
+
audienceFees?: {
|
|
66
|
+
cpmCents: number;
|
|
67
|
+
currency: string;
|
|
68
|
+
}[];
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface AMCTargetResource {
|
|
72
|
+
amcInstanceId: String;
|
|
73
|
+
amcAccountId: string;
|
|
74
|
+
amcAccountMarketplaceId: string;
|
|
75
|
+
connectionId: string;
|
|
76
|
+
}
|
|
77
|
+
export interface DSPTargetResource {
|
|
78
|
+
advertiserId: string;
|
|
79
|
+
}
|
|
80
|
+
export interface RecordsResponseType {
|
|
81
|
+
jobRequestId: string;
|
|
82
|
+
}
|
|
83
|
+
export type AmazonAMCCredentials = {
|
|
84
|
+
refresh_token: string;
|
|
85
|
+
access_token: string;
|
|
86
|
+
client_id: string;
|
|
87
|
+
client_secret: string;
|
|
88
|
+
};
|
|
89
|
+
export type SettingsWithOauth = Settings & {
|
|
90
|
+
oauth: AmazonAMCCredentials;
|
|
91
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AmazonRefreshTokenError = exports.AmazonTestAuthenticationError = void 0;
|
|
3
|
+
exports.AmazonAdsError = exports.AmazonRefreshTokenError = exports.AmazonTestAuthenticationError = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
class AmazonTestAuthenticationError extends actions_core_1.HTTPError {
|
|
6
6
|
}
|
|
@@ -8,4 +8,7 @@ exports.AmazonTestAuthenticationError = AmazonTestAuthenticationError;
|
|
|
8
8
|
class AmazonRefreshTokenError extends actions_core_1.HTTPError {
|
|
9
9
|
}
|
|
10
10
|
exports.AmazonRefreshTokenError = AmazonRefreshTokenError;
|
|
11
|
+
class AmazonAdsError extends actions_core_1.HTTPError {
|
|
12
|
+
}
|
|
13
|
+
exports.AmazonAdsError = AmazonAdsError;
|
|
11
14
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/types.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AASjD,MAAa,6BAA8B,SAAQ,wBAAS;CAM3D;AAND,sEAMC;AAED,MAAa,uBAAwB,SAAQ,wBAAS;CAOrD;AAPD,0DAOC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/amazon-amc/types.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AASjD,MAAa,6BAA8B,SAAQ,wBAAS;CAM3D;AAND,sEAMC;AAED,MAAa,uBAAwB,SAAQ,wBAAS;CAOrD;AAPD,0DAOC;AA6BD,MAAa,cAAe,SAAQ,wBAAS;CAO5C;AAPD,wCAOC"}
|