@segment/action-destinations 3.132.1-wasipublishtest.7 → 3.133.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 (85) hide show
  1. package/dist/destinations/cordial/addContactToList/generated-types.d.ts +3 -1
  2. package/dist/destinations/cordial/addContactToList/index.js +2 -7
  3. package/dist/destinations/cordial/addContactToList/index.js.map +1 -1
  4. package/dist/destinations/cordial/addProductToCart/generated-types.d.ts +3 -1
  5. package/dist/destinations/cordial/addProductToCart/index.js +2 -7
  6. package/dist/destinations/cordial/addProductToCart/index.js.map +1 -1
  7. package/dist/destinations/cordial/cordial-client.d.ts +11 -0
  8. package/dist/destinations/cordial/cordial-client.js +36 -8
  9. package/dist/destinations/cordial/cordial-client.js.map +1 -1
  10. package/dist/destinations/cordial/createContactactivity/generated-types.d.ts +3 -1
  11. package/dist/destinations/cordial/createContactactivity/index.js +2 -7
  12. package/dist/destinations/cordial/createContactactivity/index.js.map +1 -1
  13. package/dist/destinations/cordial/generated-types.d.ts +1 -0
  14. package/dist/destinations/cordial/identities-fields.d.ts +3 -0
  15. package/dist/destinations/cordial/identities-fields.js +28 -0
  16. package/dist/destinations/cordial/identities-fields.js.map +1 -0
  17. package/dist/destinations/cordial/index.js +9 -1
  18. package/dist/destinations/cordial/index.js.map +1 -1
  19. package/dist/destinations/cordial/mergeContacts/generated-types.d.ts +5 -0
  20. package/dist/destinations/cordial/mergeContacts/generated-types.js +3 -0
  21. package/dist/destinations/cordial/mergeContacts/generated-types.js.map +1 -0
  22. package/dist/destinations/cordial/mergeContacts/index.d.ts +5 -0
  23. package/dist/destinations/cordial/mergeContacts/index.js +40 -0
  24. package/dist/destinations/cordial/mergeContacts/index.js.map +1 -0
  25. package/dist/destinations/cordial/removeContactFromList/generated-types.d.ts +3 -1
  26. package/dist/destinations/cordial/removeContactFromList/index.js +2 -7
  27. package/dist/destinations/cordial/removeContactFromList/index.js.map +1 -1
  28. package/dist/destinations/cordial/removeProductFromCart/generated-types.d.ts +3 -1
  29. package/dist/destinations/cordial/removeProductFromCart/index.js +2 -7
  30. package/dist/destinations/cordial/removeProductFromCart/index.js.map +1 -1
  31. package/dist/destinations/cordial/upsertContact/generated-types.d.ts +3 -1
  32. package/dist/destinations/cordial/upsertContact/index.js +2 -7
  33. package/dist/destinations/cordial/upsertContact/index.js.map +1 -1
  34. package/dist/destinations/cordial/upsertOrder/generated-types.d.ts +3 -1
  35. package/dist/destinations/cordial/upsertOrder/index.js +2 -7
  36. package/dist/destinations/cordial/upsertOrder/index.js.map +1 -1
  37. package/dist/destinations/emarsys/addToContactList/generated-types.d.ts +5 -0
  38. package/dist/destinations/emarsys/addToContactList/generated-types.js +3 -0
  39. package/dist/destinations/emarsys/addToContactList/generated-types.js.map +1 -0
  40. package/dist/destinations/emarsys/addToContactList/index.d.ts +5 -0
  41. package/dist/destinations/emarsys/addToContactList/index.js +116 -0
  42. package/dist/destinations/emarsys/addToContactList/index.js.map +1 -0
  43. package/dist/destinations/emarsys/emarsys-helper.d.ts +63 -0
  44. package/dist/destinations/emarsys/emarsys-helper.js +88 -0
  45. package/dist/destinations/emarsys/emarsys-helper.js.map +1 -0
  46. package/dist/destinations/emarsys/generated-types.d.ts +4 -0
  47. package/dist/destinations/emarsys/generated-types.js +3 -0
  48. package/dist/destinations/emarsys/generated-types.js.map +1 -0
  49. package/dist/destinations/emarsys/index.d.ts +4 -0
  50. package/dist/destinations/emarsys/index.js +60 -0
  51. package/dist/destinations/emarsys/index.js.map +1 -0
  52. package/dist/destinations/emarsys/removeFromContactList/generated-types.d.ts +5 -0
  53. package/dist/destinations/emarsys/removeFromContactList/generated-types.js +3 -0
  54. package/dist/destinations/emarsys/removeFromContactList/generated-types.js.map +1 -0
  55. package/dist/destinations/emarsys/removeFromContactList/index.d.ts +5 -0
  56. package/dist/destinations/emarsys/removeFromContactList/index.js +115 -0
  57. package/dist/destinations/emarsys/removeFromContactList/index.js.map +1 -0
  58. package/dist/destinations/emarsys/triggerEvent/generated-types.d.ts +8 -0
  59. package/dist/destinations/emarsys/triggerEvent/generated-types.js +3 -0
  60. package/dist/destinations/emarsys/triggerEvent/generated-types.js.map +1 -0
  61. package/dist/destinations/emarsys/triggerEvent/index.d.ts +5 -0
  62. package/dist/destinations/emarsys/triggerEvent/index.js +126 -0
  63. package/dist/destinations/emarsys/triggerEvent/index.js.map +1 -0
  64. package/dist/destinations/emarsys/upsertContact/generated-types.d.ts +9 -0
  65. package/dist/destinations/emarsys/upsertContact/generated-types.js +3 -0
  66. package/dist/destinations/emarsys/upsertContact/generated-types.js.map +1 -0
  67. package/dist/destinations/emarsys/upsertContact/index.d.ts +5 -0
  68. package/dist/destinations/emarsys/upsertContact/index.js +129 -0
  69. package/dist/destinations/emarsys/upsertContact/index.js.map +1 -0
  70. package/dist/destinations/index.js +2 -0
  71. package/dist/destinations/index.js.map +1 -1
  72. package/dist/destinations/intercom/index.js +1 -1
  73. package/dist/destinations/intercom/index.js.map +1 -1
  74. package/dist/destinations/livelike-cloud/trackEvent/generated-types.d.ts +1 -1
  75. package/dist/destinations/livelike-cloud/trackEvent/index.js +6 -12
  76. package/dist/destinations/livelike-cloud/trackEvent/index.js.map +1 -1
  77. package/dist/destinations/mixpanel/identifyUser/index.js +1 -1
  78. package/dist/destinations/mixpanel/identifyUser/index.js.map +1 -1
  79. package/dist/destinations/mixpanel/trackEvent/functions.js +1 -1
  80. package/dist/destinations/mixpanel/trackEvent/functions.js.map +1 -1
  81. package/dist/destinations/saleswings/index.js +1 -1
  82. package/dist/destinations/saleswings/index.js.map +1 -1
  83. package/dist/destinations/sendgrid/index.js +1 -1
  84. package/dist/destinations/sendgrid/index.js.map +1 -1
  85. package/package.json +2 -2
