@segment/action-destinations 3.243.0 → 3.244.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 (75) hide show
  1. package/dist/destinations/accoil-analytics/generated-types.d.ts +3 -0
  2. package/dist/destinations/accoil-analytics/generated-types.js +3 -0
  3. package/dist/destinations/accoil-analytics/generated-types.js.map +1 -0
  4. package/dist/destinations/accoil-analytics/index.d.ts +4 -0
  5. package/dist/destinations/accoil-analytics/index.js +69 -0
  6. package/dist/destinations/accoil-analytics/index.js.map +1 -0
  7. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.d.ts +5 -0
  8. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js +3 -0
  9. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js.map +1 -0
  10. package/dist/destinations/accoil-analytics/postToAccoil/index.d.ts +5 -0
  11. package/dist/destinations/accoil-analytics/postToAccoil/index.js +27 -0
  12. package/dist/destinations/accoil-analytics/postToAccoil/index.js.map +1 -0
  13. package/dist/destinations/app-fit/index.js +1 -1
  14. package/dist/destinations/app-fit/index.js.map +1 -1
  15. package/dist/destinations/avo/index.d.ts +1 -1
  16. package/dist/destinations/avo/index.js +10 -0
  17. package/dist/destinations/avo/index.js.map +1 -1
  18. package/dist/destinations/avo/sendSchemaToInspector/avo.js +1 -1
  19. package/dist/destinations/avo/sendSchemaToInspector/avo.js.map +1 -1
  20. package/dist/destinations/avo/sendSchemaToInspector/generated-types.d.ts +1 -1
  21. package/dist/destinations/avo/sendSchemaToInspector/index.js +4 -4
  22. package/dist/destinations/avo/sendSchemaToInspector/index.js.map +1 -1
  23. package/dist/destinations/customerio/index.js +12 -0
  24. package/dist/destinations/customerio/index.js.map +1 -1
  25. package/dist/destinations/display-video-360/errors.d.ts +2 -2
  26. package/dist/destinations/display-video-360/errors.js +12 -6
  27. package/dist/destinations/display-video-360/errors.js.map +1 -1
  28. package/dist/destinations/display-video-360/index.js +16 -3
  29. package/dist/destinations/display-video-360/index.js.map +1 -1
  30. package/dist/destinations/display-video-360/shared.js +5 -3
  31. package/dist/destinations/display-video-360/shared.js.map +1 -1
  32. package/dist/destinations/fullstory/index.js +4 -4
  33. package/dist/destinations/fullstory/index.js.map +1 -1
  34. package/dist/destinations/index.js +2 -0
  35. package/dist/destinations/index.js.map +1 -1
  36. package/dist/destinations/iterable/index.js +12 -0
  37. package/dist/destinations/iterable/index.js.map +1 -1
  38. package/dist/destinations/linkedin-conversions/streamConversion/index.js +18 -1
  39. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  40. package/dist/destinations/linkedin-conversions/types.d.ts +9 -0
  41. package/dist/destinations/linkedin-conversions/types.js.map +1 -1
  42. package/dist/destinations/responsys/generated-types.d.ts +20 -0
  43. package/dist/destinations/responsys/generated-types.js +3 -0
  44. package/dist/destinations/responsys/generated-types.js.map +1 -0
  45. package/dist/destinations/responsys/index.d.ts +4 -0
  46. package/dist/destinations/responsys/index.js +197 -0
  47. package/dist/destinations/responsys/index.js.map +1 -0
  48. package/dist/destinations/responsys/sendAudience/generated-types.d.ts +14 -0
  49. package/dist/destinations/responsys/sendAudience/generated-types.js +3 -0
  50. package/dist/destinations/responsys/sendAudience/generated-types.js.map +1 -0
  51. package/dist/destinations/responsys/sendAudience/index.d.ts +5 -0
  52. package/dist/destinations/responsys/sendAudience/index.js +91 -0
  53. package/dist/destinations/responsys/sendAudience/index.js.map +1 -0
  54. package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +9 -0
  55. package/dist/destinations/responsys/sendCustomTraits/generated-types.js +3 -0
  56. package/dist/destinations/responsys/sendCustomTraits/generated-types.js.map +1 -0
  57. package/dist/destinations/responsys/sendCustomTraits/index.d.ts +5 -0
  58. package/dist/destinations/responsys/sendCustomTraits/index.js +54 -0
  59. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -0
  60. package/dist/destinations/responsys/shared_properties.d.ts +3 -0
  61. package/dist/destinations/responsys/shared_properties.js +19 -0
  62. package/dist/destinations/responsys/shared_properties.js.map +1 -0
  63. package/dist/destinations/responsys/types.d.ts +38 -0
  64. package/dist/destinations/responsys/types.js +3 -0
  65. package/dist/destinations/responsys/types.js.map +1 -0
  66. package/dist/destinations/responsys/upsertListMember/generated-types.d.ts +13 -0
  67. package/dist/destinations/responsys/upsertListMember/generated-types.js +3 -0
  68. package/dist/destinations/responsys/upsertListMember/generated-types.js.map +1 -0
  69. package/dist/destinations/responsys/upsertListMember/index.d.ts +5 -0
  70. package/dist/destinations/responsys/upsertListMember/index.js +81 -0
  71. package/dist/destinations/responsys/upsertListMember/index.js.map +1 -0
  72. package/dist/destinations/responsys/utils.d.ts +18 -0
  73. package/dist/destinations/responsys/utils.js +164 -0
  74. package/dist/destinations/responsys/utils.js.map +1 -0
  75. package/package.json +2 -2
