@segment/action-destinations 3.378.0 → 3.380.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 (65) hide show
  1. package/dist/destinations/algolia-insights/conversionEvents/index.d.ts +2 -1
  2. package/dist/destinations/algolia-insights/conversionEvents/index.js +141 -133
  3. package/dist/destinations/algolia-insights/conversionEvents/index.js.map +1 -1
  4. package/dist/destinations/algolia-insights/index.js +2 -2
  5. package/dist/destinations/algolia-insights/index.js.map +1 -1
  6. package/dist/destinations/algolia-insights/productAddedEvents/index.d.ts +1 -2
  7. package/dist/destinations/algolia-insights/productAddedEvents/index.js +3 -11
  8. package/dist/destinations/algolia-insights/productAddedEvents/index.js.map +1 -1
  9. package/dist/destinations/amazon-eventbridge/functions.js +5 -0
  10. package/dist/destinations/amazon-eventbridge/functions.js.map +1 -1
  11. package/dist/destinations/amazon-eventbridge/send/index.js +2 -1
  12. package/dist/destinations/amazon-eventbridge/send/index.js.map +1 -1
  13. package/dist/destinations/braze-cohorts/syncAudiences/index.js +1 -0
  14. package/dist/destinations/braze-cohorts/syncAudiences/index.js.map +1 -1
  15. package/dist/destinations/criteo-audiences/generated-types.d.ts +1 -0
  16. package/dist/destinations/criteo-audiences/index.js +7 -0
  17. package/dist/destinations/criteo-audiences/index.js.map +1 -1
  18. package/dist/destinations/google-enhanced-conversions/functions.js +1 -1
  19. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
  20. package/dist/destinations/index.js +1 -0
  21. package/dist/destinations/index.js.map +1 -1
  22. package/dist/destinations/klaviyo/functions.js +20 -5
  23. package/dist/destinations/klaviyo/functions.js.map +1 -1
  24. package/dist/destinations/klaviyo/types.d.ts +15 -0
  25. package/dist/destinations/salesforce/sf-operations.js +21 -6
  26. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  27. package/dist/destinations/salesforce/sf-utils.d.ts +6 -1
  28. package/dist/destinations/salesforce/sf-utils.js +18 -3
  29. package/dist/destinations/salesforce/sf-utils.js.map +1 -1
  30. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/generated-types.d.ts +59 -0
  31. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/generated-types.js +3 -0
  32. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/generated-types.js.map +1 -0
  33. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/index.d.ts +5 -0
  34. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/index.js +68 -0
  35. package/dist/destinations/salesforce-marketing-cloud/contactDataExtensionV2/index.js.map +1 -0
  36. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/generated-types.d.ts +58 -0
  37. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/generated-types.js +3 -0
  38. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/generated-types.js.map +1 -0
  39. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/index.d.ts +5 -0
  40. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/index.js +53 -0
  41. package/dist/destinations/salesforce-marketing-cloud/dataExtensionV2/index.js.map +1 -0
  42. package/dist/destinations/salesforce-marketing-cloud/index.js +5 -1
  43. package/dist/destinations/salesforce-marketing-cloud/index.js.map +1 -1
  44. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +12 -2
  45. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +352 -3
  46. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  47. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.d.ts +2 -0
  48. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js +156 -1
  49. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js.map +1 -1
  50. package/dist/destinations/twilio-messaging-omnichannel/generated-types.d.ts +4 -0
  51. package/dist/destinations/twilio-messaging-omnichannel/generated-types.js +3 -0
  52. package/dist/destinations/twilio-messaging-omnichannel/generated-types.js.map +1 -0
  53. package/dist/destinations/twilio-messaging-omnichannel/index.d.ts +4 -0
  54. package/dist/destinations/twilio-messaging-omnichannel/index.js +43 -0
  55. package/dist/destinations/twilio-messaging-omnichannel/index.js.map +1 -0
  56. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/fields.d.ts +2 -0
  57. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/fields.js +255 -0
  58. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/fields.js.map +1 -0
  59. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/generated-types.d.ts +42 -0
  60. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/generated-types.js +3 -0
  61. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/generated-types.js.map +1 -0
  62. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/index.d.ts +5 -0
  63. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/index.js +13 -0
  64. package/dist/destinations/twilio-messaging-omnichannel/sendMessage/index.js.map +1 -0
  65. package/package.json +4 -4
