@segment/action-destinations 3.366.1-staging-dd68967de.0 → 3.366.1-staging-73ccee21f.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.
@@ -56,6 +56,56 @@ describe('Salesforce Marketing Cloud', () => {
56
56
  }
57
57
  })).rejects.toThrowError(`In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`);
58
58
  });
59
+ it.only('should prioritize using the data extension ID created or selected from the hook', async () => {
60
+ const expectedUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/hook_output123/rowset`;
61
+ (0, nock_1.default)(expectedUrl).post('').reply(200, {});
62
+ const responses = await testDestination.testAction('dataExtension', {
63
+ event,
64
+ settings,
65
+ mapping: {
66
+ keys: { '@path': '$.properties.keys' },
67
+ values: { '@path': '$.properties.values' },
68
+ onMappingSave: {
69
+ inputs: {},
70
+ outputs: {
71
+ id: 'hook_output123'
72
+ }
73
+ }
74
+ }
75
+ });
76
+ expect(responses[0].status).toBe(200);
77
+ expect(responses[0].options.body).toMatchInlineSnapshot(`"[{\\"keys\\":{\\"id\\":\\"HS1\\"},\\"values\\":{\\"name\\":\\"Harry Styles\\"}}]"`);
78
+ });
79
+ it('should fallback to using an existing deprecated data extension ID if no hook ID exists', async () => {
80
+ const expectedUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/deprecated_123/rowset`;
81
+ (0, nock_1.default)(expectedUrl).post('').reply(200, {});
82
+ const responses = await testDestination.testAction('dataExtension', {
83
+ event,
84
+ settings,
85
+ mapping: {
86
+ keys: { '@path': '$.properties.keys' },
87
+ values: { '@path': '$.properties.values' },
88
+ id: 'deprecated_123'
89
+ }
90
+ });
91
+ expect(responses[0].status).toBe(200);
92
+ expect(responses[0].options.body).toMatchInlineSnapshot(`"[{\\"keys\\":{\\"id\\":\\"HS1\\"},\\"values\\":{\\"name\\":\\"Harry Styles\\"}}]"`);
93
+ });
94
+ it('should fallback to using an existing deprecated data extension key if no hook ID exists and no deprecated ID exists', async () => {
95
+ const expectedUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:deprecated_123/rowset`;
96
+ (0, nock_1.default)(expectedUrl).post('').reply(200, {});
97
+ const responses = await testDestination.testAction('dataExtension', {
98
+ event,
99
+ settings,
100
+ mapping: {
101
+ keys: { '@path': '$.properties.keys' },
102
+ values: { '@path': '$.properties.values' },
103
+ key: 'deprecated_123'
104
+ }
105
+ });
106
+ expect(responses[0].status).toBe(200);
107
+ expect(responses[0].options.body).toMatchInlineSnapshot(`"[{\\"keys\\":{\\"id\\":\\"HS1\\"},\\"values\\":{\\"name\\":\\"Harry Styles\\"}}]"`);
108
+ });
59
109
  });
60
110
  });
61
111
  //# sourceMappingURL=dataExtension.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataExtension.test.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/_tests_/dataExtension.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAA8E;AAC9E,qDAAiC;AAGjC,MAAM,eAAe,GAAG,IAAA,oCAAqB,EAAC,eAAU,CAAC,CAAA;AACzD,MAAM,SAAS,GAAG,0BAA0B,CAAA;AAC5C,MAAM,QAAQ,GAAa;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,SAAS;CACtB,CAAA;AAED,MAAM,KAAK,GAAG,IAAA,8BAAe,EAAC;IAC5B,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE;YACJ,EAAE,EAAE,KAAK;SACV;QACD,MAAM,EAAE;YACN,IAAI,EAAE,cAAc;SACrB;KACF;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,WAAW,QAAQ,CAAC,SAAS,kEAAkE,CAAA;AAClH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACxC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE;gBAClE,KAAK;gBACL,QAAQ;gBACR,OAAO,EAAE;oBACP,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;oBAClC,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACtC,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;iBAC3C;aACF,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,qBAAqB,CACrD,oFAAoF,CACrF,CAAA;QACH,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACxC,MAAM,MAAM,CACV,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE;gBAC1C,KAAK;gBACL,QAAQ;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACtC,MAAM,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;iBAC3C;aACF,CAAC,CACH,CAAC,OAAO,CAAC,YAAY,CACpB,+GAA+G,CAChH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"dataExtension.test.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/_tests_/dataExtension.test.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,24 @@ export interface Payload {
11
11
  enable_batching?: boolean;
12
12
  batch_size?: number;
13
13
  }
14
+ export interface OnMappingSaveInputs {
15
+ operation: string;
16
+ dataExtensionKey?: string;
17
+ dataExtensionId?: string;
18
+ categoryId?: string;
19
+ name?: string;
20
+ description?: string;
21
+ columns?: {
22
+ name: string;
23
+ type: string;
24
+ isNullable: boolean;
25
+ isPrimaryKey: boolean;
26
+ length: number;
27
+ description?: string;
28
+ [k: string]: unknown;
29
+ }[];
30
+ }
31
+ export interface OnMappingSaveOutputs {
32
+ id: string;
33
+ name: string;
34
+ }
@@ -27,11 +27,61 @@ const action = {
27
27
  enable_batching: sfmc_properties_1.enable_batching,
28
28
  batch_size: sfmc_properties_1.batch_size
29
29
  },
30
- perform: async (request, { settings, payload }) => {
31
- return (0, sfmc_operations_1.upsertRows)(request, settings.subdomain, [payload]);
30
+ dynamicFields: {
31
+ keys: {
32
+ __keys__: async (request, { settings, hookOutputs, payload }) => {
33
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload.id || '';
34
+ return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId);
35
+ }
36
+ }
37
+ },
38
+ hooks: {
39
+ onMappingSave: {
40
+ label: 'Create Data Extension',
41
+ description: 'Create a new data extension in Salesforce Marketing Cloud.',
42
+ inputFields: {
43
+ operation: sfmc_properties_1.operation,
44
+ dataExtensionKey: sfmc_properties_1.dataExtensionKey,
45
+ dataExtensionId: {
46
+ ...sfmc_properties_1.dataExtensionId,
47
+ dynamic: async (request, { dynamicFieldContext, settings }) => {
48
+ const query = dynamicFieldContext?.query;
49
+ return await (0, sfmc_operations_1.getDataExtensions)(request, settings.subdomain, settings, query);
50
+ }
51
+ },
52
+ categoryId: sfmc_properties_1.categoryId,
53
+ name: sfmc_properties_1.name,
54
+ description: sfmc_properties_1.description,
55
+ columns: sfmc_properties_1.columns
56
+ },
57
+ outputTypes: {
58
+ id: {
59
+ label: 'Data Extension ID',
60
+ description: 'The identifier for the data extension.',
61
+ type: 'string',
62
+ required: true
63
+ },
64
+ name: {
65
+ label: 'Data Extension Name',
66
+ description: 'The name of the data extension.',
67
+ type: 'string',
68
+ required: true
69
+ }
70
+ },
71
+ performHook: async (request, { settings, hookInputs }) => {
72
+ return await (0, sfmc_operations_1.selectOrCreateDataExtension)(request, settings.subdomain, hookInputs, settings);
73
+ }
74
+ }
75
+ },
76
+ perform: async (request, { settings, payload, hookOutputs }) => {
77
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload.id;
78
+ const deprecated_dataExtensionKey = payload.key;
79
+ return (0, sfmc_operations_1.upsertRows)(request, settings.subdomain, [payload], dataExtensionId, deprecated_dataExtensionKey);
32
80
  },
33
- performBatch: async (request, { settings, payload }) => {
34
- return (0, sfmc_operations_1.executeUpsertWithMultiStatus)(request, settings.subdomain, payload);
81
+ performBatch: async (request, { settings, payload, hookOutputs }) => {
82
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload[0].id;
83
+ const deprecated_dataExtensionKey = payload[0].key;
84
+ return (0, sfmc_operations_1.executeUpsertWithMultiStatus)(request, settings.subdomain, payload, dataExtensionId, deprecated_dataExtensionKey);
35
85
  }
36
86
  };
37
87
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAAqG;AACrG,wDAA6E;AAE7E,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gCAAgC;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,WAAW,EAAE,4FAA4F;IACzG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE;YACJ,GAAG,sBAAI;YACP,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,aAAa;oBACpB,WAAW,EACT,gJAAgJ;oBAClJ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;aACpC;SACF;QACD,MAAM,EAAE,sCAAoB;QAC5B,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,IAAA,4BAAU,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,IAAA,8CAA4B,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,24 @@ export interface Payload {
10
10
  enable_batching?: boolean;
11
11
  batch_size?: number;
12
12
  }
13
+ export interface OnMappingSaveInputs {
14
+ operation: string;
15
+ dataExtensionKey?: string;
16
+ dataExtensionId?: string;
17
+ categoryId?: string;
18
+ name?: string;
19
+ description?: string;
20
+ columns?: {
21
+ name: string;
22
+ type: string;
23
+ isNullable: boolean;
24
+ isPrimaryKey: boolean;
25
+ length: number;
26
+ description?: string;
27
+ [k: string]: unknown;
28
+ }[];
29
+ }
30
+ export interface OnMappingSaveOutputs {
31
+ id: string;
32
+ name: string;
33
+ }
@@ -13,11 +13,61 @@ const action = {
13
13
  enable_batching: sfmc_properties_1.enable_batching,
14
14
  batch_size: sfmc_properties_1.batch_size
15
15
  },
16
- perform: async (request, { settings, payload }) => {
17
- return (0, sfmc_operations_1.upsertRows)(request, settings.subdomain, [payload]);
16
+ dynamicFields: {
17
+ keys: {
18
+ __keys__: async (request, { settings, hookOutputs, payload }) => {
19
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload.id || '';
20
+ return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId);
21
+ }
22
+ }
18
23
  },
19
- performBatch: async (request, { settings, payload }) => {
20
- return (0, sfmc_operations_1.executeUpsertWithMultiStatus)(request, settings.subdomain, payload);
24
+ hooks: {
25
+ onMappingSave: {
26
+ label: 'Create Data Extension',
27
+ description: 'Create a new data extension in Salesforce Marketing Cloud.',
28
+ inputFields: {
29
+ operation: sfmc_properties_1.operation,
30
+ dataExtensionKey: sfmc_properties_1.dataExtensionKey,
31
+ dataExtensionId: {
32
+ ...sfmc_properties_1.dataExtensionId,
33
+ dynamic: async (request, { dynamicFieldContext, settings }) => {
34
+ const query = dynamicFieldContext?.query;
35
+ return await (0, sfmc_operations_1.getDataExtensions)(request, settings.subdomain, settings, query);
36
+ }
37
+ },
38
+ categoryId: sfmc_properties_1.categoryId,
39
+ name: sfmc_properties_1.name,
40
+ description: sfmc_properties_1.description,
41
+ columns: sfmc_properties_1.columns
42
+ },
43
+ outputTypes: {
44
+ id: {
45
+ label: 'Data Extension ID',
46
+ description: 'The identifier for the data extension.',
47
+ type: 'string',
48
+ required: true
49
+ },
50
+ name: {
51
+ label: 'Data Extension Name',
52
+ description: 'The name of the data extension.',
53
+ type: 'string',
54
+ required: true
55
+ }
56
+ },
57
+ performHook: async (request, { settings, hookInputs }) => {
58
+ return await (0, sfmc_operations_1.selectOrCreateDataExtension)(request, settings.subdomain, hookInputs, settings);
59
+ }
60
+ }
61
+ },
62
+ perform: async (request, { settings, payload, hookOutputs }) => {
63
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload.id;
64
+ const deprecated_dataExtensionKey = payload.key;
65
+ return (0, sfmc_operations_1.upsertRows)(request, settings.subdomain, [payload], dataExtensionId, deprecated_dataExtensionKey);
66
+ },
67
+ performBatch: async (request, { settings, payload, hookOutputs }) => {
68
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs.id || payload[0].id;
69
+ const deprecated_dataExtensionKey = payload[0].key;
70
+ return (0, sfmc_operations_1.executeUpsertWithMultiStatus)(request, settings.subdomain, payload, dataExtensionId, deprecated_dataExtensionKey);
21
71
  }
22
72
  };
23
73
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/dataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAA2G;AAC3G,wDAA6E;AAE7E,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,sFAAsF;IACnG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE,EAAE,GAAG,sBAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjC,MAAM,EAAE,4CAA0B;QAClC,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,IAAA,4BAAU,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,IAAA,8CAA4B,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3E,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/dataExtension/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
- import { RequestClient, MultiStatusResponse, ModifiedResponse } from '@segment/actions-core';
1
+ import { RequestClient, MultiStatusResponse, ModifiedResponse, ActionHookResponse, DynamicFieldResponse } from '@segment/actions-core';
2
2
  import { Payload as payload_dataExtension } from './dataExtension/generated-types';
3
3
  import { Payload as payload_contactDataExtension } from './contactDataExtension/generated-types';
4
- export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<ModifiedResponse<unknown>>;
5
- export declare function executeUpsertWithMultiStatus(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<MultiStatusResponse>;
4
+ import { OnMappingSaveInputs } from './dataExtension/generated-types';
5
+ import { Settings } from './generated-types';
6
+ export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId?: string, dataExtensionKey?: string): Promise<ModifiedResponse<unknown>>;
7
+ export declare function executeUpsertWithMultiStatus(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId?: string, dataExtensionKey?: string): Promise<MultiStatusResponse>;
8
+ export declare const selectOrCreateDataExtension: (request: RequestClient, subdomain: string, hookInputs: OnMappingSaveInputs, settings: Settings) => Promise<ActionHookResponse<{
9
+ id: string;
10
+ name: string;
11
+ }>>;
12
+ export declare const getDataExtensions: (request: RequestClient, subdomain: string, settings: Settings, query?: string) => Promise<DynamicFieldResponse>;
13
+ export declare const getDataExtensionFields: (request: RequestClient, subdomain: string, settings: Settings, dataExtensionID: string) => Promise<DynamicFieldResponse>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeUpsertWithMultiStatus = exports.upsertRows = void 0;
3
+ exports.getDataExtensionFields = exports.getDataExtensions = exports.selectOrCreateDataExtension = exports.executeUpsertWithMultiStatus = exports.upsertRows = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
5
  function generateRows(payloads) {
6
6
  const rows = [];
@@ -12,32 +12,31 @@ function generateRows(payloads) {
12
12
  });
13
13
  return rows;
14
14
  }
15
- function upsertRows(request, subdomain, payloads) {
16
- const { key, id } = payloads[0];
17
- if (!key && !id) {
15
+ function upsertRows(request, subdomain, payloads, dataExtensionId, dataExtensionKey) {
16
+ if (!dataExtensionKey && !dataExtensionId) {
18
17
  throw new actions_core_1.IntegrationError(`In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`, 'Misconfigured required field', 400);
19
18
  }
20
19
  const rows = generateRows(payloads);
21
- if (key) {
22
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${key}/rowset`, {
20
+ if (dataExtensionKey) {
21
+ return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${dataExtensionKey}/rowset`, {
23
22
  method: 'POST',
24
23
  json: rows
25
24
  });
26
25
  }
27
26
  else {
28
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${id}/rowset`, {
27
+ return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${dataExtensionId}/rowset`, {
29
28
  method: 'POST',
30
29
  json: rows
31
30
  });
32
31
  }
33
32
  }
34
33
  exports.upsertRows = upsertRows;
35
- async function executeUpsertWithMultiStatus(request, subdomain, payloads) {
34
+ async function executeUpsertWithMultiStatus(request, subdomain, payloads, dataExtensionId, dataExtensionKey) {
36
35
  const multiStatusResponse = new actions_core_1.MultiStatusResponse();
37
36
  let response;
38
37
  const rows = generateRows(payloads);
39
38
  try {
40
- response = await upsertRows(request, subdomain, payloads);
39
+ response = await upsertRows(request, subdomain, payloads, dataExtensionId, dataExtensionKey);
41
40
  if (response) {
42
41
  const responseData = response.data;
43
42
  payloads.forEach((_, index) => {
@@ -80,4 +79,243 @@ async function executeUpsertWithMultiStatus(request, subdomain, payloads) {
80
79
  return multiStatusResponse;
81
80
  }
82
81
  exports.executeUpsertWithMultiStatus = executeUpsertWithMultiStatus;
82
+ const getAccessToken = async (request, settings) => {
83
+ const baseUrl = `https://${settings.subdomain}.auth.marketingcloudapis.com/v2/token`;
84
+ const res = await request(`${baseUrl}`, {
85
+ method: 'POST',
86
+ body: new URLSearchParams({
87
+ account_id: settings.account_id,
88
+ client_id: settings.client_id,
89
+ client_secret: settings.client_secret,
90
+ grant_type: 'client_credentials'
91
+ })
92
+ });
93
+ return res.data.access_token;
94
+ };
95
+ const dataExtensionRequest = async (request, hookInputs, auth) => {
96
+ if (!hookInputs) {
97
+ return { id: '', key: '', error: 'No inputs provided' };
98
+ }
99
+ if (!hookInputs.columns) {
100
+ return { id: '', key: '', error: 'No columns provided' };
101
+ }
102
+ const fields = hookInputs.columns.map((column, i) => {
103
+ return {
104
+ name: column.name,
105
+ type: column.type,
106
+ isNullable: column.isNullable,
107
+ isPrimaryKey: column.isPrimaryKey,
108
+ length: column.length,
109
+ description: column.description || '',
110
+ ordinal: i,
111
+ isTemplateField: false,
112
+ isHidden: false,
113
+ isReadOnly: false,
114
+ isInheritable: false,
115
+ isOverridable: false,
116
+ mustOverride: false
117
+ };
118
+ });
119
+ try {
120
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects`, {
121
+ method: 'POST',
122
+ json: {
123
+ name: hookInputs.name,
124
+ description: hookInputs.description,
125
+ categoryId: hookInputs.categoryId,
126
+ fields
127
+ },
128
+ headers: {
129
+ authorization: `Bearer ${auth.accessToken}`
130
+ }
131
+ });
132
+ if (response.status !== 201) {
133
+ return { id: '', key: '', error: `Failed to create Data Extension` };
134
+ }
135
+ return {
136
+ id: response.data.id,
137
+ key: response.data.key
138
+ };
139
+ }
140
+ catch (error) {
141
+ return { id: '', key: '', error: error.response.data.message };
142
+ }
143
+ };
144
+ async function createDataExtension(request, subdomain, hookInputs, settings) {
145
+ if (!hookInputs) {
146
+ return {
147
+ error: { message: 'No inputs provided', code: 'ERROR' }
148
+ };
149
+ }
150
+ const accessToken = await getAccessToken(request, settings);
151
+ const { id, key, error } = await dataExtensionRequest(request, hookInputs, { subdomain, accessToken });
152
+ if (error || !id || !key) {
153
+ return {
154
+ error: { message: error || 'Unknown Error', code: 'ERROR' }
155
+ };
156
+ }
157
+ return {
158
+ successMessage: `Data Extension ${hookInputs.name} created successfully with External Key ${key}`,
159
+ savedData: {
160
+ id,
161
+ name: hookInputs.name
162
+ }
163
+ };
164
+ }
165
+ const selectDataExtensionRequest = async (request, hookInputs, auth) => {
166
+ if (!hookInputs) {
167
+ return { id: '', key: '', name: '', error: 'No inputs provided' };
168
+ }
169
+ if (!hookInputs.dataExtensionKey && !hookInputs.dataExtensionId) {
170
+ return { id: '', key: '', name: '', error: 'No Data Extension Key or Data Extension Id provided' };
171
+ }
172
+ try {
173
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/${hookInputs.dataExtensionId}`, {
174
+ method: 'GET',
175
+ headers: {
176
+ authorization: `Bearer ${auth.accessToken}`
177
+ }
178
+ });
179
+ console.log('res', response);
180
+ if (response.status !== 200) {
181
+ return { id: '', key: '', name: '', error: `Failed to select Data Extension` };
182
+ }
183
+ return {
184
+ id: response.data.id,
185
+ key: response.data.key,
186
+ name: response.data.name
187
+ };
188
+ }
189
+ catch (err) {
190
+ return { id: '', key: '', name: '', error: err.response.data.message };
191
+ }
192
+ };
193
+ async function selectDataExtension(request, subdomain, hookInputs, settings) {
194
+ if (!hookInputs) {
195
+ return {
196
+ error: { message: 'No inputs provided', code: 'ERROR' }
197
+ };
198
+ }
199
+ const accessToken = await getAccessToken(request, settings);
200
+ const { id, key, name, error } = await selectDataExtensionRequest(request, hookInputs, { subdomain, accessToken });
201
+ if (error || !id || !key) {
202
+ return {
203
+ error: { message: error || 'Unknown Error', code: 'ERROR' }
204
+ };
205
+ }
206
+ return {
207
+ successMessage: `Data Extension ${name} selected successfully with External Key ${key}`,
208
+ savedData: {
209
+ id,
210
+ name: name
211
+ }
212
+ };
213
+ }
214
+ const selectOrCreateDataExtension = async (request, subdomain, hookInputs, settings) => {
215
+ if (hookInputs.operation === 'create') {
216
+ return await createDataExtension(request, subdomain, hookInputs, settings);
217
+ }
218
+ else if (hookInputs.operation === 'select') {
219
+ return await selectDataExtension(request, subdomain, hookInputs, settings);
220
+ }
221
+ return {
222
+ error: { message: 'Invalid operation', code: 'ERROR' }
223
+ };
224
+ };
225
+ exports.selectOrCreateDataExtension = selectOrCreateDataExtension;
226
+ const getDataExtensionsRequest = async (request, searchQuery, auth) => {
227
+ try {
228
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects`, {
229
+ method: 'get',
230
+ searchParams: {
231
+ $search: searchQuery
232
+ },
233
+ headers: {
234
+ authorization: `Bearer ${auth.accessToken}`
235
+ }
236
+ });
237
+ if (response.status !== 200) {
238
+ return { error: { message: 'Failed to fetch Data Extensions', code: 'BAD_REQUEST' } };
239
+ }
240
+ const choices = response.data.items;
241
+ return {
242
+ results: choices.map((choice) => {
243
+ return {
244
+ value: choice.id,
245
+ label: choice.name
246
+ };
247
+ })
248
+ };
249
+ }
250
+ catch (err) {
251
+ return { error: { message: err.response.data.message, code: 'BAD_REQUEST' } };
252
+ }
253
+ };
254
+ const getDataExtensions = async (request, subdomain, settings, query) => {
255
+ let searchQuery = '_';
256
+ if (query && query !== '') {
257
+ searchQuery = query;
258
+ }
259
+ const accessToken = await getAccessToken(request, settings);
260
+ const { results, error } = await getDataExtensionsRequest(request, searchQuery, { subdomain, accessToken });
261
+ if (error) {
262
+ return {
263
+ choices: [],
264
+ error: error
265
+ };
266
+ }
267
+ if (!results || (Array.isArray(results) && results.length === 0)) {
268
+ return {
269
+ choices: [],
270
+ error: { message: 'No Data Extensions found', code: 'NOT_FOUND' }
271
+ };
272
+ }
273
+ return {
274
+ choices: results
275
+ };
276
+ };
277
+ exports.getDataExtensions = getDataExtensions;
278
+ const getDataExtensionFieldsRequest = async (request, dataExtensionId, auth) => {
279
+ try {
280
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/${dataExtensionId}/fields`, {
281
+ method: 'GET',
282
+ headers: {
283
+ authorization: `Bearer ${auth.accessToken}`
284
+ }
285
+ });
286
+ if (response.status !== 200) {
287
+ return { error: { message: 'Failed to fetch Data Extension fields', code: 'BAD_REQUEST' } };
288
+ }
289
+ const choices = response.data.fields.map((field) => {
290
+ return { value: field.name, label: field.name };
291
+ });
292
+ return { results: choices };
293
+ }
294
+ catch (err) {
295
+ return { error: { message: err.response.data.message, code: 'BAD_REQUEST' } };
296
+ }
297
+ };
298
+ const getDataExtensionFields = async (request, subdomain, settings, dataExtensionID) => {
299
+ if (!dataExtensionID) {
300
+ return { choices: [], error: { message: 'No Data Extension ID provided', code: 'BAD_REQUEST' } };
301
+ }
302
+ const accessToken = await getAccessToken(request, settings);
303
+ const { results, error } = await getDataExtensionFieldsRequest(request, dataExtensionID, { subdomain, accessToken });
304
+ if (error) {
305
+ return {
306
+ choices: [],
307
+ error: error
308
+ };
309
+ }
310
+ if (!results || (Array.isArray(results) && results.length === 0)) {
311
+ return {
312
+ choices: [],
313
+ error: { message: 'No Data Extension fields found', code: 'NOT_FOUND' }
314
+ };
315
+ }
316
+ return {
317
+ choices: results
318
+ };
319
+ };
320
+ exports.getDataExtensionFields = getDataExtensionFields;
83
321
  //# sourceMappingURL=sfmc-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InputField } from '@segment/actions-core/destination-kit/types';
1
+ import { InputField, FieldTypeName, DependsOnConditions } from '@segment/actions-core/destination-kit/types';
2
2
  export declare const contactKey: InputField;
3
3
  export declare const contactKeyAPIEvent: InputField;
4
4
  export declare const key: InputField;
@@ -10,3 +10,48 @@ export declare const eventDefinitionKey: InputField;
10
10
  export declare const eventData: InputField;
11
11
  export declare const enable_batching: InputField;
12
12
  export declare const batch_size: InputField;
13
+ export declare const categoryId: {
14
+ label: string;
15
+ description: string;
16
+ type: FieldTypeName;
17
+ required: DependsOnConditions;
18
+ depends_on: DependsOnConditions;
19
+ };
20
+ export declare const operation: {
21
+ label: string;
22
+ description: string;
23
+ type: FieldTypeName;
24
+ choices: {
25
+ label: string;
26
+ value: string;
27
+ }[];
28
+ required: boolean;
29
+ };
30
+ export declare const dataExtensionKey: {
31
+ label: string;
32
+ description: string;
33
+ type: FieldTypeName;
34
+ depends_on: DependsOnConditions;
35
+ };
36
+ export declare const dataExtensionId: {
37
+ label: string;
38
+ description: string;
39
+ type: FieldTypeName;
40
+ depends_on: DependsOnConditions;
41
+ };
42
+ export declare const name: {
43
+ label: string;
44
+ description: string;
45
+ type: FieldTypeName;
46
+ required: DependsOnConditions;
47
+ depends_on: DependsOnConditions;
48
+ };
49
+ export declare const description: {
50
+ label: string;
51
+ description: string;
52
+ type: FieldTypeName;
53
+ depends_on: DependsOnConditions;
54
+ };
55
+ export declare const columns: Omit<InputField, 'dynamic'> & {
56
+ dynamic?: undefined;
57
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batch_size = exports.enable_batching = exports.eventData = exports.eventDefinitionKey = exports.values_dataExtensionFields = exports.values_contactFields = exports.keys = exports.id = exports.key = exports.contactKeyAPIEvent = exports.contactKey = void 0;
3
+ exports.columns = exports.description = exports.name = exports.dataExtensionId = exports.dataExtensionKey = exports.operation = exports.categoryId = exports.batch_size = exports.enable_batching = exports.eventData = exports.eventDefinitionKey = exports.values_dataExtensionFields = exports.values_contactFields = exports.keys = exports.id = exports.key = exports.contactKeyAPIEvent = exports.contactKey = void 0;
4
4
  exports.contactKey = {
5
5
  label: 'Contact Key',
6
6
  description: 'The unique identifier that you assign to a contact. This will be used to create a contact if one does not already exist with this Contact Key.',
@@ -15,14 +15,16 @@ exports.contactKeyAPIEvent = {
15
15
  required: true
16
16
  };
17
17
  exports.key = {
18
- label: 'Data Extension Key',
19
- description: 'The external key of the data extension that you want to store information in. The data extension must be predefined in SFMC. The external key is required if a Data Extension ID is not provided.',
20
- type: 'string'
18
+ label: 'DEPRECATED: Data Extension Key',
19
+ description: 'Note: This field should be considered deprecated in favor of the hook input field "Data Extension ID". For backwards compatibility the field will not be deleted, and is instead hidden. The external key of the data extension that you want to store information in. The data extension must be predefined in SFMC. The external key is required if a Data Extension ID is not provided.',
20
+ type: 'string',
21
+ unsafe_hidden: true
21
22
  };
22
23
  exports.id = {
23
- label: 'Data Extension ID',
24
- description: 'The ID of the data extension that you want to store information in. The data extension must be predefined in SFMC. The ID is required if a Data Extension Key is not provided.',
25
- type: 'string'
24
+ label: 'DEPRECATED: Data Extension ID',
25
+ description: 'Note: This field should be considered deprecated in favor of the hook input field "Data Extension ID". For backwards compatibility the field will not be deleted, and is instead hidden. The ID of the data extension that you want to store information in. The data extension must be predefined in SFMC. The ID is required if a Data Extension Key is not provided.',
26
+ type: 'string',
27
+ unsafe_hidden: true
26
28
  };
27
29
  exports.keys = {
28
30
  label: 'Data Extension Primary Keys',
@@ -30,7 +32,8 @@ exports.keys = {
30
32
  type: 'object',
31
33
  required: true,
32
34
  defaultObjectUI: 'keyvalue:only',
33
- additionalProperties: true
35
+ additionalProperties: true,
36
+ dynamic: true
34
37
  };
35
38
  exports.values_contactFields = {
36
39
  label: 'Contact Fields',
@@ -72,4 +75,102 @@ exports.batch_size = {
72
75
  unsafe_hidden: true,
73
76
  default: 10
74
77
  };
78
+ const CREATE_OPERATION = {
79
+ match: 'all',
80
+ conditions: [{ fieldKey: 'operation', operator: 'is', value: 'create' }]
81
+ };
82
+ const SELECT_OPERATION = {
83
+ match: 'all',
84
+ conditions: [{ fieldKey: 'operation', operator: 'is', value: 'select' }]
85
+ };
86
+ exports.categoryId = {
87
+ label: 'Category ID (Folder ID)',
88
+ description: 'The identifier for the folder that contains the data extension.',
89
+ type: 'string',
90
+ required: CREATE_OPERATION,
91
+ depends_on: CREATE_OPERATION
92
+ };
93
+ exports.operation = {
94
+ label: 'Operation',
95
+ description: 'Whether to create a new data extension or select an existing one for data delivery.',
96
+ type: 'string',
97
+ choices: [
98
+ { label: 'Create a new Data Extension', value: 'create' },
99
+ { label: 'Select an existing Data Extension', value: 'select' }
100
+ ],
101
+ required: true
102
+ };
103
+ exports.dataExtensionKey = {
104
+ label: 'Data Extension Key',
105
+ description: 'The external key of the data extension.',
106
+ type: 'string',
107
+ depends_on: SELECT_OPERATION
108
+ };
109
+ exports.dataExtensionId = {
110
+ label: 'Data Extension ID',
111
+ description: 'The identifier for the data extension.',
112
+ type: 'string',
113
+ depends_on: SELECT_OPERATION
114
+ };
115
+ exports.name = {
116
+ label: 'Data Extension Name',
117
+ description: 'The name of the data extension.',
118
+ type: 'string',
119
+ required: CREATE_OPERATION,
120
+ depends_on: CREATE_OPERATION
121
+ };
122
+ exports.description = {
123
+ label: 'Data Extension Description',
124
+ description: 'The description of the data extension.',
125
+ type: 'string',
126
+ depends_on: CREATE_OPERATION
127
+ };
128
+ exports.columns = {
129
+ label: 'Data Extension Fields',
130
+ description: 'A list of fields to create in the data extension.',
131
+ type: 'object',
132
+ multiple: true,
133
+ defaultObjectUI: 'arrayeditor',
134
+ additionalProperties: true,
135
+ required: CREATE_OPERATION,
136
+ depends_on: CREATE_OPERATION,
137
+ properties: {
138
+ name: {
139
+ label: 'Field Name',
140
+ description: 'The name of the field.',
141
+ type: 'string',
142
+ required: true
143
+ },
144
+ type: {
145
+ label: 'Field Type',
146
+ description: 'The data type of the field.',
147
+ type: 'string',
148
+ required: true,
149
+ choices: ['Text', 'Number', 'Date', 'Boolean', 'Email', 'Phone', 'Decimal', 'Locale']
150
+ },
151
+ isNullable: {
152
+ label: 'Is Nullable',
153
+ description: 'Whether the field can be null.',
154
+ type: 'boolean',
155
+ required: true
156
+ },
157
+ isPrimaryKey: {
158
+ label: 'Is Primary Key',
159
+ description: 'Whether the field is a primary key.',
160
+ type: 'boolean',
161
+ required: true
162
+ },
163
+ length: {
164
+ label: 'Field Length',
165
+ description: 'The length of the field.',
166
+ type: 'integer',
167
+ required: true
168
+ },
169
+ description: {
170
+ label: 'Field Description',
171
+ description: 'The description of the field.',
172
+ type: 'string'
173
+ }
174
+ }
175
+ };
75
176
  //# sourceMappingURL=sfmc-properties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sfmc-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,gJAAgJ;IAClJ,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;CACjC,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,kEAAkE;IAC/E,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,GAAG,GAAe;IAC7B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,mMAAmM;IACrM,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,EAAE,GAAe;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,gLAAgL;IAClL,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,IAAI,GAAe;IAC9B,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,sVAAsV;IACxV,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,IAAI;CAC3B,CAAA;AAEY,QAAA,oBAAoB,GAAe;IAC9C,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,iWAAiW;IACnW,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,0BAA0B,GAAe;IACpD,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EACT,iXAAiX;IACnX,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,wHAAwH;IAC1H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,6SAA6S;IAC/S,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;CACjC,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,qEAAqE;IAClF,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;CACf,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;IAMnB,OAAO,EAAE,EAAE;CACZ,CAAA"}
1
+ {"version":3,"file":"sfmc-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-properties.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.366.1-staging-dd68967de.0",
4
+ "version": "3.366.1-staging-73ccee21f.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -88,5 +88,5 @@
88
88
  "__tests__/__helpers__/"
89
89
  ]
90
90
  },
91
- "gitHead": "28e59d1b0cf57ab44ab202f0e07f94cff04d0fe6"
91
+ "gitHead": "30712c14dafcf40d0ccdef6589e3134703f21862"
92
92
  }