@segment/action-destinations 3.197.0 → 3.198.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/linkedin-audiences/api/index.js +2 -2
- package/dist/destinations/linkedin-audiences/api/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/generated-types.d.ts +1 -0
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +24 -3
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +1 -1
- package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js +7 -2
- package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js.map +1 -1
- package/dist/destinations/pinterest-conversions/reportConversionEvent/generated-types.d.ts +1 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +16 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.js +74 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -0
- package/dist/destinations/the-trade-desk-crm/functions.d.ts +9 -1
- package/dist/destinations/the-trade-desk-crm/functions.js +51 -34
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/properties.d.ts +1 -0
- package/dist/destinations/the-trade-desk-crm/properties.js +18 -1
- package/dist/destinations/the-trade-desk-crm/properties.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/syncAudience/generated-types.d.ts +1 -0
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js +15 -4
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js.map +1 -1
- package/dist/lib/AWS/sts.d.ts +7 -0
- package/dist/lib/AWS/sts.js +57 -0
- package/dist/lib/AWS/sts.js.map +1 -0
- package/package.json +2 -2
|
@@ -22,7 +22,7 @@ class LinkedInAudiences {
|
|
|
22
22
|
searchParams: {
|
|
23
23
|
q: 'account',
|
|
24
24
|
account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
|
|
25
|
-
sourceSegmentId: payload.
|
|
25
|
+
sourceSegmentId: payload.personas_audience_key || '',
|
|
26
26
|
sourcePlatform: constants_1.LINKEDIN_SOURCE_PLATFORM
|
|
27
27
|
}
|
|
28
28
|
});
|
|
@@ -33,7 +33,7 @@ class LinkedInAudiences {
|
|
|
33
33
|
json: {
|
|
34
34
|
name: payload.dmp_segment_name,
|
|
35
35
|
sourcePlatform: constants_1.LINKEDIN_SOURCE_PLATFORM,
|
|
36
|
-
sourceSegmentId: payload.
|
|
36
|
+
sourceSegmentId: payload.personas_audience_key,
|
|
37
37
|
account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
|
|
38
38
|
accessPolicy: 'PRIVATE',
|
|
39
39
|
type: 'USER',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/api/index.ts"],"names":[],"mappings":";;;AAGA,4CAAiE;AAGjE,MAAa,iBAAiB;IAG5B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,KAAK,EAAE;YACpC,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAkB,EAAE,MAAc;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB,GAAG,oBAAQ,mDAAmD,QAAQ,CAAC,aAAa,uBAAuB,MAAM,EAAE,EACnH;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,OAAgB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,CAAC,EAAE,SAAS;gBACZ,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,eAAe,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/api/index.ts"],"names":[],"mappings":";;;AAGA,4CAAiE;AAGjE,MAAa,iBAAiB;IAG5B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,KAAK,EAAE;YACpC,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAkB,EAAE,MAAc;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB,GAAG,oBAAQ,mDAAmD,QAAQ,CAAC,aAAa,uBAAuB,MAAM,EAAE,EACnH;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,OAAgB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,CAAC,EAAE,SAAS;gBACZ,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,eAAe,EAAE,OAAO,CAAC,qBAAqB,IAAI,EAAE;gBACpD,cAAc,EAAE,oCAAwB;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAkB,EAAE,OAAgB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,cAAc,EAAE,oCAAwB;gBACxC,eAAe,EAAE,OAAO,CAAC,qBAAqB;gBAC9C,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE;oBACZ;wBACE,WAAW,EAAE,UAAU;qBACxB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,QAAkC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,gBAAgB,YAAY,QAAQ,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,iBAAiB,EAAE,cAAc;aAClC;YACD,IAAI,EAAE;gBACJ,QAAQ;aACT;YACD,eAAe,EAAE,KAAK;SACvB,CAAC,CAAA;IACJ,CAAC;CACF;AAjED,8CAiEC"}
|
|
@@ -59,6 +59,17 @@ const action = {
|
|
|
59
59
|
default: {
|
|
60
60
|
'@path': '$.event'
|
|
61
61
|
}
|
|
62
|
+
},
|
|
63
|
+
dmp_user_action: {
|
|
64
|
+
label: 'DMP User Action',
|
|
65
|
+
description: 'A Segment specific key used to define action type.',
|
|
66
|
+
type: 'string',
|
|
67
|
+
choices: [
|
|
68
|
+
{ label: `Auto Detect`, value: 'AUTO' },
|
|
69
|
+
{ label: `Add`, value: 'ADD' },
|
|
70
|
+
{ label: 'Remove', value: 'REMOVE' }
|
|
71
|
+
],
|
|
72
|
+
default: 'AUTO'
|
|
62
73
|
}
|
|
63
74
|
},
|
|
64
75
|
perform: async (request, { settings, payload }) => {
|
|
@@ -83,7 +94,8 @@ async function processPayload(request, settings, payloads) {
|
|
|
83
94
|
return res;
|
|
84
95
|
}
|
|
85
96
|
function validate(settings, payloads) {
|
|
86
|
-
|
|
97
|
+
const isAutoOrUndefined = ['AUTO', undefined].includes(payloads[0]?.dmp_user_action);
|
|
98
|
+
if (isAutoOrUndefined && payloads[0].source_segment_id !== payloads[0].personas_audience_key) {
|
|
87
99
|
throw new actions_core_1.IntegrationError('The value of `source_segment_id` and `personas_audience_key` must match.', 'INVALID_SETTINGS', 400);
|
|
88
100
|
}
|
|
89
101
|
if (!settings.send_google_advertising_id && !settings.send_email) {
|
|
@@ -117,12 +129,21 @@ function extractUsers(settings, payloads) {
|
|
|
117
129
|
return elements;
|
|
118
130
|
}
|
|
119
131
|
function getAction(payload) {
|
|
120
|
-
|
|
132
|
+
const { dmp_user_action = 'AUTO' } = payload;
|
|
133
|
+
if (dmp_user_action === 'ADD') {
|
|
121
134
|
return 'ADD';
|
|
122
135
|
}
|
|
123
|
-
else if (
|
|
136
|
+
else if (dmp_user_action === 'REMOVE') {
|
|
124
137
|
return 'REMOVE';
|
|
125
138
|
}
|
|
139
|
+
else if (dmp_user_action === 'AUTO' || !dmp_user_action) {
|
|
140
|
+
if (payload.event_name === 'Audience Entered') {
|
|
141
|
+
return 'ADD';
|
|
142
|
+
}
|
|
143
|
+
else if (payload.event_name === 'Audience Exited') {
|
|
144
|
+
return 'REMOVE';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
126
147
|
}
|
|
127
148
|
function getUserIds(settings, payload) {
|
|
128
149
|
const users = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":";;AACA,wDAAuF;AAGvF,mCAAmC;AACnC,gCAA0C;AAE1C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,oEAAoE;IACjF,mBAAmB,EAAE,yDAAyD;IAC9E,MAAM,EAAE;QACN,gBAAgB,EAAE;YAChB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EACT,oNAAoN;YACtN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,+CAA+C;YAC5D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,wBAAwB;aAClC;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,gCAAgC;aAC1C;SACF;QACD,iBAAiB,EAAE;YACjB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,oJAAoJ;YACtJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,6BAA6B;YACpC,WAAW,EACT,iMAAiM;YACnM,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;CACF,CAAA;AAED,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB;IAC3F,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE5B,MAAM,iBAAiB,GAAsB,IAAI,uBAAiB,CAAC,OAAO,CAAC,CAAA;IAE3E,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAQjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAM;KACP;IAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAMvE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,MAAM,IAAI,6BAAc,CAAC,oFAAoF,CAAC,CAAA;KAC/G;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,QAAkB,EAAE,QAAmB;IACvD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":";;AAAA,wDAAgF;AAGhF,iCAAuE;AACvE,8CAA4C;AAE5C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,iFAAiF;IAC9F,mBAAmB,EAAE,4BAA4B;IACjD,MAAM,EAAE;QACN,aAAa,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,qEAAqE;YAClF,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,qEAAqE;YAClF,IAAI,EAAE,UAAU;SACjB;QACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,2HAA2H;YAC7H,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,eAAe;SACxB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,kDAAkD;YAC/D,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SACjC;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,mEAAmE;YAChF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,eAAe;SACjC;QACD,wBAAwB,EAAE;YACxB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,gFAAgF;YAC7F,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,eAAe;SACjC;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG;SACb;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,WAAW,EAAE,mDAAmD,EAAE;SAC9E;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uFAAuF;YACpG,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qFAAqF;YAClG,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,11 +23,16 @@ exports.custom_data_field = {
|
|
|
23
23
|
multiple: true
|
|
24
24
|
},
|
|
25
25
|
contents: {
|
|
26
|
-
label: '
|
|
27
|
-
description: '
|
|
26
|
+
label: 'Product Info',
|
|
27
|
+
description: 'A list of objects containing information about products.',
|
|
28
28
|
type: 'object',
|
|
29
29
|
multiple: true,
|
|
30
30
|
properties: {
|
|
31
|
+
id: {
|
|
32
|
+
label: 'Id',
|
|
33
|
+
type: 'number',
|
|
34
|
+
description: 'The id of the Item'
|
|
35
|
+
},
|
|
31
36
|
item_price: {
|
|
32
37
|
label: 'Price',
|
|
33
38
|
type: 'number',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinterest-capi-custom-data.js","sourceRoot":"","sources":["../../../src/destinations/pinterest-conversions/pinterest-capi-custom-data.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAe;IAC3C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kGAAkG;YAC/G,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EACT,8HAA8H;YAChI,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pinterest-capi-custom-data.js","sourceRoot":"","sources":["../../../src/destinations/pinterest-conversions/pinterest-capi-custom-data.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAe;IAC3C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kGAAkG;YAC/G,IAAI,EAAE,QAAQ;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EACT,8HAA8H;YAChI,IAAI,EAAE,QAAQ;SACf;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,UAAU,EAAE;oBACV,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uBAAuB;iBACrC;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+BAA+B;iBAC7C;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,gDAAgD;YAC7D,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,8IAA8I;YAChJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;gBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;aACxC;SACF;QACD,aAAa,EAAE;YACb,OAAO,EAAE,oBAAoB;SAC9B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,uBAAuB;SACjC;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,uBAAuB;SACjC;KACF;CACF,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RequestClient } from '@segment/actions-core';
|
|
2
|
+
interface SendToAWSRequest {
|
|
3
|
+
TDDAuthToken: string;
|
|
4
|
+
AdvertiserId: string;
|
|
5
|
+
CrmDataId: string;
|
|
6
|
+
SegmentName: string;
|
|
7
|
+
UsersFormatted: string;
|
|
8
|
+
DropOptions: {
|
|
9
|
+
PiiType: string;
|
|
10
|
+
MergeMode: string;
|
|
11
|
+
TtlInMinutes?: number;
|
|
12
|
+
RetentionEnabled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare const sendEventToAWS: (request: RequestClient, input: SendToAWSRequest) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sendEventToAWS = void 0;
|
|
7
|
+
const uuid_1 = require("@lukeed/uuid");
|
|
8
|
+
const aws4_1 = __importDefault(require("aws4"));
|
|
9
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
10
|
+
const sts_1 = require("../../lib/AWS/sts");
|
|
11
|
+
const NODE_ENV = process.env['NODE_ENV'] || `stage`;
|
|
12
|
+
const AWS_REGION = process.env['AWS_REGION'] || `us-west-2`;
|
|
13
|
+
const S3_BUCKET_NAME = `integrations-outbound-event-store-${NODE_ENV}-${AWS_REGION}`;
|
|
14
|
+
const ACTION_SLUG = `actions-the-trade-desk-crm`;
|
|
15
|
+
const sendEventToAWS = async (request, input) => {
|
|
16
|
+
const uuidValue = uuid_1.v4();
|
|
17
|
+
const userdataFilePath = `/${ACTION_SLUG}/${input.AdvertiserId}/${input.CrmDataId}/${uuidValue}.txt`;
|
|
18
|
+
const metadataFilePath = `/${ACTION_SLUG}/${input.AdvertiserId}/${input.CrmDataId}/meta.json`;
|
|
19
|
+
const metadata = JSON.stringify({
|
|
20
|
+
TDDAuthToken: input.TDDAuthToken,
|
|
21
|
+
AdvertiserId: input.AdvertiserId,
|
|
22
|
+
SegmentName: input.SegmentName,
|
|
23
|
+
CrmDataId: input.CrmDataId,
|
|
24
|
+
DropOptions: input.DropOptions,
|
|
25
|
+
RequeueCount: 0
|
|
26
|
+
});
|
|
27
|
+
const awsCredentials = await sts_1.getAWSCredentialsFromEKS(request);
|
|
28
|
+
await uploadToAWSS3({
|
|
29
|
+
request,
|
|
30
|
+
bucketName: S3_BUCKET_NAME,
|
|
31
|
+
region: AWS_REGION,
|
|
32
|
+
fileContentType: 'text/plain',
|
|
33
|
+
filePath: userdataFilePath,
|
|
34
|
+
fileContent: input.UsersFormatted,
|
|
35
|
+
awsCredentials: awsCredentials
|
|
36
|
+
});
|
|
37
|
+
return uploadToAWSS3({
|
|
38
|
+
request,
|
|
39
|
+
bucketName: S3_BUCKET_NAME,
|
|
40
|
+
region: AWS_REGION,
|
|
41
|
+
fileContentType: 'application/json',
|
|
42
|
+
filePath: metadataFilePath,
|
|
43
|
+
fileContent: metadata,
|
|
44
|
+
awsCredentials: awsCredentials
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
exports.sendEventToAWS = sendEventToAWS;
|
|
48
|
+
async function uploadToAWSS3(input) {
|
|
49
|
+
const s3UploadRequest = aws4_1.default.sign({
|
|
50
|
+
host: `${input.bucketName}.s3.${input.region}.amazonaws.com`,
|
|
51
|
+
path: input.filePath,
|
|
52
|
+
body: input.fileContent,
|
|
53
|
+
method: 'PUT',
|
|
54
|
+
service: 's3',
|
|
55
|
+
region: input.region,
|
|
56
|
+
headers: {
|
|
57
|
+
'Content-Type': input.fileContentType,
|
|
58
|
+
Accept: 'application/json'
|
|
59
|
+
}
|
|
60
|
+
}, {
|
|
61
|
+
accessKeyId: input.awsCredentials.accessKeyId,
|
|
62
|
+
secretAccessKey: input.awsCredentials.secretAccessKey,
|
|
63
|
+
sessionToken: input.awsCredentials.sessionToken
|
|
64
|
+
});
|
|
65
|
+
if (!s3UploadRequest.headers || !s3UploadRequest.method || !s3UploadRequest.host || !s3UploadRequest.path) {
|
|
66
|
+
throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
|
|
67
|
+
}
|
|
68
|
+
return input.request(`https://${input.bucketName}.s3.${input.region}.amazonaws.com${input.filePath}`, {
|
|
69
|
+
method: 'PUT',
|
|
70
|
+
body: s3UploadRequest.body,
|
|
71
|
+
headers: s3UploadRequest.headers
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=awsClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/awsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,5 +26,13 @@ export interface CREATE_API_RESPONSE {
|
|
|
26
26
|
CrmDataId: string;
|
|
27
27
|
FirstPartyDataId: number;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
interface ProcessPayloadInput {
|
|
30
|
+
request: RequestClient;
|
|
31
|
+
settings: Settings;
|
|
32
|
+
payloads: Payload[];
|
|
33
|
+
features?: Record<string, boolean>;
|
|
34
|
+
}
|
|
35
|
+
export declare const TTD_LEGACY_FLOW_FLAG_NAME = "actions-the-trade-desk-crm-legacy-flow";
|
|
36
|
+
export declare function processPayload(input: ProcessPayloadInput): Promise<ModifiedResponse<unknown>>;
|
|
30
37
|
export declare const hash: (value: string) => string;
|
|
38
|
+
export {};
|
|
@@ -1,19 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hash = exports.processPayload = void 0;
|
|
3
|
+
exports.hash = exports.processPayload = exports.TTD_LEGACY_FLOW_FLAG_NAME = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
|
+
const awsClient_1 = require("./awsClient");
|
|
6
7
|
const API_VERSION = 'v3';
|
|
7
8
|
const BASE_URL = `https://api.thetradedesk.com/${API_VERSION}`;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const TTD_MIN_RECORD_COUNT = 1500;
|
|
10
|
+
exports.TTD_LEGACY_FLOW_FLAG_NAME = 'actions-the-trade-desk-crm-legacy-flow';
|
|
11
|
+
async function processPayload(input) {
|
|
12
|
+
if (input.payloads.length < TTD_MIN_RECORD_COUNT) {
|
|
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
|
+
}
|
|
15
|
+
const crmID = await getCRMInfo(input.request, input.settings, input.payloads[0]);
|
|
16
|
+
const usersFormatted = extractUsers(input.payloads);
|
|
17
|
+
if (input.features && input.features[exports.TTD_LEGACY_FLOW_FLAG_NAME]) {
|
|
18
|
+
const dropEndpoint = await getCRMDataDropEndpoint(input.request, input.settings, input.payloads[0], crmID);
|
|
19
|
+
return uploadCRMDataToDropEndpoint(input.request, dropEndpoint, usersFormatted);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return awsClient_1.sendEventToAWS(input.request, {
|
|
23
|
+
TDDAuthToken: input.settings.auth_token,
|
|
24
|
+
AdvertiserId: input.settings.advertiser_id,
|
|
25
|
+
CrmDataId: crmID,
|
|
26
|
+
SegmentName: input.payloads[0].name,
|
|
27
|
+
UsersFormatted: usersFormatted,
|
|
28
|
+
DropOptions: {
|
|
29
|
+
PiiType: input.payloads[0].pii_type,
|
|
30
|
+
MergeMode: input.payloads[0].merge_mode || 'Replace'
|
|
31
|
+
}
|
|
32
|
+
});
|
|
12
33
|
}
|
|
13
|
-
const crmID = await getCRMID(request, settings, payloads[0]);
|
|
14
|
-
const users = extractUsers(payloads);
|
|
15
|
-
const dataDropEndpoint = await getDropEndpoint(request, settings, payloads[0], crmID);
|
|
16
|
-
return sendCRMData(request, dataDropEndpoint, users);
|
|
17
34
|
}
|
|
18
35
|
exports.processPayload = processPayload;
|
|
19
36
|
async function getAllDataSegments(request, settings) {
|
|
@@ -41,7 +58,7 @@ async function getAllDataSegments(request, settings) {
|
|
|
41
58
|
}
|
|
42
59
|
return allDataSegments;
|
|
43
60
|
}
|
|
44
|
-
async function
|
|
61
|
+
async function getCRMInfo(request, settings, payload) {
|
|
45
62
|
let segmentId;
|
|
46
63
|
const segments = await getAllDataSegments(request, settings);
|
|
47
64
|
const segmentExists = segments.filter(function (segment) {
|
|
@@ -52,7 +69,7 @@ async function getCRMID(request, settings, payload) {
|
|
|
52
69
|
if (segmentExists.length > 1) {
|
|
53
70
|
throw new actions_core_1.IntegrationError('Multiple audiences found with the same name', 'INVALID_SETTINGS', 400);
|
|
54
71
|
}
|
|
55
|
-
if (segmentExists.length == 1) {
|
|
72
|
+
else if (segmentExists.length == 1) {
|
|
56
73
|
segmentId = segmentExists[0].CrmDataId;
|
|
57
74
|
}
|
|
58
75
|
else {
|
|
@@ -72,20 +89,6 @@ async function getCRMID(request, settings, payload) {
|
|
|
72
89
|
}
|
|
73
90
|
return segmentId;
|
|
74
91
|
}
|
|
75
|
-
async function getDropEndpoint(request, settings, payload, crmId) {
|
|
76
|
-
const response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}/${crmId}`, {
|
|
77
|
-
method: 'POST',
|
|
78
|
-
headers: {
|
|
79
|
-
'Content-Type': 'application/json',
|
|
80
|
-
'TTD-Auth': settings.auth_token
|
|
81
|
-
},
|
|
82
|
-
json: {
|
|
83
|
-
PiiType: payload.pii_type,
|
|
84
|
-
MergeMode: 'Replace'
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return response.data.Url;
|
|
88
|
-
}
|
|
89
92
|
function extractUsers(payloads) {
|
|
90
93
|
let users = '';
|
|
91
94
|
payloads.forEach((payload) => {
|
|
@@ -103,15 +106,6 @@ function extractUsers(payloads) {
|
|
|
103
106
|
});
|
|
104
107
|
return users;
|
|
105
108
|
}
|
|
106
|
-
async function sendCRMData(request, endpoint, users) {
|
|
107
|
-
return await request(endpoint, {
|
|
108
|
-
method: 'PUT',
|
|
109
|
-
headers: {
|
|
110
|
-
'Content-Type': 'text/plain'
|
|
111
|
-
},
|
|
112
|
-
body: users
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
109
|
function normalizeEmail(email) {
|
|
116
110
|
email = email.trim().toLowerCase();
|
|
117
111
|
if (email.endsWith('@gmail.com')) {
|
|
@@ -132,4 +126,27 @@ const hash = (value) => {
|
|
|
132
126
|
return hash.digest('base64');
|
|
133
127
|
};
|
|
134
128
|
exports.hash = hash;
|
|
129
|
+
async function getCRMDataDropEndpoint(request, settings, payload, crmId) {
|
|
130
|
+
const response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}/${crmId}`, {
|
|
131
|
+
method: 'POST',
|
|
132
|
+
headers: {
|
|
133
|
+
'Content-Type': 'application/json',
|
|
134
|
+
'TTD-Auth': settings.auth_token
|
|
135
|
+
},
|
|
136
|
+
json: {
|
|
137
|
+
PiiType: payload.pii_type,
|
|
138
|
+
MergeMode: payload.merge_mode || 'Replace'
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
return response.data.Url;
|
|
142
|
+
}
|
|
143
|
+
async function uploadCRMDataToDropEndpoint(request, endpoint, users) {
|
|
144
|
+
return await request(endpoint, {
|
|
145
|
+
method: 'PUT',
|
|
146
|
+
headers: {
|
|
147
|
+
'Content-Type': 'text/plain'
|
|
148
|
+
},
|
|
149
|
+
body: users
|
|
150
|
+
});
|
|
151
|
+
}
|
|
135
152
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":";;;AAAA,wDAAiH;AAGjH,mCAAmC;AAEnC,MAAM,WAAW,GAAG,IAAI,CAAA;AACxB,MAAM,QAAQ,GAAG,gCAAgC,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
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.region = exports.name = void 0;
|
|
3
|
+
exports.merge_mode = exports.batch_size = exports.enable_batching = exports.event_name = exports.email = exports.pii_type = exports.region = exports.name = void 0;
|
|
4
4
|
exports.name = {
|
|
5
5
|
label: 'Segment Name',
|
|
6
6
|
description: 'The name of The Trade Desk CRM Data Segment you want to sync. If the audience name does not exist Segment will create one.',
|
|
@@ -53,4 +53,21 @@ exports.batch_size = {
|
|
|
53
53
|
required: false,
|
|
54
54
|
default: 100000
|
|
55
55
|
};
|
|
56
|
+
exports.merge_mode = {
|
|
57
|
+
label: 'Merge Mode',
|
|
58
|
+
description: 'The merge mode to use when syncing data to The Trade Desk CRM Segment.',
|
|
59
|
+
type: 'string',
|
|
60
|
+
choices: [
|
|
61
|
+
{
|
|
62
|
+
label: 'Add',
|
|
63
|
+
value: 'Add'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: 'Replace',
|
|
67
|
+
value: 'Replace'
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
default: 'Replace',
|
|
71
|
+
required: false
|
|
72
|
+
};
|
|
56
73
|
//# 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,IAAI,GAAe;IAC9B,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,4HAA4H;IAC9H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,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"}
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,IAAI,GAAe;IAC9B,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,4HAA4H;IAC9H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,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"}
|
|
@@ -11,15 +11,26 @@ const action = {
|
|
|
11
11
|
region: { ...properties_1.region },
|
|
12
12
|
pii_type: { ...properties_1.pii_type },
|
|
13
13
|
email: { ...properties_1.email },
|
|
14
|
+
merge_mode: { ...properties_1.merge_mode },
|
|
14
15
|
enable_batching: { ...properties_1.enable_batching },
|
|
15
16
|
event_name: { ...properties_1.event_name },
|
|
16
17
|
batch_size: { ...properties_1.batch_size }
|
|
17
18
|
},
|
|
18
|
-
perform: async (request, { settings, payload }) => {
|
|
19
|
-
return functions_1.processPayload(
|
|
19
|
+
perform: async (request, { settings, payload, features }) => {
|
|
20
|
+
return functions_1.processPayload({
|
|
21
|
+
request,
|
|
22
|
+
settings,
|
|
23
|
+
payloads: [payload],
|
|
24
|
+
features
|
|
25
|
+
});
|
|
20
26
|
},
|
|
21
|
-
performBatch: async (request, { settings, payload }) => {
|
|
22
|
-
return functions_1.processPayload(
|
|
27
|
+
performBatch: async (request, { settings, payload, features }) => {
|
|
28
|
+
return functions_1.processPayload({
|
|
29
|
+
request,
|
|
30
|
+
settings,
|
|
31
|
+
payloads: payload,
|
|
32
|
+
features
|
|
33
|
+
});
|
|
23
34
|
}
|
|
24
35
|
};
|
|
25
36
|
exports.default = action;
|
|
@@ -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,8CAAkH;AAClH,4CAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,4CAA4C;IACzD,mBAAmB,EAAE,4BAA4B;IACjD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,GAAG,iBAAI,EAAE;QACjB,MAAM,EAAE,EAAE,GAAG,mBAAM,EAAE;QACrB,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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RequestClient } from '@segment/actions-core';
|
|
2
|
+
export declare type AWSCredentials = {
|
|
3
|
+
accessKeyId: string;
|
|
4
|
+
secretAccessKey: string;
|
|
5
|
+
sessionToken: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function getAWSCredentialsFromEKS(request: RequestClient): Promise<AWSCredentials>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAWSCredentialsFromEKS = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const awsCredentialsCache = {
|
|
6
|
+
expires: 0,
|
|
7
|
+
credentials: { accessKeyId: '', secretAccessKey: '', sessionToken: '' }
|
|
8
|
+
};
|
|
9
|
+
function getToken() {
|
|
10
|
+
const tokenFilepath = process.env['AWS_WEB_IDENTITY_TOKEN_FILE'] || '/var/run/secrets/kubernetes.io/serviceaccount/token';
|
|
11
|
+
return fs_1.readFileSync(tokenFilepath, 'utf-8');
|
|
12
|
+
}
|
|
13
|
+
async function getAWSRoleARNFromK8sAPI(request, K8sToken) {
|
|
14
|
+
const K8sApiResponse = await request('https://kubernetes.default.svc/api/v1/namespaces/default/serviceaccounts/pod-service-account', {
|
|
15
|
+
headers: {
|
|
16
|
+
Authorization: `Bearer ${K8sToken}`
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const roleArn = K8sApiResponse.data?.metadata?.annotations?.['eks.amazonaws.com/role-arn'];
|
|
20
|
+
if (!roleArn) {
|
|
21
|
+
throw new Error('Unable to retrieve AWS Role ARN from Kubernetes API.');
|
|
22
|
+
}
|
|
23
|
+
return roleArn;
|
|
24
|
+
}
|
|
25
|
+
async function getCredentialsFromSTS(request, awsRoleARN, token) {
|
|
26
|
+
const stsResponse = await request(`https://sts.us-west-2.amazonaws.com/?` +
|
|
27
|
+
`Action=AssumeRoleWithWebIdentity` +
|
|
28
|
+
`&DurationSeconds=3600` +
|
|
29
|
+
`&RoleSessionName=integrations-monoservice` +
|
|
30
|
+
`&RoleArn=${awsRoleARN}` +
|
|
31
|
+
`&WebIdentityToken=${token}` +
|
|
32
|
+
`&Version=2011-06-15`, {
|
|
33
|
+
method: 'GET',
|
|
34
|
+
headers: {
|
|
35
|
+
'User-Agent': 'segment/integrations-monoservice',
|
|
36
|
+
Accept: 'application/json'
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
accessKeyId: stsResponse.data.AssumeRoleWithWebIdentityResponse.AssumeRoleWithWebIdentityResult.Credentials.AccessKeyId,
|
|
41
|
+
secretAccessKey: stsResponse.data.AssumeRoleWithWebIdentityResponse.AssumeRoleWithWebIdentityResult.Credentials.SecretAccessKey,
|
|
42
|
+
sessionToken: stsResponse.data.AssumeRoleWithWebIdentityResponse.AssumeRoleWithWebIdentityResult.Credentials.SessionToken
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
async function getAWSCredentialsFromEKS(request) {
|
|
46
|
+
if (awsCredentialsCache.expires > Date.now()) {
|
|
47
|
+
return awsCredentialsCache.credentials;
|
|
48
|
+
}
|
|
49
|
+
const token = getToken();
|
|
50
|
+
const awsRoleARN = process.env['AWS_ROLE_ARN'] || (await getAWSRoleARNFromK8sAPI(request, token));
|
|
51
|
+
const credentials = await getCredentialsFromSTS(request, awsRoleARN, token);
|
|
52
|
+
awsCredentialsCache.expires = Date.now() + 3300000;
|
|
53
|
+
awsCredentialsCache.credentials = credentials;
|
|
54
|
+
return credentials;
|
|
55
|
+
}
|
|
56
|
+
exports.getAWSCredentialsFromEKS = getAWSCredentialsFromEKS;
|
|
57
|
+
//# sourceMappingURL=sts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sts.js","sourceRoot":"","sources":["../../../src/lib/AWS/sts.ts"],"names":[],"mappings":";;;AAAA,2BAAiC;AA6CjC,MAAM,mBAAmB,GAAwB;IAC/C,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;CACxE,CAAA;AAED,SAAS,QAAQ;IACf,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,qDAAqD,CAAA;IACrG,OAAO,iBAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC;AAGD,KAAK,UAAU,uBAAuB,CAAC,OAAsB,EAAE,QAAgB;IAC7E,MAAM,cAAc,GAAG,MAAM,OAAO,CAClC,8FAA8F,EAC9F;QACE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,QAAQ,EAAE;SACpC;KACF,CACF,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,4BAA4B,CAAC,CAAA;IAE1F,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAsB,EACtB,UAAkB,EAClB,KAAa;IAEb,MAAM,WAAW,GAAG,MAAM,OAAO,CAC/B,uCAAuC;QACrC,kCAAkC;QAClC,uBAAuB;QACvB,2CAA2C;QAC3C,YAAY,UAAU,EAAE;QACxB,qBAAqB,KAAK,EAAE;QAC5B,qBAAqB,EACvB;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,YAAY,EAAE,kCAAkC;YAChD,MAAM,EAAE,kBAAkB;SAC3B;KACF,CACF,CAAA;IAED,OAAO;QACL,WAAW,EACT,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,+BAA+B,CAAC,WAAW,CAAC,WAAW;QAC5G,eAAe,EACb,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,+BAA+B,CAAC,WAAW,CAAC,eAAe;QAChH,YAAY,EACV,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,+BAA+B,CAAC,WAAW,CAAC,YAAY;KAC9G,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,OAAsB;IAGnE,IAAI,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CAAA;KACvC;IAGD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAGxB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjG,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAI3E,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAA;IAClD,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAA;IAE7C,OAAO,WAAW,CAAA;AACpB,CAAC;AArBD,4DAqBC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.198.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"__tests__/__helpers__/"
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "da244746ac1e91b6370e5a37b5c918f829199db1"
|
|
81
81
|
}
|