@@ -0,0 +1,58 @@
1
+ export interface Payload {
2
+ keys: {
3
+ [k: string]: unknown;
4
+ };
5
+ values: {
6
+ [k: string]: unknown;
7
+ };
8
+ enable_batching?: boolean;
9
+ batch_size?: number;
10
+ }
11
+ export interface RetlOnMappingSaveInputs {
12
+ operation: string;
13
+ dataExtensionId?: string;
14
+ categoryId?: string;
15
+ name?: string;
16
+ description?: string;
17
+ isSendable?: boolean;
18
+ sendableCustomObjectField?: string;
19
+ sendableSubscriberField?: string;
20
+ columns?: {
21
+ name: string;
22
+ type: string;
23
+ isNullable: boolean;
24
+ isPrimaryKey: boolean;
25
+ length?: number;
26
+ scale?: number;
27
+ description?: string;
28
+ [k: string]: unknown;
29
+ }[];
30
+ }
31
+ export interface RetlOnMappingSaveOutputs {
32
+ id: string;
33
+ name: string;
34
+ }
35
+ export interface OnMappingSaveInputs {
36
+ operation: string;
37
+ dataExtensionId?: string;
38
+ categoryId?: string;
39
+ name?: string;
40
+ description?: string;
41
+ isSendable?: boolean;
42
+ sendableCustomObjectField?: string;
43
+ sendableSubscriberField?: string;
44
+ columns?: {
45
+ name: string;
46
+ type: string;
47
+ isNullable: boolean;
48
+ isPrimaryKey: boolean;
49
+ length?: number;
50
+ scale?: number;
51
+ description?: string;
52
+ [k: string]: unknown;
53
+ }[];
54
+ }
55
+ export interface OnMappingSaveOutputs {
56
+ id: string;
57
+ name: string;
58
+ }
@@ -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/salesforce-marketing-cloud/dataExtensionV2/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,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const sfmc_properties_1 = require("../sfmc-properties");
5
+ const sfmc_operations_1 = require("../sfmc-operations");
6
+ const action = {
7
+ title: 'Send Event to Data Extension (V2)',
8
+ description: 'Upsert events as rows into an existing data extension in Salesforce Marketing Cloud.',
9
+ fields: {
10
+ keys: { ...sfmc_properties_1.keys, required: true, dynamic: true },
11
+ values: { ...sfmc_properties_1.values_dataExtensionFields, dynamic: true },
12
+ enable_batching: sfmc_properties_1.enable_batching,
13
+ batch_size: sfmc_properties_1.batch_size
14
+ },
15
+ dynamicFields: {
16
+ keys: {
17
+ __keys__: async (request, { settings, payload }) => {
18
+ const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
19
+ return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, true);
20
+ }
21
+ },
22
+ values: {
23
+ __keys__: async (request, { settings, payload }) => {
24
+ const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
25
+ return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, false);
26
+ }
27
+ }
28
+ },
29
+ hooks: {
30
+ retlOnMappingSave: {
31
+ ...sfmc_properties_1.dataExtensionHook
32
+ },
33
+ onMappingSave: {
34
+ ...sfmc_properties_1.dataExtensionHook
35
+ }
36
+ },
37
+ perform: async (request, { settings, payload, hookOutputs }) => {
38
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs?.id || hookOutputs?.retlOnMappingSave?.outputs?.id;
39
+ if (!dataExtensionId) {
40
+ throw new actions_core_1.IntegrationError('No Data Extension Connected', 'INVALID_CONFIGURATION', 400);
41
+ }
42
+ return (0, sfmc_operations_1.upsertRowsV2)(request, settings.subdomain, [payload], dataExtensionId);
43
+ },
44
+ performBatch: async (request, { settings, payload, hookOutputs }) => {
45
+ const dataExtensionId = hookOutputs?.onMappingSave?.outputs?.id || hookOutputs?.retlOnMappingSave?.outputs?.id;
46
+ if (!dataExtensionId) {
47
+ throw new actions_core_1.IntegrationError('No Data Extension Connected', 'INVALID_CONFIGURATION', 400);
48
+ }
49
+ return (0, sfmc_operations_1.executeUpsertWithMultiStatus)(request, settings.subdomain, payload, dataExtensionId);
50
+ }
51
+ };
52
+ exports.default = action;
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/dataExtensionV2/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,wDAAqH;AACrH,wDAAuG;AAEvG,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,sFAAsF;IACnG,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,GAAG,sBAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QAChD,MAAM,EAAE,EAAE,GAAG,4CAA0B,EAAE,OAAO,EAAE,IAAI,EAAE;QACxD,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,aAAa,EAAE;QACb,IAAI,EAAE;YACJ,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;gBACjD,MAAM,eAAe,GAClB,OAAe,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,IAAK,OAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA;gBACtG,OAAO,MAAM,IAAA,wCAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;YACnG,CAAC;SACF;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;gBACjD,MAAM,eAAe,GAClB,OAAe,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,IAAK,OAAe,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA;gBACtG,OAAO,MAAM,IAAA,wCAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;YACpG,CAAC;SACF;KACF;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE;YACjB,GAAG,mCAAiB;SACrB;QACD,aAAa,EAAE;YACb,GAAG,mCAAiB;SACrB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QAC7D,MAAM,eAAe,GACnB,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,IAAI,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAA;QAExF,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,+BAAgB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAA;SACxF;QAED,OAAO,IAAA,8BAAY,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAA;IAC9E,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QAClE,MAAM,eAAe,GACnB,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,IAAI,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAA;QAExF,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,+BAAgB,CAAC,6BAA6B,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAA;SACxF;QAED,OAAO,IAAA,8CAA4B,EAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;IAC5F,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -7,6 +7,8 @@ const contact_1 = __importDefault(require("./contact"));
7
7
  const dataExtension_1 = __importDefault(require("./dataExtension"));
