@segment/action-destinations 3.345.8-staging → 3.345.9-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 (49) hide show
  1. package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js +49 -29
  2. package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js.map +1 -1
  3. package/dist/destinations/responsys/generated-types.d.ts +2 -1
  4. package/dist/destinations/responsys/index.js +15 -7
  5. package/dist/destinations/responsys/index.js.map +1 -1
  6. package/dist/destinations/responsys/sendAudience/index.js +3 -3
  7. package/dist/destinations/responsys/sendAudience/index.js.map +1 -1
  8. package/dist/destinations/responsys/sendAudienceAsPet/functions.d.ts +4 -3
  9. package/dist/destinations/responsys/sendAudienceAsPet/functions.js +81 -54
  10. package/dist/destinations/responsys/sendAudienceAsPet/functions.js.map +1 -1
  11. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.d.ts +2 -1
  12. package/dist/destinations/responsys/sendAudienceAsPet/index.js +17 -63
  13. package/dist/destinations/responsys/sendAudienceAsPet/index.js.map +1 -1
  14. package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +1 -0
  15. package/dist/destinations/responsys/sendCustomTraits/index.js +29 -8
  16. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -1
  17. package/dist/destinations/responsys/sendToPet/functions.d.ts +10 -0
  18. package/dist/destinations/responsys/sendToPet/functions.js +108 -0
  19. package/dist/destinations/responsys/sendToPet/functions.js.map +1 -0
  20. package/dist/destinations/responsys/sendToPet/generated-types.d.ts +15 -0
  21. package/dist/destinations/responsys/sendToPet/generated-types.js +3 -0
  22. package/dist/destinations/responsys/sendToPet/generated-types.js.map +1 -0
  23. package/dist/destinations/responsys/sendToPet/index.d.ts +5 -0
  24. package/dist/destinations/responsys/sendToPet/index.js +69 -0
  25. package/dist/destinations/responsys/sendToPet/index.js.map +1 -0
  26. package/dist/destinations/responsys/shared-properties.d.ts +5 -1
  27. package/dist/destinations/responsys/shared-properties.js +75 -2
  28. package/dist/destinations/responsys/shared-properties.js.map +1 -1
  29. package/dist/destinations/responsys/types.d.ts +3 -0
  30. package/dist/destinations/responsys/upsertListMember/generated-types.d.ts +2 -1
  31. package/dist/destinations/responsys/upsertListMember/index.js +6 -7
  32. package/dist/destinations/responsys/upsertListMember/index.js.map +1 -1
  33. package/dist/destinations/responsys/utils.d.ts +7 -3
  34. package/dist/destinations/responsys/utils.js +108 -49
  35. package/dist/destinations/responsys/utils.js.map +1 -1
  36. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.d.ts +1 -0
  37. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js +325 -0
  38. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js.map +1 -0
  39. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -17
  40. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
  41. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +1 -17
  42. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
  43. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +2 -2
  44. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +45 -7
  45. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  46. package/dist/destinations/salesforce-marketing-cloud/types.d.ts +19 -0
  47. package/dist/destinations/salesforce-marketing-cloud/types.js +3 -0
  48. package/dist/destinations/salesforce-marketing-cloud/types.js.map +1 -0
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/upsertListMember/index.ts"],"names":[],"mappings":";;AAGA,4DAAkE;AAClE,oCAA8F;AAG9F,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,4BAA4B;IACnC,WAAW,EAAE,qDAAqD;IAClE,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,oFAAoF;YACjG,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,UAAU;YAC3B,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,KAAK;iBAChB;gBACD,eAAe,EAAE;oBACf,KAAK,EAAE,wBAAwB;oBAC/B,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,kBAAkB,EAAE;oBAClB,KAAK,EAAE,2BAA2B;oBAClC,WAAW,EAAE,4CAA4C;oBACzD,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,mEAAmE;oBAChF,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,iCAAiC;oBAC9C,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBAC7C,eAAe,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE;gBACxD,kBAAkB,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;gBAC7D,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;gBACrC,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;aAC9C;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE,mCAAe;QAChC,UAAU,EAAE,8BAAU;KACvB;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,kBAAkB,GAAG,6BAAqB,CAAC,IAAuB,CAAC,CAAA;QAEzE,iCAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEhD,OAAO,yBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACtF,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,kBAAkB,GAAG,6BAAqB,CAAC,IAAuB,CAAC,CAAA;QAEzE,OAAO,yBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACpF,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/upsertListMember/index.ts"],"names":[],"mappings":";;AAKA,4DAAqG;AACrG,oCAAuE;AAEvE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,4BAA4B;IACnC,WAAW,EAAE,qDAAqD;IAClE,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,oFAAoF;YACjG,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,UAAU;YAC3B,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,cAAc,EAAE;oBACd,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,KAAK;iBAChB;gBACD,eAAe,EAAE;oBACf,KAAK,EAAE,wBAAwB;oBAC/B,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,kBAAkB,EAAE;oBAClB,KAAK,EAAE,2BAA2B;oBAClC,WAAW,EAAE,4CAA4C;oBACzD,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,mEAAmE;oBAChF,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,iCAAiC;oBAC9C,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBAC7C,eAAe,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE;gBACxD,kBAAkB,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE;gBAC7D,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;gBACrC,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;aAC9C;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE,2CAAuB;QACxC,UAAU,EAAE,8BAAU;QACtB,yBAAyB,EAAE,6CAAyB;KACrD;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,iCAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO,yBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3F,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,OAAO,yBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzF,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,10 +1,12 @@
1
1
  import { Payload as CustomTraitsPayload } from './sendCustomTraits/generated-types';
