@segment/action-destinations 3.182.1-CONMAN-576.1 → 3.183.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 (126) hide show
  1. package/dist/destinations/app-fit/config.d.ts +3 -0
  2. package/dist/destinations/app-fit/config.js +7 -0
  3. package/dist/destinations/app-fit/config.js.map +1 -0
  4. package/dist/destinations/app-fit/generated-types.d.ts +3 -0
  5. package/dist/destinations/app-fit/generated-types.js +3 -0
  6. package/dist/destinations/app-fit/generated-types.js.map +1 -0
  7. package/dist/destinations/app-fit/index.d.ts +4 -0
  8. package/dist/destinations/app-fit/index.js +39 -0
  9. package/dist/destinations/app-fit/index.js.map +1 -0
  10. package/dist/destinations/app-fit/track/generated-types.d.ts +13 -0
  11. package/dist/destinations/app-fit/track/generated-types.js +3 -0
  12. package/dist/destinations/app-fit/track/generated-types.js.map +1 -0
  13. package/dist/destinations/app-fit/track/index.d.ts +5 -0
  14. package/dist/destinations/app-fit/track/index.js +109 -0
  15. package/dist/destinations/app-fit/track/index.js.map +1 -0
  16. package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.d.ts +1 -0
  17. package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.js +3 -0
  18. package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.js.map +1 -0
  19. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.d.ts +46 -0
  20. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.js +46 -0
  21. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.js.map +1 -0
  22. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.d.ts +12 -0
  23. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.js +23 -0
  24. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.js.map +1 -0
  25. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.d.ts +12 -0
  26. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.js +35 -0
  27. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.js.map +1 -0
  28. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.d.ts +10 -0
  29. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.js +29 -0
  30. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.js.map +1 -0
  31. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.d.ts +30 -0
  32. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.js +107 -0
  33. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.js.map +1 -0
  34. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.d.ts +39 -0
  35. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.js +130 -0
  36. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.js.map +1 -0
  37. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.d.ts +1 -0
  38. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.js +377 -0
  39. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.js.map +1 -0
  40. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.d.ts +23 -0
  41. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.js +49 -0
  42. package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.js.map +1 -0
  43. package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.d.ts +6 -0
  44. package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.js +3 -0
  45. package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.js.map +1 -0
  46. package/dist/destinations/engage-messaging-twilio/operationTracking/index.d.ts +10 -0
  47. package/dist/destinations/engage-messaging-twilio/operationTracking/index.js +23 -0
  48. package/dist/destinations/engage-messaging-twilio/operationTracking/index.js.map +1 -0
  49. package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.d.ts +21 -0
  50. package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.js +99 -0
  51. package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.js.map +1 -0
  52. package/dist/destinations/engage-messaging-twilio/sendMobilePush/generated-types.d.ts +1 -1
  53. package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js +7 -25
  54. package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js.map +1 -1
  55. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.d.ts +1 -1
  56. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js +31 -25
  57. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js.map +1 -1
  58. package/dist/destinations/engage-messaging-twilio/sendSms/index.js +1 -1
  59. package/dist/destinations/engage-messaging-twilio/sendSms/index.js.map +1 -1
  60. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.d.ts +1 -1
  61. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js +20 -10
  62. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js.map +1 -1
  63. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/index.js +1 -1
  64. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/index.js.map +1 -1
  65. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.d.ts +1 -1
  66. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js +42 -36
  67. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js.map +1 -1
  68. package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.d.ts +12 -0
  69. package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.js +31 -0
  70. package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.js.map +1 -0
  71. package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.d.ts +15 -0
  72. package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.js +36 -0
  73. package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.js.map +1 -0
  74. package/dist/destinations/engage-messaging-twilio/utils/MessageStats.d.ts +14 -0
  75. package/dist/destinations/engage-messaging-twilio/utils/MessageStats.js +78 -0
  76. package/dist/destinations/engage-messaging-twilio/utils/MessageStats.js.map +1 -0
  77. package/dist/destinations/engage-messaging-twilio/utils/index.d.ts +6 -0
  78. package/dist/destinations/engage-messaging-twilio/utils/index.js +19 -0
  79. package/dist/destinations/engage-messaging-twilio/utils/index.js.map +1 -0
  80. package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.d.ts +1 -0
  81. package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.js +8 -0
  82. package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.js.map +1 -0
  83. package/dist/destinations/engage-messaging-twilio/utils/message-sender.d.ts +21 -54
  84. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js +112 -225
  85. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js.map +1 -1
  86. package/dist/destinations/engage-messaging-twilio/utils/phone-message.d.ts +7 -0
  87. package/dist/destinations/engage-messaging-twilio/utils/phone-message.js +30 -33
  88. package/dist/destinations/engage-messaging-twilio/utils/phone-message.js.map +1 -1
  89. package/dist/destinations/engage-messaging-twilio/utils/track.d.ts +45 -0
  90. package/dist/destinations/engage-messaging-twilio/utils/track.js +9 -0
  91. package/dist/destinations/engage-messaging-twilio/utils/track.js.map +1 -0
  92. package/dist/destinations/index.js +3 -0
  93. package/dist/destinations/index.js.map +1 -1
  94. package/dist/destinations/insider/trackEvent/index.js +1 -1
  95. package/dist/destinations/insider/trackEvent/index.js.map +1 -1
  96. package/dist/destinations/listrak/generated-types.d.ts +4 -0
  97. package/dist/destinations/listrak/generated-types.js +3 -0
  98. package/dist/destinations/listrak/generated-types.js.map +1 -0
  99. package/dist/destinations/listrak/index.d.ts +4 -0
  100. package/dist/destinations/listrak/index.js +55 -0
  101. package/dist/destinations/listrak/index.js.map +1 -0
  102. package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.d.ts +8 -0
  103. package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.js +3 -0
  104. package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.js.map +1 -0
  105. package/dist/destinations/listrak/updateEmailContactProfileFields/index.d.ts +13 -0
  106. package/dist/destinations/listrak/updateEmailContactProfileFields/index.js +77 -0
  107. package/dist/destinations/listrak/updateEmailContactProfileFields/index.js.map +1 -0
  108. package/dist/destinations/m3ter/auth.d.ts +7 -0
  109. package/dist/destinations/m3ter/auth.js +16 -0
  110. package/dist/destinations/m3ter/auth.js.map +1 -0
  111. package/dist/destinations/m3ter/constants.d.ts +4 -0
  112. package/dist/destinations/m3ter/constants.js +8 -0
  113. package/dist/destinations/m3ter/constants.js.map +1 -0
  114. package/dist/destinations/m3ter/generated-types.d.ts +5 -0
  115. package/dist/destinations/m3ter/generated-types.js +3 -0
  116. package/dist/destinations/m3ter/generated-types.js.map +1 -0
  117. package/dist/destinations/m3ter/index.d.ts +4 -0
  118. package/dist/destinations/m3ter/index.js +68 -0
  119. package/dist/destinations/m3ter/index.js.map +1 -0
  120. package/dist/destinations/m3ter/submitMeasurements/generated-types.d.ts +32 -0
  121. package/dist/destinations/m3ter/submitMeasurements/generated-types.js +3 -0
  122. package/dist/destinations/m3ter/submitMeasurements/generated-types.js.map +1 -0
  123. package/dist/destinations/m3ter/submitMeasurements/index.d.ts +5 -0
  124. package/dist/destinations/m3ter/submitMeasurements/index.js +116 -0
  125. package/dist/destinations/m3ter/submitMeasurements/index.js.map +1 -0
  126. package/package.json +2 -2