8
8
  const contactDataExtension_1 = __importDefault(require("./contactDataExtension"));
9
9
  const apiEvent_1 = __importDefault(require("./apiEvent"));
10
+ const dataExtensionV2_1 = __importDefault(require("./dataExtensionV2"));
11
+ const contactDataExtensionV2_1 = __importDefault(require("./contactDataExtensionV2"));
10
12
  const destination = {
11
13
  name: 'Salesforce Marketing Cloud (Actions)',
12
14
  slug: 'actions-salesforce-marketing-cloud',
@@ -64,7 +66,9 @@ const destination = {
64
66
  contact: contact_1.default,
65
67
  dataExtension: dataExtension_1.default,
66
68
  contactDataExtension: contactDataExtension_1.default,
67
- apiEvent: apiEvent_1.default
69
+ apiEvent: apiEvent_1.default,
70
+ dataExtensionV2: dataExtensionV2_1.default,
71
+ contactDataExtensionV2: contactDataExtensionV2_1.default
68
72
  }
69
73
  };
70
74
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAA+B;AAC/B,oEAA2C;AAC3C,kFAAyD;AACzD,0DAAiC;AAMjC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,0aAA0a;gBAC5a,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,mOAAmO;gBACrO,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,6NAA6N;gBAC/N,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,sIAAsI;gBACxI,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,SAAS,uCAAuC,CAAA;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,oBAAoB;iBACjC,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,OAAO,EAAP,iBAAO;QACP,aAAa,EAAb,uBAAa;QACb,oBAAoB,EAApB,8BAAoB;QACpB,QAAQ,EAAR,kBAAQ;KACT;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAA+B;AAC/B,oEAA2C;AAC3C,kFAAyD;AACzD,0DAAiC;AAIjC,wEAA+C;AAC/C,sFAA6D;AAM7D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,0aAA0a;gBAC5a,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,mOAAmO;gBACrO,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,6NAA6N;gBAC/N,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,sIAAsI;gBACxI,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,SAAS,uCAAuC,CAAA;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,oBAAoB;iBACjC,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,OAAO,EAAP,iBAAO;QACP,aAAa,EAAb,uBAAa;QACb,oBAAoB,EAApB,8BAAoB;QACpB,QAAQ,EAAR,kBAAQ;QACR,eAAe,EAAf,yBAAe;QACf,sBAAsB,EAAtB,gCAAsB;KACvB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,5 +1,15 @@
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
+ import { OnMappingSaveInputs } from './dataExtensionV2/generated-types';
5
+ import { Settings } from './generated-types';
4
6
  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>;
