@segment/action-destinations 3.345.8-staging → 3.345.8-staging.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/responsys/generated-types.d.ts +2 -1
- package/dist/destinations/responsys/index.js +15 -7
- package/dist/destinations/responsys/index.js.map +1 -1
- package/dist/destinations/responsys/sendAudience/index.js +3 -3
- package/dist/destinations/responsys/sendAudience/index.js.map +1 -1
- package/dist/destinations/responsys/sendAudienceAsPet/functions.d.ts +4 -3
- package/dist/destinations/responsys/sendAudienceAsPet/functions.js +81 -54
- package/dist/destinations/responsys/sendAudienceAsPet/functions.js.map +1 -1
- package/dist/destinations/responsys/sendAudienceAsPet/generated-types.d.ts +2 -1
- package/dist/destinations/responsys/sendAudienceAsPet/index.js +17 -63
- package/dist/destinations/responsys/sendAudienceAsPet/index.js.map +1 -1
- package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +1 -0
- package/dist/destinations/responsys/sendCustomTraits/index.js +29 -8
- package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -1
- package/dist/destinations/responsys/sendToPet/functions.d.ts +10 -0
- package/dist/destinations/responsys/sendToPet/functions.js +108 -0
- package/dist/destinations/responsys/sendToPet/functions.js.map +1 -0
- package/dist/destinations/responsys/sendToPet/generated-types.d.ts +15 -0
- package/dist/destinations/responsys/sendToPet/generated-types.js +3 -0
- package/dist/destinations/responsys/sendToPet/generated-types.js.map +1 -0
- package/dist/destinations/responsys/sendToPet/index.d.ts +5 -0
- package/dist/destinations/responsys/sendToPet/index.js +69 -0
- package/dist/destinations/responsys/sendToPet/index.js.map +1 -0
- package/dist/destinations/responsys/shared-properties.d.ts +5 -1
- package/dist/destinations/responsys/shared-properties.js +75 -2
- package/dist/destinations/responsys/shared-properties.js.map +1 -1
- package/dist/destinations/responsys/types.d.ts +3 -0
- package/dist/destinations/responsys/upsertListMember/generated-types.d.ts +2 -1
- package/dist/destinations/responsys/upsertListMember/index.js +6 -7
- package/dist/destinations/responsys/upsertListMember/index.js.map +1 -1
- package/dist/destinations/responsys/utils.d.ts +7 -3
- package/dist/destinations/responsys/utils.js +108 -49
- package/dist/destinations/responsys/utils.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.d.ts +1 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js +325 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -17
- package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +1 -17
- package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +2 -2
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +45 -7
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/types.d.ts +19 -0
- package/dist/destinations/salesforce-marketing-cloud/types.js +3 -0
- package/dist/destinations/salesforce-marketing-cloud/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestClient } from '@segment/actions-core';
|
|
1
|
+
import { RequestClient, MultiStatusResponse, ModifiedResponse } from '@segment/actions-core';
|
|
2
2
|
import { Payload as payload_dataExtension } from './dataExtension/generated-types';
|
|
3
3
|
import { Payload as payload_contactDataExtension } from './contactDataExtension/generated-types';
|
|
4
|
-
export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<
|
|
4
|
+
export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<ModifiedResponse<unknown> | MultiStatusResponse | undefined>;
|
|
@@ -2,10 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.upsertRows = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
-
function upsertRows(request, subdomain, payloads) {
|
|
5
|
+
async function upsertRows(request, subdomain, payloads) {
|
|
6
|
+
const multiStatusResponse = new actions_core_1.MultiStatusResponse();
|
|
7
|
+
let url;
|
|
8
|
+
let response;
|
|
6
9
|
const { key, id } = payloads[0];
|
|
7
10
|
if (!key && !id) {
|
|
8
|
-
|
|
11
|
+
if (payloads.length === 1) {
|
|
12
|
+
throw new actions_core_1.IntegrationError(`In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`, 'Misconfigured required field', 400);
|
|
13
|
+
}
|
|
14
|
+
payloads.forEach((_, index) => {
|
|
15
|
+
multiStatusResponse.setErrorResponseAtIndex(index, {
|
|
16
|
+
status: 400,
|
|
17
|
+
errortype: 'PAYLOAD_VALIDATION_FAILED',
|
|
18
|
+
errormessage: `In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
return multiStatusResponse;
|
|
9
22
|
}
|
|
10
23
|
const rows = [];
|
|
11
24
|
payloads.forEach((payload) => {
|
|
@@ -15,17 +28,42 @@ function upsertRows(request, subdomain, payloads) {
|
|
|
15
28
|
});
|
|
16
29
|
});
|
|
17
30
|
if (key) {
|
|
18
|
-
|
|
19
|
-
method: 'POST',
|
|
20
|
-
json: rows
|
|
21
|
-
});
|
|
31
|
+
url = `https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${key}/rowset`;
|
|
22
32
|
}
|
|
23
33
|
else {
|
|
24
|
-
|
|
34
|
+
url = `https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${id}/rowset`;
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
response = await request(url, {
|
|
25
38
|
method: 'POST',
|
|
26
39
|
json: rows
|
|
27
40
|
});
|
|
41
|
+
payloads.forEach((payload, index) => {
|
|
42
|
+
multiStatusResponse.setSuccessResponseAtIndex(index, {
|
|
43
|
+
status: 200,
|
|
44
|
+
sent: payload,
|
|
45
|
+
body: JSON.stringify(response?.data)
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const err = error;
|
|
51
|
+
if (err?.response?.data?.message === 'Not Authorized' || payloads.length === 1) {
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
payloads.forEach((payload, index) => {
|
|
55
|
+
multiStatusResponse.setErrorResponseAtIndex(index, {
|
|
56
|
+
status: 400,
|
|
57
|
+
errormessage: err?.response?.data?.additionalErrors[0]?.message || '',
|
|
58
|
+
sent: payload,
|
|
59
|
+
body: JSON.stringify(err)
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (payloads.length > 1) {
|
|
64
|
+
return multiStatusResponse;
|
|
28
65
|
}
|
|
66
|
+
return response;
|
|
29
67
|
}
|
|
30
68
|
exports.upsertRows = upsertRows;
|
|
31
69
|
//# sourceMappingURL=sfmc-operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":";;;AAAA,wDAM8B;AAKvB,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,SAAiB,EACjB,QAAkE;IAElE,MAAM,mBAAmB,GAAG,IAAI,kCAAmB,EAAE,CAAA;IACrD,IAAI,GAAW,CAAA;IACf,IAAI,QAAsC,CAAA;IAC1C,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,+BAAgB,CACxB,+GAA+G,EAC/G,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,2BAA2B;gBACtC,YAAY,EAAE,+GAA+G;aAC9H,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;KAC3B;IACD,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA6D,EAAE,EAAE;QACjF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,GAAG,EAAE;QACP,GAAG,GAAG,WAAW,SAAS,sDAAsD,GAAG,SAAS,CAAA;KAC7F;SAAM;QACL,GAAG,GAAG,WAAW,SAAS,kDAAkD,EAAE,SAAS,CAAA;KACxF;IAED,IAAI;QACF,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,EAAE;gBACnD,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,OAAmC;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;aACrC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,GAAG,GAAG,KAAsB,CAAA;QAClC,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,gBAAgB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9E,MAAM,KAAK,CAAA;SACZ;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,GAAG;gBACX,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;gBACrE,IAAI,EAAE,OAAmC;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,mBAAmB,CAAA;KAC3B;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAzED,gCAyEC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface AdditionalError {
|
|
2
|
+
message: string;
|
|
3
|
+
errorcode: number;
|
|
4
|
+
documentation: string;
|
|
5
|
+
}
|
|
6
|
+
interface ErrorData {
|
|
7
|
+
additionalErrors: AdditionalError[];
|
|
8
|
+
message: string;
|
|
9
|
+
}
|
|
10
|
+
interface ErrorResponseData {
|
|
11
|
+
message: string;
|
|
12
|
+
errorcode: number;
|
|
13
|
+
documentation: string;
|
|
14
|
+
data: ErrorData;
|
|
15
|
+
}
|
|
16
|
+
export interface ErrorResponse {
|
|
17
|
+
response: ErrorResponseData;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/types.ts"],"names":[],"mappings":""}
|
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.345.8-staging",
|
|
4
|
+
"version": "3.345.8-staging.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|