@@ -0,0 +1,5 @@
1
+ import type { 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,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const emarsys_helper_1 = require("../emarsys-helper");
5
+ const action = {
6
+ title: 'Add to Contact List',
7
+ description: 'Add a contact to a contact list. The contact must exist before it can be added.',
8
+ fields: {
9
+ contactlistid: {
10
+ label: 'Id of the contact list',
11
+ description: 'The Id of the contactlist',
12
+ type: 'integer',
13
+ required: true,
14
+ dynamic: true
15
+ },
16
+ key_field: {
17
+ label: 'Key field',
18
+ description: 'The field to use to find the contact',
19
+ type: 'string',
20
+ required: true,
21
+ dynamic: true
22
+ },
23
+ key_value: {
24
+ label: 'Key value',
25
+ description: 'Value for the key field used to find the contact. E.g. the email address ',
26
+ type: 'string',
27
+ required: true,
28
+ dynamic: false
29
+ }
30
+ },
31
+ dynamicFields: {
32
+ contactlistid: async (request) => {
33
+ return emarsys_helper_1.getContactLists(request);
34
+ },
35
+ key_field: async (request) => {
36
+ return emarsys_helper_1.getFields(request);
37
+ }
38
+ },
39
+ perform: async (request, data) => {
40
+ if (!data?.payload?.key_field)
41
+ throw new actions_core_1.IntegrationError('Missing key field');
42
+ if (!data?.payload?.key_value)
43
+ throw new actions_core_1.IntegrationError('Missing key value');
44
+ data.payload.contactlistid = parseInt(data.payload.contactlistid.toString().replace(/[^0-9]/g, ''));
45
+ if (data.payload.contactlistid > 0) {
46
+ const payload = {
47
+ key_id: data.payload.key_field,
48
+ external_ids: [data.payload.key_value]
49
+ };
50
+ const response = await request(`${emarsys_helper_1.API_BASE}contactlist/${data.payload.contactlistid}/add`, {
51
+ method: 'post',
52
+ json: payload,
53
+ throwHttpErrors: false
54
+ });
55
+ switch (response?.status) {
56
+ case 200:
57
+ try {
58
+ const body = await response.json();
59
+ if (body.replyCode === 0)
60
+ return response;
61
+ else
62
+ throw new actions_core_1.IntegrationError('Something went wrong while adding to contact list');
63
+ }
64
+ catch (err) {
65
+ throw new actions_core_1.IntegrationError('Invalid JSON response');
66
+ }
67
+ case 400:
68
+ throw new actions_core_1.IntegrationError('The contact could not be removed from the contact list');
69
+ case 429:
70
+ throw new actions_core_1.RetryableError('Rate limit reached.');
71
+ default:
72
+ throw new actions_core_1.RetryableError('There seems to be an API issue.');
73
+ }
74
+ }
75
+ else {
76
+ throw new actions_core_1.IntegrationError('ContactlistId must be >0');
77
+ }
78
+ },
79
+ performBatch: async (request, data) => {
80
+ if (data && data.payload && Array.isArray(data.payload)) {
81
+ const batches = {};
82
+ data.payload.forEach((payload) => {
83
+ if (!batches[`${payload.contactlistid}-${payload.key_field}`]) {
84
+ batches[`${payload.contactlistid}-${payload.key_field}`] = {
85
+ contactlistid: payload.contactlistid,
86
+ key_id: payload.key_field,
87
+ external_ids: []
88
+ };
89
+ }
90
+ if (payload.key_value && payload.key_value != '') {
91
+ batches[`${payload.contactlistid}-${payload.key_field}`].external_ids.push(payload.key_value);
92
+ }
93
+ });
94
+ const requests = [];
95
+ for (const key in batches) {
96
+ const batch = batches[key];
97
+ const payload = {
98
+ key_id: batch.key_id,
99
+ external_ids: batch.external_ids
100
+ };
101
+ const response = request(`${emarsys_helper_1.API_BASE}contactlist/${batch.contactlistid}/add`, {
102
+ method: 'post',
103
+ json: payload,
104
+ throwHttpErrors: true
105
+ });
106
+ requests.push(response);
107
+ }
108
+ if (requests.length > 0) {
109
+ return Promise.all(requests);
110
+ }
111
+ }
112
+ return 0;
113
+ }
114
+ };
115
+ exports.default = action;
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/addToContactList/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Settings } from './generated-types';
2
+ import type { RequestClient } from '@segment/actions-core';
3
+ import { DynamicFieldResponse } from '@segment/actions-core';
4
+ export declare const API_HOST = "https://api.emarsys.net";
5
+ export declare const API_PATH = "/api/v2/";
6
+ export declare const API_BASE: string;
7
+ export interface TriggerEventData {
8
+ [k: string]: unknown;
9
+ }
10
+ export interface BufferBatchTriggerEventItem {
11
+ event_id: number;
12
+ key_id: string;
13
+ keys: {
14
+ external_id: string;
15
+ data?: TriggerEventData;
16
+ }[];
17
+ }
18
+ export interface TriggerEventApiPayload {
19
+ key_id: string;
20
+ external_id: string;
21
+ data?: TriggerEventData;
22
+ }
23
+ export interface TriggerEventsApiPayload {
24
+ key_id: string;
25
+ contacts: {
26
+ external_id: string;
27
+ data?: TriggerEventData;
28
+ }[];
29
+ }
30
+ export interface BufferBatchTriggerEvent {
31
+ [k: string]: BufferBatchTriggerEventItem;
32
+ }
33
+ export interface ContactListApiPayload {
34
+ contactlistid?: number;
35
+ key_id: string;
36
+ external_ids: string[];
37
+ }
38
+ export interface BufferBatchContactListItem {
39
+ contactlistid: number;
40
+ key_id: string;
41
+ external_ids: string[];
42
+ }
43
+ export interface BufferBatchContactList {
44
+ [k: string]: BufferBatchContactListItem;
45
+ }
46
+ export interface ContactData {
47
+ [k: string]: unknown;
48
+ }
49
+ export interface BufferBatchContactItem {
50
+ key_id: string;
51
+ contacts: ContactData[];
52
+ }
53
+ export interface BufferBatchContacts {
54
+ [k: string]: BufferBatchContactItem;
55
+ }
56
+ export interface ContactsApiPayload {
57
+ key_id: string;
58
+ contacts: ContactData[];
59
+ }
60
+ export declare const createWsseHeader: (settings: Settings) => string;
61
+ export declare const getEvents: (request: RequestClient) => Promise<DynamicFieldResponse>;
62
+ export declare const getFields: (request: RequestClient) => Promise<DynamicFieldResponse>;
63
+ export declare const getContactLists: (request: RequestClient) => Promise<DynamicFieldResponse>;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContactLists = exports.getFields = exports.getEvents = exports.createWsseHeader = exports.API_BASE = exports.API_PATH = exports.API_HOST = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const crypto_1 = require("crypto");
6
+ exports.API_HOST = 'https://api.emarsys.net';
7
+ exports.API_PATH = '/api/v2/';
8
+ exports.API_BASE = `${exports.API_HOST}${exports.API_PATH}`;
9
+ const createWsseHeader = (settings) => {
10
+ if (!settings.api_user || !settings.api_password) {
11
+ throw new actions_core_1.IntegrationError('Username and password must be specified.');
12
+ }
13
+ const nonce = crypto_1.randomBytes(16).toString('hex');
14
+ const hash = crypto_1.createHash('sha1');
15
+ const ts = new Date().toISOString();
16
+ const secret = nonce + ts + settings.api_password;
17
+ const secret_hash = Buffer.from(hash.update(secret).digest('hex')).toString('base64');
18
+ const auth_header = `UsernameToken Username="${settings.api_user}", PasswordDigest="${secret_hash}", Nonce="${nonce}", Created="${ts}"`;
19
+ return auth_header;
20
+ };
21
+ exports.createWsseHeader = createWsseHeader;
22
+ const getEvents = async (request) => {
23
+ const data = await request(`${exports.API_BASE}event`);
24
+ const choices = [];
25
+ if (data && data.content) {
26
+ const api_data = JSON.parse(data.content);
27
+ if (api_data && api_data.replyCode !== undefined && api_data.replyCode == 0) {
28
+ if (api_data.data && Array.isArray(api_data.data) && api_data.data.length > 0) {
29
+ for (let a = 0; a < api_data.data.length; a++) {
30
+ choices.push({
31
+ label: api_data.data[a].name,
32
+ value: api_data.data[a].id
33
+ });
34
+ }
35
+ }
36
+ }
37
+ }
38
+ const events = {
39
+ choices: choices
40
+ };
41
+ return events;
42
+ };
43
+ exports.getEvents = getEvents;
44
+ const getFields = async (request) => {
45
+ const data = await request(`${exports.API_BASE}field/translate/en`);
46
+ const choices = [];
47
+ if (data && data.content) {
48
+ const api_data = JSON.parse(data.content);
49
+ if (api_data && api_data.replyCode !== undefined && api_data.replyCode == 0) {
50
+ if (api_data.data && Array.isArray(api_data.data) && api_data.data.length > 0) {
51
+ for (let a = 0; a < api_data.data.length; a++) {
52
+ choices.push({
53
+ label: api_data.data[a].name,
54
+ value: api_data.data[a].id
55
+ });
56
+ }
57
+ }
58
+ }
59
+ }
60
+ const fields = {
61
+ choices: choices
62
+ };
63
+ return fields;
64
+ };
65
+ exports.getFields = getFields;
66
+ const getContactLists = async (request) => {
67
+ const data = await request(`${exports.API_BASE}contactlist`);
68
+ const choices = [];
69
+ if (data && data.content) {
70
+ const api_data = JSON.parse(data.content);
71
+ if (api_data && api_data.replyCode !== undefined && api_data.replyCode == 0) {
72
+ if (api_data.data && Array.isArray(api_data.data) && api_data.data.length > 0) {
73
+ for (let a = 0; a < api_data.data.length; a++) {
74
+ choices.push({
75
+ label: api_data.data[a].name,
76
+ value: api_data.data[a].id
77
+ });
78
+ }
79
+ }
80
+ }
81
+ }
82
+ const lists = {
83
+ choices: choices
84
+ };
85
+ return lists;
86
+ };
87
+ exports.getContactLists = getContactLists;
88
+ //# sourceMappingURL=emarsys-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emarsys-helper.js","sourceRoot":"","sources":["../../../src/destinations/emarsys/emarsys-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface Settings {
2
+ api_user: string;
3
+ api_password: string;
4
+ }
@@ -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/emarsys/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { DestinationDefinition } from '@segment/actions-core';
2
+ import type { Settings } from './generated-types';
3
+ declare const destination: DestinationDefinition<Settings>;
4
+ export default destination;
@@ -0,0 +1,60 @@
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 addToContactList_1 = __importDefault(require("./addToContactList"));
7
+ const removeFromContactList_1 = __importDefault(require("./removeFromContactList"));
8
+ const triggerEvent_1 = __importDefault(require("./triggerEvent"));
9
+ const upsertContact_1 = __importDefault(require("./upsertContact"));
10
+ const emarsys_helper_1 = require("./emarsys-helper");
11
+ const destination = {
12
+ name: 'Emarsys (Actions)',
13
+ slug: 'actions-emarsys',
14
+ mode: 'cloud',
15
+ authentication: {
16
+ scheme: 'custom',
17
+ fields: {
18
+ api_user: {
19
+ label: 'API username',
20
+ description: 'Your Emarsys API username',
21
+ type: 'string',
22
+ required: true
23
+ },
24
+ api_password: {
25
+ label: 'API password',
26
+ description: 'Your Emarsys API password.',
27
+ type: 'password',
28
+ required: true
29
+ }
30
+ },
31
+ testAuthentication: async (request) => {
32
+ const data = await request(`${emarsys_helper_1.API_BASE}settings`);
33
+ if (data && data.content) {
34
+ const api_data = JSON.parse(data.content);
35
+ if (api_data && api_data.replyCode !== undefined && api_data.replyCode == 0) {
36
+ if (api_data.data && api_data.data.id) {
37
+ if (api_data.data.id > 0) {
38
+ return true;
39
+ }
40
+ }
41
+ }
42
+ }
43
+ throw new Error('Authentication failed');
44
+ }
45
+ },
46
+ actions: {
47
+ upsertContact: upsertContact_1.default,
48
+ addToContactList: addToContactList_1.default,
49
+ removeFromContactList: removeFromContactList_1.default,
50
+ triggerEvent: triggerEvent_1.default
51
+ },
52
+ extendRequest: ({ settings }) => {
53
+ return {
54
+ headers: { 'X-WSSE': emarsys_helper_1.createWsseHeader(settings) },
55
+ responseType: 'json'
56
+ };
57
+ }
58
+ };
59
+ exports.default = destination;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/emarsys/index.ts"],"names":[],"mappings":";;;;;AAEA,0EAAiD;AACjD,oFAA2D;AAC3D,kEAAyC;AACzC,oEAA2C;AAC3C,qDAA6D;AAE7D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,QAAQ,EAAE;gBACR,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,yBAAQ,UAAU,CAAC,CAAA;YACjD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE;oBAC3E,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE;wBACrC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE;4BACxB,OAAO,IAAI,CAAA;yBACZ;qBACF;iBACF;aACF;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;KACF;IAED,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;QACb,gBAAgB,EAAhB,0BAAgB;QAChB,qBAAqB,EAArB,+BAAqB;QACrB,YAAY,EAAZ,sBAAY;KACb;IAED,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE,EAAE,QAAQ,EAAE,iCAAgB,CAAC,QAAQ,CAAC,EAAE;YACjD,YAAY,EAAE,MAAM;SACrB,CAAA;IACH,CAAC;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface Payload {
2
+ contactlistid: number;
3
+ key_field: string;
4
+ key_value: string;
5
+ }
@@ -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/emarsys/removeFromContactList/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { 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,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const emarsys_helper_1 = require("../emarsys-helper");
5
+ const action = {
6
+ title: 'Remove from Contact List',
7
+ description: 'Remove a contact from a contact list.',
8
+ fields: {
9
+ contactlistid: {
10
+ label: 'Id of the contact list',
11
+ description: 'The Id of the contactlist',
12
+ type: 'integer',
13
+ required: true,
14
+ dynamic: true
15
+ },
16
+ key_field: {
17
+ label: 'Key field',
18
+ description: 'The field to use to find the contact',
19
+ type: 'string',
20
+ required: true,
21
+ dynamic: true
22
+ },
23
+ key_value: {
24
+ label: 'Key value',
25
+ description: 'Value for the key field used to find the contact. E.g. the email address ',
26
+ type: 'string',
27
+ required: true,
28
+ dynamic: false
29
+ }
30
+ },
31
+ dynamicFields: {
32
+ contactlistid: async (request) => {
33
+ return emarsys_helper_1.getContactLists(request);
34
+ },
35
+ key_field: async (request) => {
36
+ return emarsys_helper_1.getFields(request);
37
+ }
38
+ },
39
+ perform: async (request, data) => {
40
+ if (!data?.payload?.key_field)
41
+ throw new actions_core_1.IntegrationError('Missing key field');
42
+ if (!data?.payload?.key_value)
43
+ throw new actions_core_1.IntegrationError('Missing key value');
44
+ data.payload.contactlistid = parseInt(data.payload.contactlistid.toString().replace(/[^0-9]/g, ''));
45
+ if (data.payload.contactlistid > 0) {
46
+ const payload = {
47
+ contactlistid: data.payload.contactlistid,
48
+ key_id: data.payload.key_field,
49
+ external_ids: [data.payload.key_value]
50
+ };
51
+ const response = await request(`${emarsys_helper_1.API_BASE}contactlist/${data.payload.contactlistid}/delete`, {
52
+ method: 'post',
53
+ json: payload,
54
+ throwHttpErrors: false
55
+ });
56
+ switch (response?.status) {
57
+ case 200:
58
+ try {
59
+ const body = await response.json();
60
+ if (body.replyCode === 0)
61
+ return response;
62
+ else
63
+ throw new actions_core_1.IntegrationError('Something went wrong while removing from contact list');
64
+ }
65
+ catch (err) {
66
+ throw new actions_core_1.IntegrationError('Invalid JSON response');
67
+ }
68
+ case 400:
69
+ throw new actions_core_1.IntegrationError('The contact could not be removed from the contact list');
70
+ case 429:
71
+ throw new actions_core_1.RetryableError('Rate limit reached.');
72
+ default:
73
+ throw new actions_core_1.RetryableError('There seems to be an API issue.');
74
+ }
75
+ }
76
+ else {
77
+ throw new actions_core_1.IntegrationError('ContactlistId must be >0');
78
+ }
79
+ },
80
+ performBatch: async (request, data) => {
81
+ if (data && data.payload && Array.isArray(data.payload)) {
82
+ const batches = {};
83
+ data.payload.forEach((payload) => {
84
+ if (!batches[`${payload.contactlistid}-${payload.key_field}`]) {
85
+ batches[`${payload.contactlistid}-${payload.key_field}`] = {
86
+ contactlistid: payload.contactlistid,
87
+ key_id: payload.key_field,
88
+ external_ids: []
89
+ };
90
+ }
91
+ batches[`${payload.contactlistid}-${payload.key_field}`].external_ids.push(payload.key_value);
92
+ });
93
+ const requests = [];
94
+ for (const key in batches) {
95
+ const batch = batches[key];
96
+ const payload = {
97
+ key_id: batch.key_id,
98
+ external_ids: batch.external_ids
99
+ };
100
+ const response = request(`${emarsys_helper_1.API_BASE}contactlist/${batch.contactlistid}/delete`, {
101
+ method: 'post',
102
+ json: payload,
103
+ throwHttpErrors: false
104
+ });
105
+ requests.push(response);
106
+ }
107
+ if (requests.length > 0) {
108
+ return Promise.all(requests);
109
+ }
110
+ }
111
+ return 0;
112
+ }
113
+ };
114
+ exports.default = action;
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/removeFromContactList/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface Payload {
2
+ eventid: number;
3
+ key_field: string;
4
+ key_value: string;
5
+ event_payload?: {
6
+ [k: string]: unknown;
7
+ } | null;
8
+ }
@@ -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/emarsys/triggerEvent/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { 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;