7
+ export declare function upsertRowsV2(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId: string): Promise<ModifiedResponse<unknown>>;
8
+ export declare function executeUpsertWithMultiStatus(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId?: string): Promise<MultiStatusResponse>;
9
+ export declare const selectOrCreateDataExtension: (request: RequestClient, subdomain: string, hookInputs: OnMappingSaveInputs, settings: Settings) => Promise<ActionHookResponse<{
10
+ id: string;
11
+ name: string;
12
+ }>>;
13
+ export declare const getDataExtensions: (request: RequestClient, subdomain: string, settings: Settings, query?: string) => Promise<DynamicFieldResponse>;
14
+ export declare const getDataExtensionFields: (request: RequestClient, subdomain: string, settings: Settings, dataExtensionID: string, primaryKey: boolean) => Promise<DynamicFieldResponse>;
15
+ export declare const getCategories: (request: RequestClient, settings: Settings) => Promise<DynamicFieldResponse>;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeUpsertWithMultiStatus = exports.upsertRows = void 0;
3
+ exports.getCategories = exports.getDataExtensionFields = exports.getDataExtensions = exports.selectOrCreateDataExtension = exports.executeUpsertWithMultiStatus = exports.upsertRowsV2 = exports.upsertRows = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
+ const xml_js_1 = require("xml-js");
5
6
  function generateRows(payloads) {
6
7
  const rows = [];
7
8
  payloads.forEach((payload) => {
@@ -32,12 +33,28 @@ function upsertRows(request, subdomain, payloads) {
32
33
  }
33
34
  }
34
35
  exports.upsertRows = upsertRows;
35
- async function executeUpsertWithMultiStatus(request, subdomain, payloads) {
36
+ function upsertRowsV2(request, subdomain, payloads, dataExtensionId) {
37
+ if (!dataExtensionId) {
38
+ throw new actions_core_1.IntegrationError(`In order to send an event to a data extension Data Extension ID must be defined.`, 'Misconfigured required field', 400);
39
+ }
40
+ const rows = generateRows(payloads);
41
+ return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${dataExtensionId}/rowset`, {
42
+ method: 'POST',
43
+ json: rows
44
+ });
45
+ }
46
+ exports.upsertRowsV2 = upsertRowsV2;
47
+ async function executeUpsertWithMultiStatus(request, subdomain, payloads, dataExtensionId) {
36
48
  const multiStatusResponse = new actions_core_1.MultiStatusResponse();
37
49
  let response;
38
50
  const rows = generateRows(payloads);
39
51
  try {
40
- response = await upsertRows(request, subdomain, payloads);
52
+ if (dataExtensionId) {
53
+ response = await upsertRowsV2(request, subdomain, payloads, dataExtensionId);
54
+ }
55
+ else {
56
+ response = await upsertRows(request, subdomain, payloads);
57
+ }
41
58
  if (response) {
42
59
  const responseData = response.data;
43
60
  payloads.forEach((_, index) => {
@@ -80,4 +97,336 @@ async function executeUpsertWithMultiStatus(request, subdomain, payloads) {
80
97
  return multiStatusResponse;
81
98
  }
82
99
  exports.executeUpsertWithMultiStatus = executeUpsertWithMultiStatus;
100
+ const getAccessToken = async (request, settings) => {
101
+ const baseUrl = `https://${settings.subdomain}.auth.marketingcloudapis.com/v2/token`;
102
+ const res = await request(`${baseUrl}`, {
103
+ method: 'POST',
104
+ body: new URLSearchParams({
105
+ account_id: settings.account_id,
106
+ client_id: settings.client_id,
107
+ client_secret: settings.client_secret,
108
+ grant_type: 'client_credentials'
109
+ })
110
+ });
111
+ return { accessToken: res.data.access_token, soapInstanceUrl: res.data.soap_instance_url };
112
+ };
113
+ const dataExtensionRequest = async (request, hookInputs, auth) => {
114
+ if (!hookInputs) {
115
+ return { id: '', key: '', error: 'No inputs provided' };
116
+ }
117
+ if (!hookInputs.columns) {
118
+ return { id: '', key: '', error: 'No columns provided' };
119
+ }
120
+ const fields = hookInputs.columns.map((column, i) => {
121
+ return {
122
+ name: column.name,
123
+ type: column.type,
124
+ isNullable: column.isNullable,
125
+ isPrimaryKey: column.isPrimaryKey,
126
+ length: column.length,
127
+ scale: column.scale,
128
+ description: column.description || '',
129
+ ordinal: i,
130
+ isTemplateField: false,
131
+ isHidden: false,
132
+ isReadOnly: false,
133
+ isInheritable: false,
134
+ isOverridable: false,
135
+ mustOverride: false
136
+ };
137
+ });
138
+ try {
139
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects`, {
140
+ method: 'POST',
141
+ json: {
142
+ name: hookInputs.name,
143
+ description: hookInputs.description,
144
+ categoryId: hookInputs.categoryId,
145
+ isSendable: hookInputs.isSendable,
146
+ sendableCustomObjectField: hookInputs.sendableCustomObjectField,
147
+ sendableSubscriberField: hookInputs.sendableSubscriberField,
148
+ fields
149
+ },
150
+ headers: {
151
+ authorization: `Bearer ${auth.accessToken}`
152
+ }
153
+ });
154
+ if (response.status !== 201) {
155
+ return { id: '', key: '', error: `Failed to create Data Extension` };
156
+ }
157
+ return {
158
+ id: response.data.id,
159
+ key: response.data.key
160
+ };
161
+ }
162
+ catch (error) {
163
+ return { id: '', key: '', error: error.response.data.message };
164
+ }
165
+ };
166
+ async function createDataExtension(request, subdomain, hookInputs, settings) {
167
+ if (!hookInputs) {
168
+ return {
169
+ error: { message: 'No inputs provided', code: 'ERROR' }
170
+ };
171
+ }
172
+ const { accessToken } = await getAccessToken(request, settings);
173
+ const { id, key, error } = await dataExtensionRequest(request, hookInputs, { subdomain, accessToken });
174
+ if (error || !id || !key) {
175
+ return {
176
+ error: { message: error || 'Unknown Error', code: 'ERROR' }
177
+ };
178
+ }
179
+ return {
180
+ successMessage: `Data Extension ${hookInputs.name} created successfully with External Key ${key}`,
181
+ savedData: {
182
+ id,
183
+ name: hookInputs.name
184
+ }
185
+ };
186
+ }
187
+ const selectDataExtensionRequest = async (request, hookInputs, auth) => {
188
+ if (!hookInputs) {
189
+ return { id: '', name: '', error: 'No inputs provided' };
190
+ }
191
+ if (!hookInputs.dataExtensionId) {
192
+ return { id: '', name: '', error: 'No Data Extension Id provided' };
193
+ }
194
+ try {
195
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/${hookInputs.dataExtensionId}`, {
196
+ method: 'GET',
197
+ headers: {
198
+ authorization: `Bearer ${auth.accessToken}`
199
+ }
200
+ });
201
+ if (response.status !== 200) {
202
+ return { id: '', name: '', error: `Failed to select Data Extension` };
203
+ }
204
+ return {
205
+ id: response.data.id,
206
+ name: response.data.name
207
+ };
208
+ }
209
+ catch (err) {
210
+ const errorCode = typeof err.response.data.errorcode === 'number'
211
+ ? err.response.data.errorcode.toString()
212
+ : err.response.data.errorcode;
213
+ const errorMessage = err.response.data.message;
214
+ if (errorCode === '20002') {
215
+ return {
216
+ id: hookInputs.dataExtensionId,
217
+ name: 'Unknown (Insufficient Authentication Error)',
218
+ error: `${errorMessage} To resolve this authentication issue refer to the required permissions under 'Getting Started' in the documentation at https://segment.com/docs/connections/destinations/catalog/actions-salesforce-marketing-cloud/`
219
+ };
220
+ }
221
+ return { id: '', name: '', error: err.response.data.message };
222
+ }
223
+ };
224
+ async function selectDataExtension(request, subdomain, hookInputs, settings) {
225
+ if (!hookInputs) {
226
+ return {
227
+ error: { message: 'No inputs provided', code: 'ERROR' }
228
+ };
229
+ }
230
+ const { accessToken } = await getAccessToken(request, settings);
231
+ const { id, name, error } = await selectDataExtensionRequest(request, hookInputs, { subdomain, accessToken });
232
+ if (error && id) {
233
+ return {
234
+ error: { message: error, code: 'Authentication Error' },
235
+ savedData: { id, name: name }
236
+ };
237
+ }
238
+ if (error || !id) {
239
+ return {
240
+ error: { message: error || 'Unknown Error', code: 'ERROR' }
241
+ };
242
+ }
243
+ return {
244
+ successMessage: `Data Extension ${name} selected successfully with External ID ${id}`,
245
+ savedData: {
246
+ id,
247
+ name: name
248
+ }
249
+ };
250
+ }
251
+ const selectOrCreateDataExtension = async (request, subdomain, hookInputs, settings) => {
252
+ if (hookInputs.operation === 'create') {
253
+ return await createDataExtension(request, subdomain, hookInputs, settings);
254
+ }
255
+ else if (hookInputs.operation === 'select') {
256
+ return await selectDataExtension(request, subdomain, hookInputs, settings);
257
+ }
258
+ return {
259
+ error: { message: 'Invalid operation', code: 'ERROR' }
260
+ };
261
+ };
262
+ exports.selectOrCreateDataExtension = selectOrCreateDataExtension;
263
+ const getDataExtensionsRequest = async (request, searchQuery, auth) => {
264
+ try {
265
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects`, {
266
+ method: 'get',
267
+ searchParams: {
268
+ $search: searchQuery
269
+ },
270
+ headers: {
271
+ authorization: `Bearer ${auth.accessToken}`
272
+ }
273
+ });
274
+ if (response.status !== 200) {
275
+ return { error: { message: 'Failed to fetch Data Extensions', code: 'BAD_REQUEST' } };
276
+ }
277
+ const choices = response.data.items;
278
+ return {
279
+ results: choices.map((choice) => {
280
+ return {
281
+ value: choice.id,
282
+ label: choice.name
283
+ };
284
+ })
285
+ };
286
+ }
287
+ catch (err) {
288
+ const errorCode = typeof err.response.data.errorcode === 'number'
289
+ ? err.response.data.errorcode.toString()
290
+ : err.response.data.errorcode;
291
+ const errorMessage = err.response.data.message;
292
+ if (errorCode === '20002') {
293
+ return {
294
+ error: {
295
+ message: `${errorMessage}. Please input a data extension ID manually to configure your mapping. To resolve this authentication issue refer to the required permissions under 'Getting Started' in the documentation at https://segment.com/docs/connections/destinations/catalog/actions-salesforce-marketing-cloud/`,
296
+ code: errorCode
297
+ }
298
+ };
299
+ }
300
+ return { error: { message: err.response.data.message, code: errorCode || 'BAD_REQUEST' } };
301
+ }
302
+ };
303
+ const getDataExtensions = async (request, subdomain, settings, query) => {
304
+ let searchQuery = '_';
305
+ if (query && query !== '') {
306
+ searchQuery = query;
307
+ }
308
+ const { accessToken } = await getAccessToken(request, settings);
309
+ const { results, error } = await getDataExtensionsRequest(request, searchQuery, { subdomain, accessToken });
310
+ if (error) {
311
+ return {
312
+ choices: [],
313
+ error: error
314
+ };
315
+ }
316
+ if (!results || (Array.isArray(results) && results.length === 0)) {
317
+ return {
318
+ choices: [],
319
+ error: { message: 'No Data Extensions found', code: 'NOT_FOUND' }
320
+ };
321
+ }
322
+ return {
323
+ choices: results
324
+ };
325
+ };
326
+ exports.getDataExtensions = getDataExtensions;
327
+ const getDataExtensionFieldsRequest = async (request, dataExtensionId, auth, primaryKey) => {
328
+ try {
329
+ const response = await request(`https://${auth.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/${dataExtensionId}/fields`, {
330
+ method: 'GET',
331
+ headers: {
332
+ authorization: `Bearer ${auth.accessToken}`
333
+ }
334
+ });
335
+ if (response.status !== 200) {
336
+ return { error: { message: 'Failed to fetch Data Extension fields', code: 'BAD_REQUEST' } };
337
+ }
338
+ const filteredItems = response.data.fields.filter((field) => field.isPrimaryKey === primaryKey);
339
+ const choices = filteredItems.map((field) => {
340
+ return { value: field.name, label: field.name };
341
+ });
342
+ return { results: choices };
343
+ }
344
+ catch (err) {
345
+ return { error: { message: err.response.data.message, code: 'BAD_REQUEST' } };
346
+ }
347
+ };
348
+ const getDataExtensionFields = async (request, subdomain, settings, dataExtensionID, primaryKey) => {
349
+ if (!dataExtensionID) {
350
+ return { choices: [], error: { message: 'No Data Extension ID provided', code: 'BAD_REQUEST' } };
351
+ }
352
+ const { accessToken } = await getAccessToken(request, settings);
353
+ const { results, error } = await getDataExtensionFieldsRequest(request, dataExtensionID, { subdomain, accessToken }, primaryKey);
354
+ if (error) {
355
+ return {
356
+ choices: [],
357
+ error: error
358
+ };
359
+ }
360
+ if (!results || (Array.isArray(results) && results.length === 0)) {
361
+ return {
362
+ choices: [],
363
+ error: { message: 'No Data Extension fields found', code: 'NOT_FOUND' }
364
+ };
365
+ }
366
+ return {
367
+ choices: results
368
+ };
369
+ };
370
+ exports.getDataExtensionFields = getDataExtensionFields;
371
+ const getCategoriesRequest = async (request, auth) => {
372
+ try {
373
+ const response = await request(`${auth.soapInstanceUrl}/Service.asmx`, {
374
+ method: 'POST',
375
+ headers: {
376
+ 'Content-Type': 'text/xml',
377
+ SOAPAction: 'Retrieve'
378
+ },
379
+ body: `<?xml version="1.0" encoding="UTF-8"?>
380
+ <SOAP-ENV:Envelope
381
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
382
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
383
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
384
+ <SOAP-ENV:Header>
385
+ <fueloauth xmlns="http://exacttarget.com">${auth.accessToken}</fueloauth>
386
+ </SOAP-ENV:Header>
387
+ <SOAP-ENV:Body>
388
+ <RetrieveRequestMsg
389
+ xmlns="http://exacttarget.com/wsdl/partnerAPI">
390
+ <RetrieveRequest>
391
+ <ObjectType>DataFolder</ObjectType>
392
+ <Properties>ID</Properties>
393
+ <Properties>Name</Properties>
394
+ <Properties>ContentType</Properties>
395
+ </RetrieveRequest>
396
+ </RetrieveRequestMsg>
397
+ </SOAP-ENV:Body>
398
+ </SOAP-ENV:Envelope>
399
+ `
400
+ });
401
+ const convert = (0, xml_js_1.xml2js)(response.content, { compact: true });
402
+ const items = convert['soap:Envelope']['soap:Body']['RetrieveResponseMsg']['Results'].map((item) => {
403
+ const type = item.ContentType._text;
404
+ return {
405
+ label: item.Name._text,
406
+ value: item.ID._text,
407
+ description: `ContentType: ${type}`
408
+ };
409
+ });
410
+ return {
411
+ results: items
412
+ };
413
+ }
414
+ catch (err) {
415
+ return { error: { message: err.response.data.message, code: 'BAD_REQUEST' } };
416
+ }
417
+ };
418
+ const getCategories = async (request, settings) => {
419
+ const { accessToken, soapInstanceUrl } = await getAccessToken(request, settings);
420
+ const { results, error } = await getCategoriesRequest(request, { soapInstanceUrl, accessToken });
421
+ if (error) {
422
+ return {
423
+ choices: [],
424
+ error: error
425
+ };
426
+ }
427
+ return {
428
+ choices: results || []
429
+ };
430
+ };
431
+ exports.getCategories = getCategories;
83
432
  //# 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,3 +1,4 @@
1
+ import { ActionHookDefinition } from '@segment/actions-core/destination-kit';
1
2
  import { InputField } from '@segment/actions-core/destination-kit/types';
2
3
  export declare const contactKey: InputField;
3
4
  export declare const contactKeyAPIEvent: InputField;
@@ -10,3 +11,4 @@ export declare const eventDefinitionKey: InputField;
10
11
  export declare const eventData: InputField;
11
12
  export declare const enable_batching: InputField;
12
13
  export declare const batch_size: InputField;
14
+ export declare const dataExtensionHook: ActionHookDefinition<any, any, any, any, any>;