@@ -0,0 +1,45 @@
1
+ import { ContextFromDecorator } from '../operationTracking';
2
+ export declare const track: ((decoratorArgs?: ({
3
+ onError?: ((ctx: import("../operationTracking").OperationErrorHandlerContext<import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
4
+ } & import("../operationTracking").OperationLoggerDecoratorArgs & {
5
+ shouldStats?: ((args: import("../operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
6
+ } & {
7
+ wrapIntegrationError?: ((ctx: import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
8
+ }) | undefined) => import("../operationTracking").GenericMethodDecorator<(this: any, ...args: any[]) => any>) & {
9
+ getCurrentOperation(classInstance: any): (import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
10
+ parent?: (import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & any) | undefined;
11
+ sharedContext: {};
12
+ }) | undefined;
13
+ } & {
14
+ _contextType: import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & {
15
+ start?: number | undefined;
16
+ duration?: number | undefined;
17
+ } & {
18
+ decoratorArgs?: {
19
+ onError?: ((ctx: import("../operationTracking").OperationErrorHandlerContext<import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>>) => void) | undefined;
20
+ } | undefined;
21
+ } & {
22
+ parent?: (import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any> & any) | undefined;
23
+ sharedContext: {};
24
+ } & {
25
+ logs: string[];
26
+ logMetadata?: Record<string, unknown> | undefined;
27
+ decoratorArgs?: import("../operationTracking").OperationLoggerDecoratorArgs | undefined;
28
+ sharedContext: import("../operationTracking").OperationLoggerSharedContext;
29
+ } & {
30
+ onFinally: (() => void)[];
31
+ } & {
32
+ tags: string[];
33
+ sharedContext: {
34
+ tags: string[];
35
+ };
36
+ decoratorArgs?: {
37
+ shouldStats?: ((args: import("../operationTracking").OperationStatsEventArgs) => boolean | void) | undefined;
38
+ } | undefined;
39
+ } & {
40
+ decoratorArgs?: {
41
+ wrapIntegrationError?: ((ctx: import("../operationTracking").TryCatchFinallyContext<(this: any, ...args: any[]) => any>) => import("@segment/actions-core/*").IntegrationError | [message: string, code: string, status: number]) | undefined;
42
+ } | undefined;
43
+ };
44
+ };
45
+ export declare type OperationContext = ContextFromDecorator<typeof track>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.track = void 0;
4
+ const operationTracking_1 = require("../operationTracking");
5
+ const MessageStats_1 = require("./MessageStats");
6
+ const MessageLogger_1 = require("./MessageLogger");
7
+ const IntegrationErrorWrapper_1 = require("./IntegrationErrorWrapper");
8
+ exports.track = operationTracking_1.OperationDecorator.createDecoratorFactoryWithDefault(MessageLogger_1.MessageLogger, MessageStats_1.MessageStats, IntegrationErrorWrapper_1.IntegrationErrorWrapper);
9
+ //# sourceMappingURL=track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track.js","sourceRoot":"","sources":["../../../../src/destinations/engage-messaging-twilio/utils/track.ts"],"names":[],"mappings":";;;AAEA,4DAA+E;AAC/E,iDAA6C;AAC7C,mDAA+C;AAC/C,uEAAmE;AAEtD,QAAA,KAAK,GAAG,sCAAkB,CAAC,iCAAiC,CACvE,6BAAa,EACb,2BAAY,EACZ,iDAAuB,CACxB,CAAA"}
@@ -117,6 +117,9 @@ register('6492cbb7df74e63cfa2f3e36', './iqm');
117
117
  register('6492cbd495feedacdcf431a4', './playerzero-cloud');
118
118
  register('649adeaa719bd3f55fe81bef', './devrev');
119
119
  register('649a1418b31e61334c66a7e7', './webhook-audiences');
120
+ register('64b67be0d0dd66094c162ca7', './app-fit');
121
+ register('64b67add9c22bc2cce3bf8bc', './m3ter');
122
+ register('64b6a221baf168a989be641a', './listrak');
120
123
  function register(id, destinationPath) {
121
124
  const definition = require(destinationPath).default;
122
125
  const resolvedPath = require.resolve(destinationPath);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/destinations/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/destinations/index.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ const action = {
20
20
  perform: (request, data) => {
21
21
  return request(`${insider_helpers_1.API_BASE}${insider_helpers_1.UPSERT_ENDPOINT}`, {
22
22
  method: 'post',
23
- json: insider_helpers_1.sendTrackEvent(data.payload, data.payload.event_name)
23
+ json: insider_helpers_1.sendTrackEvent(data.payload, data.payload.event_name.toString().toLowerCase().trim().split(' ').join('_').toString())
24
24
  });
25
25
  }
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/insider/trackEvent/index.ts"],"names":[],"mappings":";;AAGA,wDAA8E;AAC9E,8DAU8B;AAE9B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,gCAAgC;IAC7C,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,mBAAmB,EAAE,EAAE,GAAG,wCAAmB,EAAE;QAC/C,0BAA0B,EAAE,EAAE,GAAG,+CAA0B,EAAE;QAC7D,IAAI,EAAE,EAAE,GAAG,yBAAI,EAAE;QACjB,oBAAoB,EAAE,EAAE,GAAG,yCAAoB,EAAE;QACjD,UAAU,EAAE,EAAE,GAAG,+BAAU,EAAE;QAC7B,SAAS,EAAE,EAAE,GAAG,8BAAS,EAAE;QAC3B,UAAU,EAAE,EAAE,GAAG,wCAAmB,CAAC,EAAE,CAAC,EAAE;QAC1C,QAAQ,EAAE,EAAE,GAAG,6BAAQ,EAAE;QACzB,UAAU,EAAE,EAAE,GAAG,oCAAe,EAAE;KACnC;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO,OAAO,CAAC,GAAG,0BAAQ,GAAG,iCAAe,EAAE,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gCAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SAC5D,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/insider/trackEvent/index.ts"],"names":[],"mappings":";;AAGA,wDAA8E;AAC9E,8DAU8B;AAE9B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,gCAAgC;IAC7C,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,mBAAmB,EAAE,EAAE,GAAG,wCAAmB,EAAE;QAC/C,0BAA0B,EAAE,EAAE,GAAG,+CAA0B,EAAE;QAC7D,IAAI,EAAE,EAAE,GAAG,yBAAI,EAAE;QACjB,oBAAoB,EAAE,EAAE,GAAG,yCAAoB,EAAE;QACjD,UAAU,EAAE,EAAE,GAAG,+BAAU,EAAE;QAC7B,SAAS,EAAE,EAAE,GAAG,8BAAS,EAAE;QAC3B,UAAU,EAAE,EAAE,GAAG,wCAAmB,CAAC,EAAE,CAAC,EAAE;QAC1C,QAAQ,EAAE,EAAE,GAAG,6BAAQ,EAAE;QACzB,UAAU,EAAE,EAAE,GAAG,oCAAe,EAAE;KACnC;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO,OAAO,CAAC,GAAG,0BAAQ,GAAG,iCAAe,EAAE,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gCAAc,CAClB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CACxF;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,4 @@
1
+ export interface Settings {
2
+ client_id: string;
3
+ client_secret: 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/listrak/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { 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,55 @@
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 updateEmailContactProfileFields_1 = __importDefault(require("./updateEmailContactProfileFields"));
7
+ const destination = {
8
+ name: 'Listrak (Actions)',
9
+ slug: 'actions-listrak',
10
+ mode: 'cloud',
11
+ authentication: {
12
+ scheme: 'oauth2',
13
+ fields: {
14
+ client_id: {
15
+ label: 'API Client ID',
16
+ description: 'Your Listrak API client ID. Find this on the setup tab of your Segment integration under Integrations > Integrations Management in https://admin.listrak.com.',
17
+ type: 'string',
18
+ required: true
19
+ },
20
+ client_secret: {
21
+ label: 'API Client Secret',
22
+ description: 'Your Lisrak API client secret. Find this on the setup tab of your Segment integration under Integrations > Integrations Management in https://admin.listrak.com.',
23
+ type: 'password',
24
+ required: true
25
+ }
26
+ },
27
+ refreshAccessToken: async (request, { settings, auth }) => {
28
+ const baseUrl = `https://auth.listrak.com/OAuth2/Token`;
29
+ const res = await request(`${baseUrl}`, {
30
+ method: 'POST',
31
+ body: new URLSearchParams({
32
+ client_id: settings.client_id ?? auth.clientId,
33
+ client_secret: settings.client_secret ?? auth.clientSecret,
34
+ grant_type: 'client_credentials'
35
+ }),
36
+ headers: {
37
+ 'Content-Type': 'application/x-www-form-urlencoded'
38
+ }
39
+ });
40
+ return { accessToken: res.data.access_token };
41
+ }
42
+ },
43
+ extendRequest({ auth }) {
44
+ return {
45
+ headers: {
46
+ authorization: `Bearer ${auth?.accessToken}`
47
+ }
48
+ };
49
+ },
50
+ actions: {
51
+ updateEmailContactProfileFields: updateEmailContactProfileFields_1.default
52
+ }
53
+ };
54
+ exports.default = destination;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/listrak/index.ts"],"names":[],"mappings":";;;;;AAEA,wGAA+E;AAM/E,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,SAAS,EAAE;gBACT,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,+JAA+J;gBACjK,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACT,kKAAkK;gBACpK,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,uCAAuC,CAAA;YACvD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ;oBAC9C,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY;oBAC1D,UAAU,EAAE,oBAAoB;iBACjC,CAAC;gBACF,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;aACF,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,+BAA+B,EAA/B,yCAA+B;KAChC;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,8 @@
1
+ export interface Payload {
2
+ listId: number;
3
+ emailAddress: string;
4
+ profileFieldValues: {
5
+ [k: string]: unknown;
6
+ };
7
+ enable_batching: boolean;
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/listrak/updateEmailContactProfileFields/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ export declare type SegmentationFieldValue = {
5
+ segmentationFieldId: number;
6
+ value: string;
7
+ };
8
+ export declare type ContactSegmentationFieldValues = {
9
+ emailAddress: string;
10
+ segmentationFieldValues: SegmentationFieldValue[];
11
+ };
12
+ declare const action: ActionDefinition<Settings, Payload>;
13
+ export default action;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const action = {
4
+ title: 'Update Email Contact Profile Fields',
5
+ description: 'One or more list imports will be started to update the specified contact profile fields on the specified list.',
6
+ fields: {
7
+ listId: {
8
+ label: 'List ID',
9
+ description: 'Identifier used to locate the list. Find this under Help & Support > API ID Information in https://admin.listrak.com.',
10
+ type: 'integer',
11
+ required: true
12
+ },
13
+ emailAddress: {
14
+ label: 'Email Address',
15
+ description: 'Email address of the contact.',
16
+ type: 'string',
17
+ format: 'email',
18
+ default: {
19
+ '@path': '$.context.traits.email'
20
+ },
21
+ required: true
22
+ },
23
+ profileFieldValues: {
24
+ label: 'Profile Field Values',
25
+ description: 'Add key value pairs to set one or more profile fields. The key is the profile field ID you want to set. Find this under Help & Support > API ID Information in https://admin.listrak.com. The value is the profile field value. (i.e. 1234 = on)',
26
+ type: 'object',
27
+ required: true,
28
+ defaultObjectUI: 'keyvalue:only'
29
+ },
30
+ enable_batching: {
31
+ type: 'boolean',
32
+ label: 'Batch Data to Listrak',
33
+ description: 'When enabled, multiple events will be sent to Listrak in a single request, which is recommended for optimal performance.',
34
+ required: true,
35
+ default: true
36
+ }
37
+ },
38
+ perform: async (request, { payload }) => {
39
+ return await processPayload(request, [payload]);
40
+ },
41
+ performBatch: async (request, { payload }) => {
42
+ return await processPayload(request, payload);
43
+ }
44
+ };
45
+ async function processPayload(request, payload) {
46
+ const requestsByListId = {};
47
+ payload
48
+ .filter((x) => x.emailAddress && x.profileFieldValues)
49
+ .forEach((p) => {
50
+ if (!requestsByListId[p.listId]) {
51
+ requestsByListId[p.listId] = [];
52
+ }
53
+ requestsByListId[p.listId].push({
54
+ emailAddress: p.emailAddress,
55
+ segmentationFieldValues: createValidSegmentationFields(p.profileFieldValues)
56
+ });
57
+ });
58
+ for (const listId in requestsByListId) {
59
+ await request(`https://api.listrak.com/email/v1/List/${listId}/Contact/SegmentationField`, {
60
+ method: 'POST',
61
+ json: requestsByListId[listId]
62
+ });
63
+ }
64
+ }
65
+ exports.default = action;
66
+ function createValidSegmentationFields(profileFieldValues) {
67
+ return Object.keys(profileFieldValues)
68
+ .filter((x) => parseInt(x))
69
+ .map((x) => {
70
+ const segmentationFieldValue = {
71
+ segmentationFieldId: parseInt(x),
72
+ value: profileFieldValues[x] + ''
73
+ };
74
+ return segmentationFieldValue;
75
+ });
76
+ }
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/listrak/updateEmailContactProfileFields/index.ts"],"names":[],"mappings":";;AAiBA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EAAE,gHAAgH;IAC7H,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,WAAW,EACT,uHAAuH;YACzH,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,wBAAwB;aAClC;YACD,QAAQ,EAAE,IAAI;SACf;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,kPAAkP;YACpP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,0HAA0H;YAC5H,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,OAAkB;IACtE,MAAM,gBAAgB,GAAqB,EAAE,CAAA;IAE7C,OAAO;SACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,kBAAkB,CAAC;SACrD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;YAC/B,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;SAChC;QACD,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,uBAAuB,EAAE,6BAA6B,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAC7E,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE;QACrC,MAAM,OAAO,CAAC,yCAAyC,MAAM,4BAA4B,EAAE;YACzF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;SAC/B,CAAC,CAAA;KACH;AACH,CAAC;AAED,kBAAe,MAAM,CAAA;AAErB,SAAS,6BAA6B,CAAC,kBAA4C;IACjF,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,sBAAsB,GAA2B;YACrD,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE;SAClC,CAAA;QACD,OAAO,sBAAsB,CAAA;IAC/B,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { RequestClient } from '@segment/actions-core';
2
+ export interface AccessTokenResponse {
3
+ token_type: string;
4
+ access_token: string;
5
+ expires_in: number;
6
+ }
7
+ export default function getAccessToken(request: RequestClient, accessKeyId: string, apiSecret: string): Promise<string>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("./constants");
4
+ async function getAccessToken(request, accessKeyId, apiSecret) {
5
+ const res = await request(`${constants_1.M3TER_AUTH_API}/oauth/token`, {
6
+ method: 'POST',
7
+ body: '{"grant_type":"client_credentials"}',
8
+ headers: {
9
+ authorization: `Basic ${Buffer.from(`${accessKeyId}:${apiSecret}`).toString('base64')}`,
10
+ 'Content-Type': 'application/json'
11
+ }
12
+ });
13
+ return res.data.access_token;
14
+ }
15
+ exports.default = getAccessToken;
16
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/auth.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAS7B,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,WAAmB,EAAE,SAAiB;IACzG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAsB,GAAG,0BAAc,cAAc,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACvF,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAA;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,CAAA;AAC9B,CAAC;AAVD,iCAUC"}
@@ -0,0 +1,4 @@
1
+ export declare const M3TER_AUTH_API = "https://api.m3ter.com";
2
+ export declare const M3TER_INGEST_API = "https://ingest.m3ter.com";
3
+ export declare const MAX_MEASUREMENTS_PER_BATCH = 1000;
4
+ export declare const USER_AGENT_HEADER = "segment-destination/1.0";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_AGENT_HEADER = exports.MAX_MEASUREMENTS_PER_BATCH = exports.M3TER_INGEST_API = exports.M3TER_AUTH_API = void 0;
4
+ exports.M3TER_AUTH_API = 'https://api.m3ter.com';
5
+ exports.M3TER_INGEST_API = 'https://ingest.m3ter.com';
6
+ exports.MAX_MEASUREMENTS_PER_BATCH = 1000;
7
+ exports.USER_AGENT_HEADER = 'segment-destination/1.0';
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,uBAAuB,CAAA;AACxC,QAAA,gBAAgB,GAAG,0BAA0B,CAAA;AAC7C,QAAA,0BAA0B,GAAG,IAAI,CAAA;AACjC,QAAA,iBAAiB,GAAG,yBAAyB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface Settings {
2
+ access_key_id: string;
3
+ api_secret: string;
4
+ org_id: 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/m3ter/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Settings } from './generated-types';
2
+ import { DestinationDefinition } from '@segment/actions-core';
3
+ declare const destination: DestinationDefinition<Settings>;
4
+ export default destination;
@@ -0,0 +1,68 @@
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 submitMeasurements_1 = __importDefault(require("./submitMeasurements"));
7
+ const auth_1 = __importDefault(require("./auth"));
8
+ const constants_1 = require("./constants");
9
+ const actions_core_1 = require("@segment/actions-core");
10
+ const destination = {
11
+ name: 'm3ter',
12
+ slug: 'actions-m3ter',
13
+ mode: 'cloud',
14
+ authentication: {
15
+ scheme: 'oauth2',
16
+ fields: {
17
+ access_key_id: {
18
+ label: 'm3ter Access Key Id',
19
+ description: 'Your service user Access Key Id. You can generate the service user and its Access Key Id in your m3ter console under "Settings" -> "Access" -> "Service Users" -> "Create Service User".' +
20
+ ' Step by step guide can be found in [m3ter Docs](https://www.m3ter.com/docs/guides/authenticating-with-the-platform/service-authentication#generating-an-api-key-and-secret-for-a-service-user)',
21
+ type: 'string',
22
+ required: true
23
+ },
24
+ api_secret: {
25
+ label: 'm3ter Api Secret',
26
+ description: 'Your service user Api Secret. You can generate the service user and its Api Secret in your m3ter console under "Settings" -> "Access" -> "Service Users" -> "Create Service User".' +
27
+ ' Step by step guide can be found in [m3ter Docs](https://www.m3ter.com/docs/guides/authenticating-with-the-platform/service-authentication#generating-an-api-key-and-secret-for-a-service-user)',
28
+ type: 'password',
29
+ required: true
30
+ },
31
+ org_id: {
32
+ label: 'm3ter Organization Id',
33
+ description: 'ID of your organization where your data will be submitted to',
34
+ type: 'string',
35
+ required: true
36
+ }
37
+ },
38
+ testAuthentication: async (request, { settings }) => {
39
+ const accessToken = await auth_1.default(request, settings.access_key_id, settings.api_secret);
40
+ return { accessToken: accessToken };
41
+ },
42
+ refreshAccessToken: async (request, { settings }) => {
43
+ const accessToken = await auth_1.default(request, settings.access_key_id, settings.api_secret);
44
+ return { accessToken: accessToken };
45
+ }
46
+ },
47
+ extendRequest({ auth }) {
48
+ return {
49
+ headers: {
50
+ 'Authorization': `Bearer ${auth?.accessToken}`,
51
+ 'User-Agent': constants_1.USER_AGENT_HEADER
52
+ }
53
+ };
54
+ },
55
+ actions: {
56
+ submitMeasurements: submitMeasurements_1.default
57
+ },
58
+ presets: [
59
+ {
60
+ name: 'Submit usage data to m3ter',
61
+ subscribe: submitMeasurements_1.default.defaultSubscription,
62
+ partnerAction: 'submitMeasurements',
63
+ mapping: actions_core_1.defaultValues(submitMeasurements_1.default.fields)
64
+ }
65
+ ]
66
+ };
67
+ exports.default = destination;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/index.ts"],"names":[],"mappings":";;;;;AAEA,8EAAqD;AACrD,kDAAmC;AACnC,2CAA+C;AAC/C,wDAA4E;AAE5E,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EAAE,0LAA0L;oBACrM,iMAAiM;gBACnM,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,oLAAoL;oBAC/L,iMAAiM;gBACnM,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,8DAA8D;gBAC3E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC9F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;QACrC,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC9F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;QACrC,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC9C,YAAY,EAAE,6BAAiB;aAChC;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,kBAAkB,EAAlB,4BAAkB;KACnB;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,4BAA4B;YAClC,SAAS,EAAE,4BAAkB,CAAC,mBAA6B;YAC3D,aAAa,EAAE,oBAAoB;YACnC,OAAO,EAAE,4BAAa,CAAC,4BAAkB,CAAC,MAAM,CAAC;SAClD;KACF;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,32 @@
1
+ export interface Payload {
2
+ uid: string;
3
+ meter: string;
4
+ account: string;
5
+ ts: string | number;
6
+ ets?: string | number;
7
+ who?: {
8
+ [k: string]: unknown;
9
+ };
10
+ where?: {
11
+ [k: string]: unknown;
12
+ };
13
+ what?: {
14
+ [k: string]: unknown;
15
+ };
16
+ other?: {
17
+ [k: string]: unknown;
18
+ };
19
+ metadata?: {
20
+ [k: string]: unknown;
21
+ };
22
+ measure?: {
23
+ [k: string]: unknown;
24
+ };
25
+ cost?: {
26
+ [k: string]: unknown;
27
+ };
28
+ income?: {
29
+ [k: string]: unknown;
30
+ };
31
+ enable_batching: boolean;
32
+ }
@@ -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/m3ter/submitMeasurements/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,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../constants");
4
+ const action = {
5
+ title: 'Submit Measurements',
6
+ description: 'Submits your measurements data to m3ter',
7
+ defaultSubscription: 'type = "track"',
8
+ fields: {
9
+ uid: {
10
+ label: 'm3ter UUID',
11
+ type: 'string',
12
+ description: 'Unique ID for this measurement',
13
+ required: true
14
+ },
15
+ meter: {
16
+ label: 'Meter',
17
+ type: 'string',
18
+ description: 'Short code identifying the Meter the measurement is for',
19
+ required: true
20
+ },
21
+ account: {
22
+ label: 'Account',
23
+ type: 'string',
24
+ description: 'Code of the Account the measurement is for',
25
+ required: true
26
+ },
27
+ ts: {
28
+ label: 'Timestamp',
29
+ type: 'datetime',
30
+ description: 'Timestamp for the measurement',
31
+ required: true
32
+ },
33
+ ets: {
34
+ label: 'End timestamp',
35
+ type: 'datetime',
36
+ description: 'End timestamp for the measurement. Can be used in the case a usage event needs to have an explicit start and end rather than being instantaneous',
37
+ required: false
38
+ },
39
+ who: {
40
+ label: 'Who',
41
+ type: 'object',
42
+ description: 'Non-numeric who values for data measurements, such as: who logged-in to the service; who was contacted by the service',
43
+ required: false
44
+ },
45
+ where: {
46
+ label: 'Where',
47
+ type: 'object',
48
+ description: 'Non-numeric where values for data measurements such as: where someone logged into your service from',
49
+ required: false
50
+ },
51
+ what: {
52
+ label: 'What',
53
+ type: 'object',
54
+ description: 'Non-numeric what values for data measurements such as: what level of user logged into the service',
55
+ required: false
56
+ },
57
+ other: {
58
+ label: 'Other',
59
+ type: 'object',
60
+ description: 'Non-numeric other values for measurements such as textual data which is not applicable to Who, What, or Where events',
61
+ required: false
62
+ },
63
+ metadata: {
64
+ label: 'Metadata',
65
+ type: 'object',
66
+ description: 'Non-numeric metadata values for measurements using high-cardinality fields that you don\'t intend to segment when you aggregate the data',
67
+ required: false
68
+ },
69
+ measure: {
70
+ label: 'Measure',
71
+ type: 'object',
72
+ description: 'Numeric measure values for general quantitative measurements.',
73
+ required: false
74
+ },
75
+ cost: {
76
+ label: 'Cost',
77
+ type: 'object',
78
+ description: 'Numeric cost values for measurements associated with costs',
79
+ required: false
80
+ },
81
+ income: {
82
+ label: 'Income',
83
+ type: 'object',
84
+ description: 'Numeric income values for measurements associated with income',
85
+ required: false
86
+ },
87
+ enable_batching: {
88
+ type: 'boolean',
89
+ label: 'Send data to m3ter in batches',
90
+ description: 'When enabled the action will send multiple events in a single API request, improving efficiency. This is m3ter’s recommended mode.',
91
+ required: true,
92
+ default: true
93
+ }
94
+ },
95
+ perform: async (request, { settings, payload }) => {
96
+ return submitMeasurements(request, settings.org_id, [payload]);
97
+ },
98
+ performBatch: async (request, { settings, payload }) => {
99
+ return submitMeasurements(request, settings.org_id, payload);
100
+ }
101
+ };
102
+ async function submitMeasurements(request, orgId, payload) {
103
+ const batches = [...limitBatch(payload)];
104
+ const requests = batches.map(batch => request(`${constants_1.M3TER_INGEST_API}/organizations/${orgId}/measurements`, {
105
+ method: 'post',
106
+ json: { 'measurements': batch }
107
+ }));
108
+ return Promise.all(requests);
109
+ }
110
+ function* limitBatch(arr) {
111
+ for (let index = 0; index < arr.length; index += constants_1.MAX_MEASUREMENTS_PER_BATCH) {
112
+ yield arr.slice(index, index + constants_1.MAX_MEASUREMENTS_PER_BATCH);
113
+ }
114
+ }
115
+ exports.default = action;
116
+ //# sourceMappingURL=index.js.map