@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
@@ -2,55 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const utils_1 = require("../utils");
4
4
  const functions_1 = require("./functions");
5
+ const shared_properties_1 = require("../shared-properties");
6
+ const getAllPetsWaitInterval = 60;
7
+ const createPetWaitInterval = 6000;
5
8
  const action = {
6
- title: 'Send Audience as Pet',
9
+ title: 'Send Audience as PET (Profile Extension Table)',
7
10
  description: 'Send Engage Audience to a separate, newly created Profile Extension Table in Responsys',
8
11
  defaultSubscription: 'type = "identify" or type = "track"',
9
12
  fields: {
10
- userData: {
11
- label: 'Recipient Data',
12
- description: 'Record data that represents field names and corresponding values for each profile.',
13
- type: 'object',
14
- defaultObjectUI: 'keyvalue',
15
- required: true,
16
- additionalProperties: false,
17
- properties: {
18
- EMAIL_ADDRESS_: {
19
- label: 'Email address',
20
- description: "The user's email address.",
21
- type: 'string',
22
- format: 'email',
23
- required: false
24
- },
25
- CUSTOMER_ID_: {
26
- label: 'Customer ID',
27
- description: 'Responsys Customer ID.',
28
- type: 'string',
29
- required: false
30
- },
31
- RIID_: {
32
- label: 'Recipient ID',
33
- description: 'Recipient ID (RIID). RIID is required if Email Address is empty.',
34
- type: 'string',
35
- required: false
36
- }
37
- },
38
- default: {
39
- EMAIL_ADDRESS_: {
40
- '@if': {
41
- exists: { '@path': '$.traits.email' },
42
- then: { '@path': '$.traits.email' },
43
- else: { '@path': '$.context.traits.email' }
44
- }
45
- },
46
- CUSTOMER_ID_: { '@path': '$.userId' }
47
- }
48
- },
13
+ userData: shared_properties_1.recipient_data,
49
14
  folder_name: {
50
15
  label: 'Folder Name',
51
- description: 'The name of the folder where the new Profile Extension Table will be created.',
16
+ description: 'The name of the folder where the new Profile Extension Table will be created. Overrides the default folder name in Settings.',
52
17
  type: 'string',
53
- required: true,
18
+ required: false,
54
19
  default: 'Segment'
55
20
  },
56
21
  pet_name: {
@@ -93,35 +58,22 @@ const action = {
93
58
  '@path': '$.timestamp'
94
59
  }
95
60
  },
96
- retry: {
97
- label: 'Delay (seconds)',
98
- description: `A delay of the selected seconds will be added before retrying a failed request.
99
- Max delay allowed is 600 secs (10 mins). The default is 0 seconds.`,
100
- type: 'number',
101
- choices: [
102
- { label: '0 secs', value: 0 },
103
- { label: '30 secs', value: 30 },
104
- { label: '120 secs', value: 120 },
105
- { label: '300 secs', value: 300 },
106
- { label: '480 secs', value: 480 },
107
- { label: '600 secs', value: 600 }
108
- ],
109
- required: false,
110
- unsafe_hidden: true,
111
- default: 0
112
- }
61
+ retry: shared_properties_1.retry,
62
+ default_permission_status: shared_properties_1.default_permission_status
113
63
  },
114
64
  perform: async (request, data) => {
115
- const { payload, settings } = data;
65
+ const { payload, settings, auth } = data;
116
66
  utils_1.validateListMemberPayload(payload.userData);
67
+ await new Promise((resolve) => setTimeout(resolve, getAllPetsWaitInterval));
117
68
  const petAlreadyExists = await functions_1.petExists(request, settings, payload.pet_name);
118
69
  if (!petAlreadyExists) {
70
+ await new Promise((resolve) => setTimeout(resolve, createPetWaitInterval));
119
71
  await functions_1.createPet(request, settings, payload);
120
72
  }
121
- return await functions_1.updateProfileListAndPet(request, settings, [payload]);
73
+ return await functions_1.updateProfileListAndPet(request, auth, settings, [payload]);
122
74
  },
123
75
  performBatch: async (request, data) => {
124
- const { payload, settings } = data;
76
+ const { payload, settings, auth } = data;
125
77
  const validPayloads = [];
126
78
  for (const item of payload) {
127
79
  try {
@@ -132,11 +84,13 @@ const action = {
132
84
  console.error(error);
133
85
  }
134
86
  }
87
+ await new Promise((resolve) => setTimeout(resolve, getAllPetsWaitInterval));
135
88
  const petAlreadyExists = await functions_1.petExists(request, settings, payload[0].pet_name);
136
89
  if (!petAlreadyExists) {
90
+ await new Promise((resolve) => setTimeout(resolve, createPetWaitInterval));
137
91
  await functions_1.createPet(request, settings, payload[0]);
138
92
  }
139
- return await functions_1.updateProfileListAndPet(request, settings, payload);
93
+ return await functions_1.updateProfileListAndPet(request, auth, settings, payload);
140
94
  }
141
95
  };
142
96
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendAudienceAsPet/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendAudienceAsPet/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface Payload {
4
4
  CUSTOMER_ID_?: string;
5
5
  [k: string]: unknown;
6
6
  };
7
+ pet_name?: string;
7
8
  enable_batching?: boolean;
8
9
  batch_size?: number;
9
10
  stringify: boolean;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
3
4
  const shared_properties_1 = require("../shared-properties");
4
5
  const utils_1 = require("../utils");
5
6
  const action = {
@@ -34,7 +35,13 @@ const action = {
34
35
  CUSTOMER_ID_: { '@path': '$.userId' }
35
36
  }
36
37
  },
37
- enable_batching: shared_properties_1.enable_batching,
38
+ pet_name: {
39
+ label: 'Profile Extension Table Name',
40
+ description: 'The PET (Profile Extension Table) name. Overrides the default Profile Extension Table name in Settings.',
41
+ type: 'string',
42
+ required: false
43
+ },
44
+ enable_batching: shared_properties_1.use_responsys_async_api,
38
45
  batch_size: shared_properties_1.batch_size,
39
46
  stringify: {
40
47
  label: 'Stringify Recipient Data',
@@ -74,25 +81,39 @@ const action = {
74
81
  perform: async (request, data) => {
75
82
  const { payload, settings, statsContext } = data;
76
83
  const userDataFieldNames = utils_1.getUserDataFieldNames(data);
77
- utils_1.validateCustomTraits({
78
- profileExtensionTable: settings.profileExtensionTable,
84
+ utils_1.testConditionsToRetry({
79
85
  timestamp: payload.timestamp,
80
86
  statsContext: statsContext,
81
87
  retry: payload.retry
82
88
  });
89
+ const profileExtensionTable = String(payload.pet_name || settings.profileExtensionTable);
90
+ if (!(typeof profileExtensionTable !== 'undefined' &&
91
+ profileExtensionTable !== null &&
92
+ profileExtensionTable.trim().length > 0)) {
93
+ throw new actions_core_1.IntegrationError('Send Custom Traits Action requires "PET Name" setting field to be populated', 'PET_NAME_SETTING_MISSING', 400);
94
+ }
83
95
  utils_1.validateListMemberPayload(payload.userData);
84
96
  return utils_1.sendCustomTraits(request, [payload], settings, userDataFieldNames);
85
97
  },
86
98
  performBatch: async (request, data) => {
87
99
  const { payload, settings, statsContext } = data;
88
100
  const userDataFieldNames = utils_1.getUserDataFieldNames(data);
89
- utils_1.validateCustomTraits({
90
- profileExtensionTable: settings.profileExtensionTable,
91
- timestamp: payload[0].timestamp,
101
+ const validatedPayloads = [];
102
+ for (const item of payload) {
103
+ const profileExtensionTable = String(item.pet_name || settings.profileExtensionTable);
104
+ if (!profileExtensionTable || profileExtensionTable.trim().length === 0) {
105
+ continue;
106
+ }
107
+ if (item.userData.EMAIL_ADDRESS_ || item.userData.RIID_ || item.userData.CUSTOMER_ID_) {
108
+ validatedPayloads.push(item);
109
+ }
110
+ }
111
+ utils_1.testConditionsToRetry({
112
+ timestamp: validatedPayloads[0].timestamp,
92
113
  statsContext: statsContext,
93
- retry: payload[0].retry
114
+ retry: validatedPayloads[0].retry
94
115
  });
95
- return utils_1.sendCustomTraits(request, data.payload, data.settings, userDataFieldNames);
116
+ return utils_1.sendCustomTraits(request, validatedPayloads, settings, userDataFieldNames);
96
117
  }
97
118
  };
98
119
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendCustomTraits/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendCustomTraits/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ModifiedResponse, RequestClient } from '@segment/actions-core/*';
2
+ import { AuthTokens } from '@segment/actions-core/destination-kit/parse-settings';
3
+ import { Settings } from '../generated-types';
4
+ import { Payload } from './generated-types';
5
+ export declare const getAllPets: (request: RequestClient, settings: Settings) => Promise<{
6
+ objectName: string;
7
+ folderName: string;
8
+ }[]>;
9
+ export declare const createPet: (request: RequestClient, settings: Settings, petName: string, fields: string[], folderName?: string | undefined) => Promise<void>;
10
+ export declare const sendToPet: (request: RequestClient, authTokens: AuthTokens, payload: Payload[], settings: Settings, userDataFieldNames: string[]) => Promise<ModifiedResponse<unknown>[] | undefined>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendToPet = exports.createPet = exports.getAllPets = void 0;
4
+ const utils_1 = require("../utils");
5
+ const getAllPets = async (request, settings) => {
6
+ const path = `/rest/api/v1.3/lists/${settings.profileListName}/listExtensions`;
7
+ const endpoint = new URL(path, settings.baseUrl);
8
+ const response = await request(endpoint.href, {
9
+ method: 'GET'
10
+ });
11
+ const results = response.data;
12
+ const filteredResults = results.filter((item) => item && item.profileExtension !== undefined);
13
+ return filteredResults.map((item) => item.profileExtension);
14
+ };
15
+ exports.getAllPets = getAllPets;
16
+ const createPet = async (request, settings, petName, fields, folderName) => {
17
+ const petFields = fields.map((field) => {
18
+ return {
19
+ fieldName: field.substring(0, 30),
20
+ fieldType: 'STR500'
21
+ };
22
+ });
23
+ const requestBody = {
24
+ profileExtension: {
25
+ objectName: petName,
26
+ folderName: folderName || settings.defaultFolderName
27
+ },
28
+ fields: petFields
29
+ };
30
+ const path = `/rest/api/v1.3/lists/${settings.profileListName}/listExtensions`;
31
+ const endpoint = new URL(path, settings.baseUrl);
32
+ await request(endpoint.href, {
33
+ method: 'POST',
34
+ body: JSON.stringify(requestBody)
35
+ });
36
+ };
37
+ exports.createPet = createPet;
38
+ const sendToPet = async (request, authTokens, payload, settings, userDataFieldNames) => {
39
+ const usingAsyncApi = payload.length > 0 ? payload[0].use_responsys_async_api : false;
40
+ const getAllPetsWaitInterval = 60;
41
+ const createPetWaitInterval = 6000;
42
+ const sendToPetWaitInterval = 120;
43
+ await utils_1.upsertListMembers(request, authTokens, payload, settings, usingAsyncApi);
44
+ const folderRecords = {};
45
+ for (const item of payload) {
46
+ const petName = String(item.pet_name || settings.profileExtensionTable);
47
+ const folderName = String(item.folder_name || settings.defaultFolderName);
48
+ if (!folderRecords[folderName]) {
49
+ folderRecords[folderName] = {};
50
+ }
51
+ if (!folderRecords[folderName][petName]) {
52
+ folderRecords[folderName][petName] = [];
53
+ }
54
+ folderRecords[folderName][petName].push(item.stringify ? utils_1.stringifyObject(item.userData) : item.userData);
55
+ }
56
+ await new Promise((resolve) => setTimeout(resolve, getAllPetsWaitInterval));
57
+ const allPets = await exports.getAllPets(request, settings);
58
+ const responses = [];
59
+ for (const [folderName, petRecords] of Object.entries(folderRecords)) {
60
+ for (const [petName, records] of Object.entries(petRecords)) {
61
+ const correspondingPet = allPets.find((item) => item.objectName === petName && item.folderName === folderName);
62
+ if (!correspondingPet) {
63
+ await new Promise((resolve) => setTimeout(resolve, createPetWaitInterval));
64
+ await exports.createPet(request, settings, petName, userDataFieldNames, folderName);
65
+ allPets.push({ objectName: petName, folderName });
66
+ }
67
+ const resolvedRecords = records.map((userData) => {
68
+ return userDataFieldNames.map((fieldName) => {
69
+ return fieldName in userData ? userData[fieldName] : '';
70
+ });
71
+ });
72
+ for (let i = 0; i < resolvedRecords.length; i += 200) {
73
+ const chunk = resolvedRecords.slice(i, i + 200);
74
+ const recordData = {
75
+ fieldNames: userDataFieldNames.map((field) => field.toUpperCase()),
76
+ records: chunk,
77
+ mapTemplateName: ''
78
+ };
79
+ const requestBody = {
80
+ recordData,
81
+ insertOnNoMatch: settings.insertOnNoMatch,
82
+ updateOnMatch: settings.updateOnMatch || 'REPLACE_ALL',
83
+ matchColumnName1: settings.matchColumnName1,
84
+ matchColumnName2: settings.matchColumnName2 || ''
85
+ };
86
+ const path = `/rest/${usingAsyncApi ? 'asyncApi' : 'api'}/v1.3/lists/${settings.profileListName}/listExtensions/${petName}/members`;
87
+ const endpoint = new URL(path, settings.baseUrl);
88
+ await new Promise((resolve) => setTimeout(resolve, sendToPetWaitInterval * 2));
89
+ const response = await request(endpoint.href, {
90
+ method: 'POST',
91
+ skipResponseCloning: true,
92
+ body: JSON.stringify(requestBody)
93
+ });
94
+ if (usingAsyncApi) {
95
+ const requestId = response.data.requestId;
96
+ const asyncResponse = await utils_1.getAsyncResponse(requestId, authTokens, settings);
97
+ await utils_1.sendDebugMessageToSegmentSource(request, requestBody, asyncResponse, settings);
98
+ responses.push(asyncResponse);
99
+ }
100
+ await utils_1.sendDebugMessageToSegmentSource(request, requestBody, response, settings);
101
+ responses.push(response);
102
+ }
103
+ }
104
+ return responses;
105
+ }
106
+ };
107
+ exports.sendToPet = sendToPet;
108
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendToPet/functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface Payload {
2
+ userData: {
3
+ EMAIL_ADDRESS_?: string;
4
+ CUSTOMER_ID_?: string;
5
+ RIID_?: string;
6
+ [k: string]: unknown;
7
+ };
8
+ folder_name?: string;
9
+ pet_name?: string;
10
+ timestamp?: string | number;
11
+ use_responsys_async_api?: boolean;
12
+ batch_size?: number;
13
+ stringify?: boolean;
14
+ default_permission_status?: string;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendToPet/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const shared_properties_1 = require("../shared-properties");
5
+ const utils_1 = require("../utils");
6
+ const functions_1 = require("./functions");
7
+ const action = {
8
+ title: 'Send to PET (Profile Extension Table)',
9
+ description: 'Send values to a Profile Extension Table in Responsys.',
10
+ fields: {
11
+ userData: { ...shared_properties_1.recipient_data, additionalProperties: true },
12
+ folder_name: shared_properties_1.folder_name,
13
+ pet_name: {
14
+ label: 'Profile Extension Table Name',
15
+ description: 'The PET (Profile Extension Table) name. Overrides the default Profile Extension Table name in Settings.',
16
+ type: 'string',
17
+ required: false
18
+ },
19
+ timestamp: {
20
+ label: 'Timestamp',
21
+ description: 'The timestamp of when the event occurred.',
22
+ type: 'datetime',
23
+ required: false,
24
+ unsafe_hidden: true,
25
+ default: {
26
+ '@path': '$.timestamp'
27
+ }
28
+ },
29
+ use_responsys_async_api: shared_properties_1.use_responsys_async_api,
30
+ batch_size: shared_properties_1.batch_size,
31
+ stringify: {
32
+ label: 'Stringify Recipient Data',
33
+ description: 'If true, all Recipient data will be converted to strings before being sent to Responsys.',
34
+ type: 'boolean',
35
+ required: false,
36
+ default: false
37
+ },
38
+ default_permission_status: shared_properties_1.default_permission_status
39
+ },
40
+ perform: async (request, data) => {
41
+ const { payload, settings, auth } = data;
42
+ const userDataFieldNames = utils_1.getUserDataFieldNames(data);
43
+ const profileExtensionTable = String(payload.pet_name || settings.profileExtensionTable);
44
+ if (!(typeof profileExtensionTable !== 'undefined' &&
45
+ profileExtensionTable !== null &&
46
+ profileExtensionTable.trim().length > 0)) {
47
+ throw new actions_core_1.IntegrationError('Send Custom Traits Action requires "PET Name" setting field to be populated', 'PET_NAME_SETTING_MISSING', 400);
48
+ }
49
+ utils_1.validateListMemberPayload(payload.userData);
50
+ return functions_1.sendToPet(request, auth, [payload], settings, userDataFieldNames);
51
+ },
52
+ performBatch: async (request, data) => {
53
+ const { payload, settings, auth } = data;
54
+ const userDataFieldNames = utils_1.getUserDataFieldNames(data);
55
+ const validatedPayloads = [];
56
+ for (const item of payload) {
57
+ const profileExtensionTable = String(item.pet_name || settings.profileExtensionTable);
58
+ if (!profileExtensionTable || profileExtensionTable.trim().length === 0) {
59
+ continue;
60
+ }
61
+ if (item.userData.EMAIL_ADDRESS_ || item.userData.RIID_ || item.userData.CUSTOMER_ID_) {
62
+ validatedPayloads.push(item);
63
+ }
64
+ }
65
+ return functions_1.sendToPet(request, auth, validatedPayloads, settings, userDataFieldNames);
66
+ }
67
+ };
68
+ exports.default = action;
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/sendToPet/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAI1E,4DAM6B;AAC7B,oCAA2E;AAE3E,2CAAuC;AAGvC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,uCAAuC;IAC9C,WAAW,EAAE,wDAAwD;IACrE,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,kCAAc,EAAE,oBAAoB,EAAE,IAAI,EAAE;QAC3D,WAAW,EAAE,+BAAW;QACxB,QAAQ,EAAE;YACR,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,yGAAyG;YAC3G,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,uBAAuB,EAAE,2CAAuB;QAChD,UAAU,EAAE,8BAAU;QACtB,SAAS,EAAE;YACT,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf;QACD,yBAAyB,EAAE,6CAAyB;KACrD;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAExC,MAAM,kBAAkB,GAAG,6BAAqB,CAAC,IAAuB,CAAC,CAAA;QAEzE,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAExF,IACE,CAAC,CACC,OAAO,qBAAqB,KAAK,WAAW;YAC5C,qBAAqB,KAAK,IAAI;YAC9B,qBAAqB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACxC,EACD;YACA,MAAM,IAAI,+BAAgB,CACxB,6EAA6E,EAC7E,0BAA0B,EAC1B,GAAG,CACJ,CAAA;SACF;QAED,iCAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE3C,OAAO,qBAAS,CAAC,OAAO,EAAE,IAAkB,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACxF,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAExC,MAAM,kBAAkB,GAAG,6BAAqB,CAAC,IAAuB,CAAC,CAAA;QAEzE,MAAM,iBAAiB,GAAc,EAAE,CAAA;QACvC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YAC1B,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAA;YACrF,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvE,SAAQ;aACT;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBACrF,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aAC7B;SACF;QAED,OAAO,qBAAS,CAAC,OAAO,EAAE,IAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAChG,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,3 +1,7 @@
1
1
  import { InputField } from '@segment/actions-core/destination-kit/types';
2
- export declare const enable_batching: InputField;
2
+ export declare const folder_name: InputField;
3
+ export declare const recipient_data: InputField;
4
+ export declare const retry: InputField;
5
+ export declare const use_responsys_async_api: InputField;
3
6
  export declare const batch_size: InputField;
7
+ export declare const default_permission_status: InputField;
@@ -1,7 +1,70 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batch_size = exports.enable_batching = void 0;
4
- exports.enable_batching = {
3
+ exports.default_permission_status = exports.batch_size = exports.use_responsys_async_api = exports.retry = exports.recipient_data = exports.folder_name = void 0;
4
+ exports.folder_name = {
5
+ label: 'Folder Name',
6
+ description: 'The name of the folder where the new Profile Extension Table will be created. Overrides the default folder name in Settings.',
7
+ type: 'string',
8
+ required: false,
9
+ default: 'Segment'
10
+ };
11
+ exports.recipient_data = {
12
+ label: 'Recipient Data',
13
+ description: 'Record data that represents field names and corresponding values for each profile.',
14
+ type: 'object',
15
+ defaultObjectUI: 'keyvalue',
16
+ required: true,
17
+ additionalProperties: false,
18
+ properties: {
19
+ EMAIL_ADDRESS_: {
20
+ label: 'Email address',
21
+ description: "The user's email address.",
22
+ type: 'string',
23
+ format: 'email',
24
+ required: false
25
+ },
26
+ CUSTOMER_ID_: {
27
+ label: 'Customer ID',
28
+ description: 'Responsys Customer ID.',
29
+ type: 'string',
30
+ required: false
31
+ },
32
+ RIID_: {
33
+ label: 'Recipient ID',
34
+ description: 'Recipient ID (RIID). RIID is required if Email Address and Customer ID are empty. Only use it if the corresponding profile already exists in Responsys.',
35
+ type: 'string',
36
+ required: false
37
+ }
38
+ },
39
+ default: {
40
+ EMAIL_ADDRESS_: {
41
+ '@if': {
42
+ exists: { '@path': '$.traits.email' },
43
+ then: { '@path': '$.traits.email' },
44
+ else: { '@path': '$.context.traits.email' }
45
+ }
46
+ },
47
+ CUSTOMER_ID_: { '@path': '$.userId' }
48
+ }
49
+ };
50
+ exports.retry = {
51
+ label: 'Delay (seconds)',
52
+ description: `A delay of the selected seconds will be added before retrying a failed request.
53
+ Max delay allowed is 600 secs (10 mins). The default is 0 seconds.`,
54
+ type: 'number',
55
+ choices: [
56
+ { label: '0 secs', value: 0 },
57
+ { label: '30 secs', value: 30 },
58
+ { label: '120 secs', value: 120 },
59
+ { label: '300 secs', value: 300 },
60
+ { label: '480 secs', value: 480 },
61
+ { label: '600 secs', value: 600 }
62
+ ],
63
+ required: false,
64
+ unsafe_hidden: true,
65
+ default: 0
66
+ };
67
+ exports.use_responsys_async_api = {
5
68
  label: 'Use Responsys Async API',
6
69
  description: 'Once enabled, Segment will collect events into batches of 200 before sending to Responsys.',
7
70
  type: 'boolean',
@@ -16,4 +79,14 @@ exports.batch_size = {
16
79
  unsafe_hidden: true,
17
80
  default: 200
18
81
  };
82
+ exports.default_permission_status = {
83
+ label: 'Default Permission Status',
84
+ description: 'This value must be specified as either OPTIN or OPTOUT. It defaults to the value defined in this destination settings.',
85
+ type: 'string',
86
+ required: false,
87
+ choices: [
88
+ { label: 'Opt In', value: 'OPTIN' },
89
+ { label: 'Opt Out', value: 'OPTOUT' }
90
+ ]
91
+ };
19
92
  //# sourceMappingURL=shared-properties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-properties.js","sourceRoot":"","sources":["../../../src/destinations/responsys/shared-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,4FAA4F;IACzG,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,GAAG;CACb,CAAA"}
1
+ {"version":3,"file":"shared-properties.js","sourceRoot":"","sources":["../../../src/destinations/responsys/shared-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,8HAA8H;IAChI,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,SAAS;CACnB,CAAA;AAEY,QAAA,cAAc,GAAe;IACxC,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,oFAAoF;IACjG,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,UAAU;IAC3B,QAAQ,EAAE,IAAI;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,cAAc,EAAE;YACd,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,2BAA2B;YACxC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;SAChB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;QACD,KAAK,EAAE;YACL,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,yJAAyJ;YAC3J,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,OAAO,EAAE;QACP,cAAc,EAAE;YACd,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;aAC5C;SACF;QACD,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;KACtC;CACF,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE;mFACoE;IACjF,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;QAC7B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/B,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;QACjC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;QACjC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;QACjC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;KAClC;IACD,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,CAAC;CACX,CAAA;AAEY,QAAA,uBAAuB,GAAe;IACjD,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,4FAA4F;IACzG,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,GAAG;CACb,CAAA;AAEY,QAAA,yBAAyB,GAAe;IACnD,KAAK,EAAE,2BAA2B;IAClC,WAAW,EACT,wHAAwH;IAC1H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;QACnC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;KACtC;CACF,CAAA"}
@@ -5,6 +5,9 @@ export interface Data {
5
5
  };
6
6
  };
7
7
  }
8
+ export interface ResponsysAsyncResponse {
9
+ requestId: string;
10
+ }
8
11
  export declare type ResponsysMatchField = 'CUSTOMER_ID' | 'EMAIL_ADDRESS' | 'RIID';
9
12
  export declare type ResponsysMatchType = 'CUSTOMER_ID_' | 'EMAIL_ADDRESS_' | 'RIID_';
10
13
  export declare type ResponsysMergeRule = {
@@ -8,7 +8,8 @@ export interface Payload {
8
8
  MOBILE_NUMBER_?: string;
9
9
  [k: string]: unknown;
10
10
  };
11
- stringify: boolean;
11
+ stringify?: boolean;
12
12
  enable_batching?: boolean;
13
13
  batch_size?: number;
14
+ default_permission_status?: string;
14
15
  }
@@ -65,20 +65,19 @@ const action = {
65
65
  label: 'Stringify Recipient Data',
66
66
  description: 'If true, all Recipient data will be converted to strings before being sent to Responsys.',
67
67
  type: 'boolean',
68
- required: true,
68
+ required: false,
69
69
  default: false
70
70
  },
71
- enable_batching: shared_properties_1.enable_batching,
72
- batch_size: shared_properties_1.batch_size
71
+ enable_batching: shared_properties_1.use_responsys_async_api,
72
+ batch_size: shared_properties_1.batch_size,
73
+ default_permission_status: shared_properties_1.default_permission_status
73
74
  },
74
75
  perform: async (request, data) => {
75
- const userDataFieldNames = utils_1.getUserDataFieldNames(data);
76
76
  utils_1.validateListMemberPayload(data.payload.userData);
77
- return utils_1.upsertListMembers(request, [data.payload], data.settings, userDataFieldNames);
77
+ return utils_1.upsertListMembers(request, data.auth, [data.payload], data.settings);
78
78
  },
79
79
  performBatch: async (request, data) => {
80
- const userDataFieldNames = utils_1.getUserDataFieldNames(data);
81
- return utils_1.upsertListMembers(request, data.payload, data.settings, userDataFieldNames);
80
+ return utils_1.upsertListMembers(request, data.auth, data.payload, data.settings);
82
81
  }
83
82
  };
84
83
  exports.default = action;