2
2
  import { Payload as AudiencePayload } from './sendAudience/generated-types';
3
3
  import { Payload as ListMemberPayload } from './upsertListMember/generated-types';
4
+ import { AuthTokens } from '@segment/actions-core/destination-kit/parse-settings';
4
5
  import { ResponsysCustomTraitsRequestBody, Data } from './types';
5
6
  import { RequestClient, StatsContext, ModifiedResponse } from '@segment/actions-core';
6
7
  import type { Settings } from './generated-types';
7
- export declare const validateCustomTraits: ({ profileExtensionTable, timestamp, statsContext, retry }: {
8
+ export declare const getRateLimits: (request: RequestClient, settings: Settings) => Promise<ModifiedResponse<any>>;
9
+ export declare const testConditionsToRetry: ({ timestamp, statsContext, retry }: {
8
10
  profileExtensionTable?: string | undefined;
9
11
  timestamp: string | number;
10
12
  statsContext: StatsContext | undefined;
@@ -17,6 +19,8 @@ export declare const validateListMemberPayload: ({ EMAIL_ADDRESS_, RIID_, CUSTOM
17
19
  CUSTOMER_ID_?: string | undefined;
18
20
  }) => void;
19
21
  export declare const getUserDataFieldNames: (data: Data) => string[];
22
+ export declare const stringifyObject: (obj: Record<string, unknown>) => Record<string, string>;
20
23
  export declare const sendCustomTraits: (request: RequestClient, payload: CustomTraitsPayload[] | AudiencePayload[], settings: Settings, userDataFieldNames: string[], isAudience?: boolean) => Promise<ModifiedResponse<unknown>>;
21
- export declare const upsertListMembers: (request: RequestClient, payload: ListMemberPayload[], settings: Settings, userDataFieldNames: string[]) => Promise<ModifiedResponse<unknown>>;
22
- export declare const sendDebugMessageToSegmentSource: (request: RequestClient, requestBody: ResponsysCustomTraitsRequestBody, response: ModifiedResponse<unknown>, settings: Settings) => Promise<void>;
24
+ export declare const upsertListMembers: (request: RequestClient, authTokens: AuthTokens, payload: ListMemberPayload[], settings: Settings, usingAsyncApi?: boolean) => Promise<ModifiedResponse<unknown>[]>;
25
+ export declare const sendDebugMessageToSegmentSource: (request: RequestClient, requestBody: ResponsysCustomTraitsRequestBody, response: ModifiedResponse<any>, settings: Settings) => Promise<void>;
26
+ export declare const getAsyncResponse: (requestId: string, authTokens: AuthTokens, settings: Settings) => Promise<ModifiedResponse<unknown>>;
@@ -1,8 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendDebugMessageToSegmentSource = exports.upsertListMembers = exports.sendCustomTraits = exports.getUserDataFieldNames = exports.validateListMemberPayload = exports.shouldRetry = exports.validateCustomTraits = void 0;
3
+ exports.getAsyncResponse = exports.sendDebugMessageToSegmentSource = exports.upsertListMembers = exports.sendCustomTraits = exports.stringifyObject = exports.getUserDataFieldNames = exports.validateListMemberPayload = exports.shouldRetry = exports.testConditionsToRetry = exports.getRateLimits = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
- const validateCustomTraits = ({ profileExtensionTable, timestamp, statsContext, retry }) => {
5
+ const upsertListMembersWaitInterval = 150;
6
+ const getAsyncResponseWaitInterval = 60;
7
+ const getRateLimits = async (request, settings) => {
8
+ const endpoint = new URL('/rest/api/ratelimit', settings.baseUrl);
9
+ return request(endpoint.href, {
10
+ method: 'GET',
11
+ skipResponseCloning: true
12
+ });
13
+ };
14
+ exports.getRateLimits = getRateLimits;
15
+ const testConditionsToRetry = ({ timestamp, statsContext, retry }) => {
6
16
  const statsClient = statsContext?.statsClient;
7
17
  const statsTag = statsContext?.tags;
8
18
  if (retry !== undefined && retry > 0 && exports.shouldRetry(timestamp, retry)) {
@@ -16,13 +26,8 @@ const validateCustomTraits = ({ profileExtensionTable, timestamp, statsContext,
16
26
  statsClient?.incr('responsysShouldRetryFALSE', 1, statsTag);
17
27
  }
18
28
  }
19
- if (!(typeof profileExtensionTable !== 'undefined' &&
20
- profileExtensionTable !== null &&
21
- profileExtensionTable.trim().length > 0)) {
22
- throw new actions_core_1.IntegrationError('Send Custom Traits Action requires "PET Name" setting field to be populated', 'PET_NAME_SETTING_MISSING', 400);
23
- }
24
29
  };
25
- exports.validateCustomTraits = validateCustomTraits;
30
+ exports.testConditionsToRetry = testConditionsToRetry;
26
31
  const shouldRetry = (timestamp, retry) => {
27
32
  return (new Date().getTime() - new Date(timestamp).getTime()) / 1000 < retry;
28
33
  };
@@ -44,6 +49,7 @@ const stringifyObject = (obj) => {
44
49
  }
45
50
  return stringifiedObj;
46
51
  };
52
+ exports.stringifyObject = stringifyObject;
47
53
  const sendCustomTraits = async (request, payload, settings, userDataFieldNames, isAudience = false) => {
48
54
  let userDataArray;
49
55
  if (isAudience) {
@@ -55,14 +61,14 @@ const sendCustomTraits = async (request, payload, settings, userDataFieldNames,
55
61
  userDataFieldNames.push(audienceKeyUppercase);
56
62
  }
57
63
  return {
58
- ...(obj.stringify ? stringifyObject(obj.userData) : obj.userData),
59
- ...(obj.stringify ? stringifyObject(audienceTraitValue) : audienceTraitValue)
64
+ ...(obj.stringify ? exports.stringifyObject(obj.userData) : obj.userData),
65
+ ...(obj.stringify ? exports.stringifyObject(audienceTraitValue) : audienceTraitValue)
60
66
  };
61
67
  });
62
68
  }
63
69
  else {
64
70
  const customTraitsPayloads = payload;
65
- userDataArray = customTraitsPayloads.map((obj) => (obj.stringify ? stringifyObject(obj.userData) : obj.userData));
71
+ userDataArray = customTraitsPayloads.map((obj) => (obj.stringify ? exports.stringifyObject(obj.userData) : obj.userData));
66
72
  }
67
73
  const records = userDataArray.map((userData) => {
68
74
  return userDataFieldNames.map((fieldName) => {
@@ -93,45 +99,81 @@ const sendCustomTraits = async (request, payload, settings, userDataFieldNames,
93
99
  return response;
94
100
  };
95
101
  exports.sendCustomTraits = sendCustomTraits;
96
- const upsertListMembers = async (request, payload, settings, userDataFieldNames) => {
97
- const userDataArray = payload.map((obj) => (obj.stringify ? stringifyObject(obj.userData) : obj.userData));
98
- const records = userDataArray.map((userData) => {
99
- return userDataFieldNames.map((fieldName) => {
100
- return userData && fieldName in userData
101
- ? userData[fieldName]
102
- : '';
102
+ const upsertListMembers = async (request, authTokens, payload, settings, usingAsyncApi = true) => {
103
+ const userDataArray = payload.map((obj) => (obj.stringify ? exports.stringifyObject(obj.userData) : obj.userData));
104
+ const userDataFieldNames = [
105
+ 'EMAIL_ADDRESS_',
106
+ 'CUSTOMER_ID_',
107
+ 'MOBILE_NUMBER_',
108
+ 'EMAIL_MD5_HASH_',
109
+ 'EMAIL_SHA256_HASH_'
110
+ ];
111
+ const records = [];
112
+ for (const item of userDataArray) {
113
+ const record = [];
114
+ for (const fieldName of userDataFieldNames) {
115
+ if (fieldName in item) {
116
+ record.push(item[fieldName]);
117
+ }
118
+ else {
119
+ record.push('');
120
+ }
121
+ }
122
+ records.push(record);
123
+ }
124
+ const responses = [];
125
+ for (let i = 0; i < records.length; i += 200) {
126
+ const chunk = records.slice(i, i + 200);
127
+ const recordData = {
128
+ fieldNames: userDataFieldNames,
129
+ records: chunk,
130
+ mapTemplateName: ''
131
+ };
132
+ const mergeRule = {
133
+ htmlValue: settings.htmlValue,
134
+ optinValue: settings.optinValue,
135
+ textValue: settings.textValue,
136
+ insertOnNoMatch: settings.insertOnNoMatch || false,
137
+ updateOnMatch: settings.updateOnMatch,
138
+ matchColumnName1: settings.matchColumnName1 + '_',
139
+ matchOperator: settings.matchOperator,
140
+ optoutValue: settings.optoutValue,
141
+ rejectRecordIfChannelEmpty: settings.rejectRecordIfChannelEmpty,
142
+ defaultPermissionStatus: payload[0].default_permission_status || settings.defaultPermissionStatus
143
+ };
144
+ if (settings.matchColumnName2) {
145
+ mergeRule.matchColumnName2 = settings.matchColumnName2 + '_';
146
+ }
147
+ const requestBody = {
148
+ recordData,
149
+ mergeRule
150
+ };
151
+ const path = `/rest/${usingAsyncApi ? 'asyncApi' : 'api'}/v1.3/lists/${settings.profileListName}/members`;
152
+ const endpoint = new URL(path, settings.baseUrl);
153
+ const headers = {
154
+ headers: {
155
+ authorization: `${authTokens.accessToken}`,
156
+ 'Content-Type': 'application/json'
157
+ }
158
+ };
159
+ await new Promise((resolve) => setTimeout(resolve, upsertListMembersWaitInterval));
160
+ const secondRequest = actions_core_1.createRequestClient(headers);
161
+ const response = await secondRequest(endpoint.href, {
162
+ method: 'POST',
163
+ body: JSON.stringify(requestBody)
103
164
  });
104
- });
105
- const recordData = {
106
- fieldNames: userDataFieldNames,
107
- records,
108
- mapTemplateName: ''
109
- };
110
- const mergeRule = {
111
- htmlValue: settings.htmlValue,
112
- optinValue: settings.optinValue,
113
- textValue: settings.textValue,
114
- insertOnNoMatch: settings.insertOnNoMatch,
115
- updateOnMatch: settings.updateOnMatch,
116
- matchColumnName1: settings.matchColumnName1 + '_',
117
- matchColumnName2: settings.matchColumnName2 ? settings.matchColumnName2 + '_' : '',
118
- matchOperator: settings.matchOperator,
119
- optoutValue: settings.optoutValue,
120
- rejectRecordIfChannelEmpty: settings.rejectRecordIfChannelEmpty,
121
- defaultPermissionStatus: settings.defaultPermissionStatus
122
- };
123
- const requestBody = {
124
- recordData,
125
- mergeRule
126
- };
127
- const path = `/rest/asyncApi/v1.3/lists/${settings.profileListName}/members`;
128
- const endpoint = new URL(path, settings.baseUrl);
129
- const response = await request(endpoint.href, {
130
- method: 'POST',
131
- body: JSON.stringify(requestBody)
132
- });
133
- await exports.sendDebugMessageToSegmentSource(request, requestBody, response, settings);
134
- return response;
165
+ if (usingAsyncApi) {
166
+ const requestId = response.data.requestId;
167
+ const asyncResponse = await exports.getAsyncResponse(requestId, authTokens, settings);
168
+ await exports.sendDebugMessageToSegmentSource(request, requestBody, asyncResponse, settings);
169
+ responses.push(asyncResponse);
170
+ }
171
+ else {
172
+ await exports.sendDebugMessageToSegmentSource(request, requestBody, response, settings);
173
+ responses.push(response);
174
+ }
175
+ }
176
+ return responses;
135
177
  };
136
178
  exports.upsertListMembers = upsertListMembers;
137
179
  const sendDebugMessageToSegmentSource = async (request, requestBody, response, settings) => {
@@ -165,4 +207,21 @@ const sendDebugMessageToSegmentSource = async (request, requestBody, response, s
165
207
  }
166
208
  };
167
209
  exports.sendDebugMessageToSegmentSource = sendDebugMessageToSegmentSource;
210
+ const getAsyncResponse = async (requestId, authTokens, settings) => {
211
+ const headers = {
212
+ headers: {
213
+ authorization: `${authTokens.accessToken}`,
214
+ 'Content-Type': 'application/json'
215
+ }
216
+ };
217
+ const operationResponseEndpoint = new URL(`/rest/asyncApi/v1.3/requests/${requestId}`, settings.baseUrl);
218
+ const request = actions_core_1.createRequestClient(headers);
219
+ await new Promise((resolve) => setTimeout(resolve, getAsyncResponseWaitInterval));
220
+ const asyncResponse = await request(operationResponseEndpoint.href, {
221
+ method: 'GET',
222
+ skipResponseCloning: true
223
+ });
224
+ return asyncResponse;
225
+ };
226
+ exports.getAsyncResponse = getAsyncResponse;
168
227
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/responsys/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/responsys/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,325 @@
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
+ const actions_core_1 = require("@segment/actions-core");
7
+ const nock_1 = __importDefault(require("nock"));
8
+ const index_1 = __importDefault(require("../index"));
9
+ beforeEach(() => nock_1.default.cleanAll());
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const settings = {
12
+ subdomain: 'test123',
13
+ client_id: 'test123',
14
+ client_secret: 'test123',
15
+ account_id: 'test123'
16
+ };
17
+ const requestUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/1234567890/rowset`;
18
+ const mapping = {
19
+ id: { '@path': '$.properties.id' },
20
+ keys: { '@path': '$.properties.keys' },
21
+ values: { '@path': '$.properties.values' }
22
+ };
23
+ describe('Multistatus', () => {
24
+ describe('dataExtension', () => {
25
+ it('should successfully handle a batch of events with complete success response from SFMC API', async () => {
26
+ nock_1.default(requestUrl).post('').reply(200, {});
27
+ const events = [
28
+ actions_core_1.createTestEvent({
29
+ type: 'track',
30
+ userId: 'harry-1',
31
+ properties: {
32
+ id: '1234567890',
33
+ keys: {
34
+ id: 'HS1'
35
+ },
36
+ values: {
37
+ name: 'Harry Styles'
38
+ }
39
+ }
40
+ }),
41
+ actions_core_1.createTestEvent({
42
+ type: 'track',
43
+ userId: 'harry-1',
44
+ properties: {
45
+ id: '1234567890',
46
+ keys: {
47
+ id: 'HS1'
48
+ },
49
+ values: {
50
+ name: 'Harry Styles'
51
+ }
52
+ }
53
+ })
54
+ ];
55
+ const response = await testDestination.executeBatch('dataExtension', {
56
+ events,
57
+ settings,
58
+ mapping
59
+ });
60
+ expect(response[0]).toMatchObject({
61
+ status: 200,
62
+ body: {}
63
+ });
64
+ expect(response[1]).toMatchObject({
65
+ status: 200,
66
+ body: {}
67
+ });
68
+ });
69
+ it('should handle the case where both key and id are missing', async () => {
70
+ const events = [
71
+ actions_core_1.createTestEvent({
72
+ type: 'track',
73
+ userId: 'harry-1',
74
+ properties: {
75
+ keys: {
76
+ id: 'HS1'
77
+ },
78
+ values: {
79
+ name: 'Harry Styles'
80
+ }
81
+ }
82
+ }),
83
+ actions_core_1.createTestEvent({
84
+ type: 'track',
85
+ userId: 'harry-2',
86
+ properties: {
87
+ keys: {
88
+ id: 'HP1'
89
+ },
90
+ values: {
91
+ name: 'Harry Potter'
92
+ }
93
+ }
94
+ })
95
+ ];
96
+ const response = await testDestination.executeBatch('dataExtension', {
97
+ events,
98
+ settings,
99
+ mapping
100
+ });
101
+ expect(response[0]).toMatchObject({
102
+ status: 400,
103
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
104
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
105
+ errorreporter: 'INTEGRATIONS'
106
+ });
107
+ expect(response[1]).toMatchObject({
108
+ status: 400,
109
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
110
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
111
+ errorreporter: 'INTEGRATIONS'
112
+ });
113
+ });
114
+ it('should handle multistatus errors when some events fail with specific error messages', async () => {
115
+ const errorResponse = {
116
+ status: 400,
117
+ message: 'Invalid keys for ID: HS1',
118
+ additionalErrors: [
119
+ {
120
+ message: 'No record found for ID: HS2'
121
+ }
122
+ ]
123
+ };
124
+ nock_1.default(requestUrl).post('').reply(400, errorResponse);
125
+ const events = [
126
+ actions_core_1.createTestEvent({
127
+ type: 'track',
128
+ userId: 'harry-1',
129
+ properties: {
130
+ id: '1234567890',
131
+ keys: {
132
+ id: 'HS1'
133
+ },
134
+ values: {
135
+ name: 'Harry Styles'
136
+ }
137
+ }
138
+ }),
139
+ actions_core_1.createTestEvent({
140
+ type: 'track',
141
+ userId: 'harry-2',
142
+ properties: {
143
+ id: '1234567890',
144
+ keys: {
145
+ id: 'HS2'
146
+ },
147
+ values: {
148
+ name: 'Harry Potter'
149
+ }
150
+ }
151
+ })
152
+ ];
153
+ const response = await testDestination.executeBatch('dataExtension', {
154
+ events,
155
+ settings,
156
+ mapping
157
+ });
158
+ expect(response[0]).toMatchObject({
159
+ status: 400,
160
+ errortype: 'BAD_REQUEST',
161
+ errormessage: 'No record found for ID: HS2',
162
+ errorreporter: 'DESTINATION'
163
+ });
164
+ expect(response[1]).toMatchObject({
165
+ status: 400,
166
+ errortype: 'BAD_REQUEST',
167
+ errormessage: 'No record found for ID: HS2',
168
+ errorreporter: 'DESTINATION'
169
+ });
170
+ });
171
+ });
172
+ describe('contactDataExtension', () => {
173
+ it('should successfully handle a batch of events with complete success response from SFMC API', async () => {
174
+ nock_1.default(requestUrl).post('').reply(200, {});
175
+ const events = [
176
+ actions_core_1.createTestEvent({
177
+ type: 'track',
178
+ properties: {
179
+ id: '1234567890',
180
+ keys: {
181
+ contactKey: 'harry-1',
182
+ id: 'HS1'
183
+ },
184
+ values: {
185
+ name: 'Harry Styles'
186
+ }
187
+ }
188
+ }),
189
+ actions_core_1.createTestEvent({
190
+ type: 'track',
191
+ properties: {
192
+ id: '1234567890',
193
+ keys: {
194
+ contactKey: 'harry-2',
195
+ id: 'HP1'
196
+ },
197
+ values: {
198
+ name: 'Harry Potter'
199
+ }
200
+ }
201
+ })
202
+ ];
203
+ const response = await testDestination.executeBatch('contactDataExtension', {
204
+ events,
205
+ settings,
206
+ mapping
207
+ });
208
+ expect(response[0]).toMatchObject({
209
+ status: 200,
210
+ body: {}
211
+ });
212
+ expect(response[1]).toMatchObject({
213
+ status: 200,
214
+ body: {}
215
+ });
216
+ });
217
+ it('should handle the case where both key and id are missing', async () => {
218
+ const events = [
219
+ actions_core_1.createTestEvent({
220
+ type: 'track',
221
+ userId: 'harry-1',
222
+ properties: {
223
+ keys: {
224
+ contactKey: 'harry-1',
225
+ id: 'HS1'
226
+ },
227
+ values: {
228
+ name: 'Harry Styles'
229
+ }
230
+ }
231
+ }),
232
+ actions_core_1.createTestEvent({
233
+ type: 'track',
234
+ userId: 'harry-2',
235
+ properties: {
236
+ keys: {
237
+ contactKey: 'harry-2',
238
+ id: 'HP1'
239
+ },
240
+ values: {
241
+ name: 'Harry Potter'
242
+ }
243
+ }
244
+ })
245
+ ];
246
+ const response = await testDestination.executeBatch('contactDataExtension', {
247
+ events,
248
+ settings,
249
+ mapping
250
+ });
251
+ expect(response[0]).toMatchObject({
252
+ status: 400,
253
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
254
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
255
+ errorreporter: 'INTEGRATIONS'
256
+ });
257
+ expect(response[1]).toMatchObject({
258
+ status: 400,
259
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
260
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
261
+ errorreporter: 'INTEGRATIONS'
262
+ });
263
+ });
264
+ it('should handle multistatus errors when some events fail with specific error messages', async () => {
265
+ const errorResponse = {
266
+ status: 400,
267
+ message: 'Invalid keys for ID: HS1',
268
+ additionalErrors: [
269
+ {
270
+ message: 'No record found for ID: HS2'
271
+ }
272
+ ]
273
+ };
274
+ nock_1.default(requestUrl).post('').reply(400, errorResponse);
275
+ const events = [
276
+ actions_core_1.createTestEvent({
277
+ type: 'track',
278
+ userId: 'harry-1',
279
+ properties: {
280
+ id: '1234567890',
281
+ keys: {
282
+ contactKey: 'harry-1',
283
+ id: 'HS1'
284
+ },
285
+ values: {
286
+ name: 'Harry Styles'
287
+ }
288
+ }
289
+ }),
290
+ actions_core_1.createTestEvent({
291
+ type: 'track',
292
+ userId: 'harry-2',
293
+ properties: {
294
+ id: '1234567890',
295
+ keys: {
296
+ contactKey: 'harry-2',
297
+ id: 'HS2'
298
+ },
299
+ values: {
300
+ name: 'Harry Potter'
301
+ }
302
+ }
303
+ })
304
+ ];
305
+ const response = await testDestination.executeBatch('contactDataExtension', {
306
+ events,
307
+ settings,
308
+ mapping
309
+ });
310
+ expect(response[0]).toMatchObject({
311
+ status: 400,
312
+ errortype: 'BAD_REQUEST',
313
+ errormessage: 'No record found for ID: HS2',
314
+ errorreporter: 'DESTINATION'
315
+ });
316
+ expect(response[1]).toMatchObject({
317
+ status: 400,
318
+ errortype: 'BAD_REQUEST',
319
+ errormessage: 'No record found for ID: HS2',
320
+ errorreporter: 'DESTINATION'
321
+ });
322
+ });
323
+ });
324
+ });
325
+ //# sourceMappingURL=multistatus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multistatus.test.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.ts"],"names":[],"mappings":"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"}
@@ -30,23 +30,7 @@ const action = {
30
30
  perform: async (request, { settings, payload }) => {
31
31
  return sfmc_operations_1.upsertRows(request, settings.subdomain, [payload]);
32
32
  },
33
- performBatch: async (request, { settings, payload, statsContext, features }) => {
34
- if (features && features['enable-sfmc-id-key-stats']) {
35
- const statsClient = statsContext?.statsClient;
36
- const tags = statsContext?.tags;
37
- const setKey = new Set();
38
- const setId = new Set();
39
- payload.forEach((profile) => {
40
- if (profile.id != undefined && profile.id != null) {
41
- setId.add(profile.id);
42
- }
43
- if (profile.key != undefined && profile.key != null) {
44
- setKey.add(profile.key);
45
- }
46
- });
47
- statsClient?.histogram(`sfmc_id`, setId.size, tags);
48
- statsClient?.histogram(`sfmc_key`, setKey.size, tags);
49
- }
33
+ performBatch: async (request, { settings, payload }) => {
50
34
  return sfmc_operations_1.upsertRows(request, settings.subdomain, payload);
51
35
  }
52
36
  };