@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.
Files changed (47) hide show
  1. package/dist/destinations/responsys/generated-types.d.ts +2 -1
  2. package/dist/destinations/responsys/index.js +15 -7
  3. package/dist/destinations/responsys/index.js.map +1 -1
  4. package/dist/destinations/responsys/sendAudience/index.js +3 -3
  5. package/dist/destinations/responsys/sendAudience/index.js.map +1 -1
  6. package/dist/destinations/responsys/sendAudienceAsPet/functions.d.ts +4 -3
  7. package/dist/destinations/responsys/sendAudienceAsPet/functions.js +81 -54
  8. package/dist/destinations/responsys/sendAudienceAsPet/functions.js.map +1 -1
  9. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.d.ts +2 -1
  10. package/dist/destinations/responsys/sendAudienceAsPet/index.js +17 -63
  11. package/dist/destinations/responsys/sendAudienceAsPet/index.js.map +1 -1
  12. package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +1 -0
  13. package/dist/destinations/responsys/sendCustomTraits/index.js +29 -8
  14. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -1
  15. package/dist/destinations/responsys/sendToPet/functions.d.ts +10 -0
  16. package/dist/destinations/responsys/sendToPet/functions.js +108 -0
  17. package/dist/destinations/responsys/sendToPet/functions.js.map +1 -0
  18. package/dist/destinations/responsys/sendToPet/generated-types.d.ts +15 -0
  19. package/dist/destinations/responsys/sendToPet/generated-types.js +3 -0
  20. package/dist/destinations/responsys/sendToPet/generated-types.js.map +1 -0
  21. package/dist/destinations/responsys/sendToPet/index.d.ts +5 -0
  22. package/dist/destinations/responsys/sendToPet/index.js +69 -0
  23. package/dist/destinations/responsys/sendToPet/index.js.map +1 -0
  24. package/dist/destinations/responsys/shared-properties.d.ts +5 -1
  25. package/dist/destinations/responsys/shared-properties.js +75 -2
  26. package/dist/destinations/responsys/shared-properties.js.map +1 -1
  27. package/dist/destinations/responsys/types.d.ts +3 -0
  28. package/dist/destinations/responsys/upsertListMember/generated-types.d.ts +2 -1
  29. package/dist/destinations/responsys/upsertListMember/index.js +6 -7
  30. package/dist/destinations/responsys/upsertListMember/index.js.map +1 -1
  31. package/dist/destinations/responsys/utils.d.ts +7 -3
  32. package/dist/destinations/responsys/utils.js +108 -49
  33. package/dist/destinations/responsys/utils.js.map +1 -1
  34. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.d.ts +1 -0
  35. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js +325 -0
  36. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js.map +1 -0
  37. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -17
  38. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
  39. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +1 -17
  40. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
  41. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +2 -2
  42. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +45 -7
  43. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  44. package/dist/destinations/salesforce-marketing-cloud/types.d.ts +19 -0
  45. package/dist/destinations/salesforce-marketing-cloud/types.js +3 -0
  46. package/dist/destinations/salesforce-marketing-cloud/types.js.map +1 -0
  47. 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<import("@segment/actions-core").ModifiedResponse<unknown>>;
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
- 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);
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
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${key}/rowset`, {
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
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${id}/rowset`, {
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,wDAAuE;AAIvE,SAAgB,UAAU,CACxB,OAAsB,EACtB,SAAiB,EACjB,QAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;QACf,MAAM,IAAI,+BAAgB,CACxB,+GAA+G,EAC/G,8BAA8B,EAC9B,GAAG,CACJ,CAAA;KACF;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,OAAO,OAAO,CAAC,WAAW,SAAS,sDAAsD,GAAG,SAAS,EAAE;YACrG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;KACH;SAAM;QACL,OAAO,OAAO,CAAC,WAAW,SAAS,kDAAkD,EAAE,SAAS,EAAE;YAChG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;KACH;AACH,CAAC;AA/BD,gCA+BC"}
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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",