@@ -0,0 +1,38 @@
1
+ export interface Data {
2
+ rawMapping: {
3
+ userData: {
4
+ [k: string]: unknown;
5
+ };
6
+ };
7
+ }
8
+ export declare type MergeRule = {
9
+ htmlValue?: string;
10
+ optinValue?: string;
11
+ textValue?: string;
12
+ insertOnNoMatch?: boolean;
13
+ updateOnMatch?: string;
14
+ matchColumnName1?: string;
15
+ matchColumnName2?: string;
16
+ matchOperator?: string;
17
+ optoutValue?: string;
18
+ rejectRecordIfChannelEmpty?: string;
19
+ defaultPermissionStatus?: string;
20
+ };
21
+ export declare type RecordData = {
22
+ fieldNames: string[];
23
+ records: unknown[][];
24
+ mapTemplateName: string;
25
+ };
26
+ export declare type ListMemberRequestBody = {
27
+ recordData: RecordData;
28
+ } & {
29
+ mergeRule: MergeRule;
30
+ };
31
+ export declare type CustomTraitsRequestBody = {
32
+ recordData: RecordData;
33
+ } & {
34
+ insertOnNoMatch?: boolean;
35
+ updateOnMatch?: string;
36
+ matchColumnName1?: string;
37
+ matchColumnName2?: string;
38
+ };
@@ -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/responsys/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface Payload {
2
+ userData: {
3
+ EMAIL_ADDRESS_?: string;
4
+ EMAIL_MD5_HASH_?: string;
5
+ EMAIL_SHA256_HASH_?: string;
6
+ RIID_?: string;
7
+ CUSTOMER_ID_?: string;
8
+ MOBILE_NUMBER_?: string;
9
+ [k: string]: unknown;
10
+ };
11
+ enable_batching?: boolean;
12
+ batch_size?: number;
13
+ }
@@ -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/upsertListMember/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,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const shared_properties_1 = require("../shared_properties");
4
+ const utils_1 = require("../utils");
5
+ const action = {
6
+ title: 'Upsert Profile List Member',
7
+ description: 'Create or update a Profile List Member in Responsys',
8
+ defaultSubscription: 'type = "identify"',
9
+ fields: {
10
+ userData: {
11
+ label: 'Recepient 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: true,
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
+ EMAIL_MD5_HASH_: {
26
+ label: 'Email Address MD5 Hash',
27
+ description: "An MD5 Hash of the user's email address.",
28
+ type: 'string',
29
+ required: false
30
+ },
31
+ EMAIL_SHA256_HASH_: {
32
+ label: 'Email Address SHA256 Hash',
33
+ description: "A SHA256 Hash of the user's email address.",
34
+ type: 'string',
35
+ required: false
36
+ },
37
+ RIID_: {
38
+ label: 'Recipient ID',
39
+ description: 'Recipient ID (RIID). RIID is required if Email Address is empty.',
40
+ type: 'string',
41
+ required: false
42
+ },
43
+ CUSTOMER_ID_: {
44
+ label: 'Customer ID',
45
+ description: 'Responsys Customer ID.',
46
+ type: 'string',
47
+ required: false
48
+ },
49
+ MOBILE_NUMBER_: {
50
+ label: 'Mobile Number',
51
+ description: "The user's Mobile Phone Number.",
52
+ type: 'string',
53
+ required: false
54
+ }
55
+ },
56
+ default: {
57
+ EMAIL_ADDRESS_: { '@path': '$.traits.email' },
58
+ EMAIL_MD5_HASH_: { '@path': '$.traits.email_md5_hash_' },
59
+ EMAIL_SHA256_HASH_: { '@path': '$.traits.email_sha256_hash' },
60
+ CUSTOMER_ID_: { '@path': '$.userId' },
61
+ MOBILE_NUMBER_: { '@path': '$.traits.phone' }
62
+ }
63
+ },
64
+ enable_batching: shared_properties_1.enable_batching,
65
+ batch_size: shared_properties_1.batch_size
66
+ },
67
+ perform: async (request, data) => {
68
+ const userDataFieldNames = utils_1.getUserDataFieldNames(data);
69
+ const transformedSettings = utils_1.transformDataFieldValues(data.settings);
70
+ utils_1.validateListMemberPayload(data.payload.userData);
71
+ return utils_1.upsertListMembers(request, [data.payload], transformedSettings, userDataFieldNames);
72
+ },
73
+ performBatch: async (request, data) => {
74
+ const userDataFieldNames = utils_1.getUserDataFieldNames(data);
75
+ const transformedSettings = utils_1.transformDataFieldValues(data.settings);
76
+ data.payload.map((payload) => utils_1.validateListMemberPayload(payload.userData));
77
+ return utils_1.upsertListMembers(request, data.payload, transformedSettings, userDataFieldNames);
78
+ }
79
+ };
80
+ exports.default = action;
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/upsertListMember/index.ts"],"names":[],"mappings":";;AAGA,4DAAkE;AAClE,oCAAwH;AAGxH,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,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;QACzE,MAAM,mBAAmB,GAAG,gCAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnE,iCAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEhD,OAAO,yBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;IAC5F,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,kBAAkB,GAAG,6BAAqB,CAAC,IAAuB,CAAC,CAAA;QACzE,MAAM,mBAAmB,GAAG,gCAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iCAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1E,OAAO,yBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;IAC1F,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Payload as CustomTraitsPayload } from './sendCustomTraits/generated-types';
2
+ import { Payload as AudiencePayload } from './sendAudience/generated-types';
3
+ import { Payload as ListMemberPayload } from './upsertListMember/generated-types';
4
+ import { Data } from './types';
5
+ import { RequestClient } from '@segment/actions-core';
6
+ import type { Settings } from './generated-types';
7
+ export declare const validateCustomTraitsSettings: ({ profileExtensionTable }: {
8
+ profileExtensionTable?: string | undefined;
9
+ }) => void;
10
+ export declare const validateListMemberPayload: ({ EMAIL_ADDRESS_, RIID_, CUSTOMER_ID_ }: {
11
+ EMAIL_ADDRESS_?: string | undefined;
12
+ RIID_?: string | undefined;
13
+ CUSTOMER_ID_?: string | undefined;
14
+ }) => void;
15
+ export declare const getUserDataFieldNames: (data: Data) => string[];
16
+ export declare const transformDataFieldValues: (settings: Settings) => Settings;
17
+ export declare const sendCustomTraits: (request: RequestClient, payload: CustomTraitsPayload[] | AudiencePayload[], settings: Settings, userDataFieldNames: string[], isAudience?: boolean | undefined) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
18
+ export declare const upsertListMembers: (request: RequestClient, payload: ListMemberPayload[], settings: Settings, userDataFieldNames: string[]) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upsertListMembers = exports.sendCustomTraits = exports.transformDataFieldValues = exports.getUserDataFieldNames = exports.validateListMemberPayload = exports.validateCustomTraitsSettings = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const validateCustomTraitsSettings = ({ profileExtensionTable }) => {
6
+ if (!(typeof profileExtensionTable !== 'undefined' &&
7
+ profileExtensionTable !== null &&
8
+ profileExtensionTable.trim().length > 0)) {
9
+ throw new actions_core_1.IntegrationError('Send Custom Traits Action requires "PET Name" setting field to be populated', 'PET_NAME_SETTING_MISSING', 400);
10
+ }
11
+ };
12
+ exports.validateCustomTraitsSettings = validateCustomTraitsSettings;
13
+ const validateListMemberPayload = ({ EMAIL_ADDRESS_, RIID_, CUSTOMER_ID_ }) => {
14
+ if (!EMAIL_ADDRESS_ && !RIID_ && !CUSTOMER_ID_) {
15
+ throw new actions_core_1.PayloadValidationError('At least one of the following fields is required: Email Address, RIID, or Customer ID');
16
+ }
17
+ };
18
+ exports.validateListMemberPayload = validateListMemberPayload;
19
+ const getUserDataFieldNames = (data) => {
20
+ return Object.keys(data.rawMapping.userData);
21
+ };
22
+ exports.getUserDataFieldNames = getUserDataFieldNames;
23
+ const transformDataFieldValues = (settings) => {
24
+ if (settings.matchColumnName1 !== '' && settings.matchColumnName1 !== undefined) {
25
+ settings.matchColumnName1 = `${settings.matchColumnName1}_`;
26
+ }
27
+ if (settings.matchColumnName2 !== '' && settings.matchColumnName2 !== undefined) {
28
+ settings.matchColumnName2 = `${settings.matchColumnName2}_`;
29
+ }
30
+ return settings;
31
+ };
32
+ exports.transformDataFieldValues = transformDataFieldValues;
33
+ const sendCustomTraits = async (request, payload, settings, userDataFieldNames, isAudience) => {
34
+ let userDataArray;
35
+ if (isAudience) {
36
+ const audiencePayloads = payload;
37
+ userDataArray = audiencePayloads.map((obj) => {
38
+ const traitValue = obj.computation_key
39
+ ? { [obj.computation_key.toUpperCase()]: obj.traits_or_props[obj.computation_key] }
40
+ : {};
41
+ userDataFieldNames.push(obj.computation_key.toUpperCase());
42
+ return {
43
+ ...obj.userData,
44
+ ...traitValue
45
+ };
46
+ });
47
+ }
48
+ else {
49
+ const customTraitsPayloads = payload;
50
+ userDataArray = customTraitsPayloads.map((obj) => obj.userData);
51
+ }
52
+ const records = userDataArray.map((userData) => {
53
+ return userDataFieldNames.map((fieldName) => {
54
+ return userData && fieldName in userData
55
+ ? userData[fieldName]
56
+ : '';
57
+ });
58
+ });
59
+ const recordData = {
60
+ fieldNames: userDataFieldNames.map((field) => field.toUpperCase()),
61
+ records,
62
+ mapTemplateName: ''
63
+ };
64
+ const requestBody = {
65
+ recordData,
66
+ insertOnNoMatch: settings.insertOnNoMatch,
67
+ updateOnMatch: settings.updateOnMatch,
68
+ matchColumnName1: settings.matchColumnName1,
69
+ matchColumnName2: settings.matchColumnName2 || ''
70
+ };
71
+ const path = `/rest/asyncApi/v1.3/lists/${settings.profileListName}/listExtensions/${settings.profileExtensionTable}/members`;
72
+ const endpoint = new URL(path, settings.baseUrl);
73
+ const response = await request(endpoint.href, {
74
+ method: 'POST',
75
+ body: JSON.stringify(requestBody)
76
+ });
77
+ if (settings.segmentWriteKey && settings.segmentWriteKeyRegion) {
78
+ try {
79
+ const body = response.data;
80
+ await request(settings.segmentWriteKeyRegion === 'EU'
81
+ ? 'events.eu1.segmentapis.com/v1/track'
82
+ : 'https://api.segment.io/v1/track', {
83
+ method: 'POST',
84
+ headers: {
85
+ Authorization: 'Basic ' + Buffer.from(settings.segmentWriteKey + ': ').toString('base64'),
86
+ 'Content-Type': 'application/json'
87
+ },
88
+ body: JSON.stringify({
89
+ type: 'track',
90
+ event: 'Responsys Response Message Received',
91
+ properties: body,
92
+ anonymousID: '__responsys__API__response__'
93
+ })
94
+ });
95
+ }
96
+ catch (error) {
97
+ }
98
+ }
99
+ return response;
100
+ };
101
+ exports.sendCustomTraits = sendCustomTraits;
102
+ const upsertListMembers = async (request, payload, settings, userDataFieldNames) => {
103
+ const userDataArray = payload.map((obj) => obj.userData);
104
+ const records = userDataArray.map((userData) => {
105
+ return userDataFieldNames.map((fieldName) => {
106
+ return userData && fieldName in userData
107
+ ? userData[fieldName]
108
+ : '';
109
+ });
110
+ });
111
+ const recordData = {
112
+ fieldNames: userDataFieldNames,
113
+ records,
114
+ mapTemplateName: ''
115
+ };
116
+ const mergeRule = {
117
+ htmlValue: settings.htmlValue,
118
+ optinValue: settings.optinValue,
119
+ textValue: settings.textValue,
120
+ insertOnNoMatch: settings.insertOnNoMatch,
121
+ updateOnMatch: settings.updateOnMatch,
122
+ matchColumnName1: settings.matchColumnName1,
123
+ matchColumnName2: settings.matchColumnName2 || '',
124
+ matchOperator: settings.matchOperator,
125
+ optoutValue: settings.optoutValue,
126
+ rejectRecordIfChannelEmpty: settings.rejectRecordIfChannelEmpty,
127
+ defaultPermissionStatus: settings.defaultPermissionStatus
128
+ };
129
+ const requestBody = {
130
+ recordData,
131
+ mergeRule
132
+ };
133
+ const path = `/rest/asyncApi/v1.3/lists/${settings.profileListName}/members`;
134
+ const endpoint = new URL(path, settings.baseUrl);
135
+ const response = await request(endpoint.href, {
136
+ method: 'POST',
137
+ body: JSON.stringify(requestBody)
138
+ });
139
+ if (settings.segmentWriteKey && settings.segmentWriteKeyRegion) {
140
+ try {
141
+ const body = response.data;
142
+ await request(settings.segmentWriteKeyRegion === 'EU'
143
+ ? 'events.eu1.segmentapis.com/v1/track'
144
+ : 'https://api.segment.io/v1/track', {
145
+ method: 'POST',
146
+ headers: {
147
+ Authorization: 'Basic ' + Buffer.from(settings.segmentWriteKey + ': ').toString('base64'),
148
+ 'Content-Type': 'application/json'
149
+ },
150
+ body: JSON.stringify({
151
+ type: 'track',
152
+ event: 'Responsys Response Message Received',
153
+ properties: body,
154
+ anonymousId: '__responsys__API__response__'
155
+ })
156
+ });
157
+ }
158
+ catch (error) {
159
+ }
160
+ }
161
+ return response;
162
+ };
163
+ exports.upsertListMembers = upsertListMembers;
164
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/responsys/utils.ts"],"names":[],"mappings":"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"}
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.243.0",
4
+ "version": "3.244.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -85,5 +85,5 @@
85
85
  "__tests__/__helpers__/"
86
86
  ]
87
87
  },
88
- "gitHead": "e548a96895198aa66972f06fbc3755a4ce4f5af5"
88
+ "gitHead": "0b21f10a865269be681f804ef0a97574a6898d02"
89
89
  }