@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.
- package/dist/destinations/app-fit/config.d.ts +3 -0
- package/dist/destinations/app-fit/config.js +7 -0
- package/dist/destinations/app-fit/config.js.map +1 -0
- package/dist/destinations/app-fit/generated-types.d.ts +3 -0
- package/dist/destinations/app-fit/generated-types.js +3 -0
- package/dist/destinations/app-fit/generated-types.js.map +1 -0
- package/dist/destinations/app-fit/index.d.ts +4 -0
- package/dist/destinations/app-fit/index.js +39 -0
- package/dist/destinations/app-fit/index.js.map +1 -0
- package/dist/destinations/app-fit/track/generated-types.d.ts +13 -0
- package/dist/destinations/app-fit/track/generated-types.js +3 -0
- package/dist/destinations/app-fit/track/generated-types.js.map +1 -0
- package/dist/destinations/app-fit/track/index.d.ts +5 -0
- package/dist/destinations/app-fit/track/index.js +109 -0
- package/dist/destinations/app-fit/track/index.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.d.ts +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.js +3 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/GenericMethodDecorator.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.d.ts +46 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.js +46 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDecorator.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.d.ts +12 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.js +23 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationDuration.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.d.ts +12 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.js +35 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationErrorHandler.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.d.ts +10 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.js +29 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationFinallyHooks.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.d.ts +30 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.js +107 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationLogger.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.d.ts +39 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.js +130 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationStats.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.d.ts +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.js +377 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTracker.test.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.d.ts +23 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.js +49 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/OperationTree.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.d.ts +6 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.js +3 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/TrackedError.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/index.d.ts +10 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/index.js +23 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/index.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.d.ts +21 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.js +99 -0
- package/dist/destinations/engage-messaging-twilio/operationTracking/wrapTryCatchFinallyPromisable.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/generated-types.d.ts +1 -1
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js +7 -25
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.d.ts +1 -1
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js +31 -25
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendSms/index.js +1 -1
- package/dist/destinations/engage-messaging-twilio/sendSms/index.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.d.ts +1 -1
- package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js +20 -10
- package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendWhatsApp/index.js +1 -1
- package/dist/destinations/engage-messaging-twilio/sendWhatsApp/index.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.d.ts +1 -1
- package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js +42 -36
- package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.d.ts +12 -0
- package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.js +31 -0
- package/dist/destinations/engage-messaging-twilio/utils/IntegrationErrorWrapper.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.d.ts +15 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.js +36 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageLogger.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageStats.d.ts +14 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageStats.js +78 -0
- package/dist/destinations/engage-messaging-twilio/utils/MessageStats.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/index.d.ts +6 -0
- package/dist/destinations/engage-messaging-twilio/utils/index.js +19 -0
- package/dist/destinations/engage-messaging-twilio/utils/index.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.d.ts +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.js +8 -0
- package/dist/destinations/engage-messaging-twilio/utils/isDestinationActionService.js.map +1 -0
- package/dist/destinations/engage-messaging-twilio/utils/message-sender.d.ts +21 -54
- package/dist/destinations/engage-messaging-twilio/utils/message-sender.js +112 -225
- package/dist/destinations/engage-messaging-twilio/utils/message-sender.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/utils/phone-message.d.ts +7 -0
- package/dist/destinations/engage-messaging-twilio/utils/phone-message.js +30 -33
- package/dist/destinations/engage-messaging-twilio/utils/phone-message.js.map +1 -1
- package/dist/destinations/engage-messaging-twilio/utils/track.d.ts +45 -0
- package/dist/destinations/engage-messaging-twilio/utils/track.js +9 -0
- package/dist/destinations/engage-messaging-twilio/utils/track.js.map +1 -0
- package/dist/destinations/index.js +3 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/insider/trackEvent/index.js +1 -1
- package/dist/destinations/insider/trackEvent/index.js.map +1 -1
- package/dist/destinations/listrak/generated-types.d.ts +4 -0
- package/dist/destinations/listrak/generated-types.js +3 -0
- package/dist/destinations/listrak/generated-types.js.map +1 -0
- package/dist/destinations/listrak/index.d.ts +4 -0
- package/dist/destinations/listrak/index.js +55 -0
- package/dist/destinations/listrak/index.js.map +1 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.d.ts +8 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.js +3 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/generated-types.js.map +1 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.d.ts +13 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.js +77 -0
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.js.map +1 -0
- package/dist/destinations/m3ter/auth.d.ts +7 -0
- package/dist/destinations/m3ter/auth.js +16 -0
- package/dist/destinations/m3ter/auth.js.map +1 -0
- package/dist/destinations/m3ter/constants.d.ts +4 -0
- package/dist/destinations/m3ter/constants.js +8 -0
- package/dist/destinations/m3ter/constants.js.map +1 -0
- package/dist/destinations/m3ter/generated-types.d.ts +5 -0
- package/dist/destinations/m3ter/generated-types.js +3 -0
- package/dist/destinations/m3ter/generated-types.js.map +1 -0
- package/dist/destinations/m3ter/index.d.ts +4 -0
- package/dist/destinations/m3ter/index.js +68 -0
- package/dist/destinations/m3ter/index.js.map +1 -0
- package/dist/destinations/m3ter/submitMeasurements/generated-types.d.ts +32 -0
- package/dist/destinations/m3ter/submitMeasurements/generated-types.js +3 -0
- package/dist/destinations/m3ter/submitMeasurements/generated-types.js.map +1 -0
- package/dist/destinations/m3ter/submitMeasurements/index.d.ts +5 -0
- package/dist/destinations/m3ter/submitMeasurements/index.js +116 -0
- package/dist/destinations/m3ter/submitMeasurements/index.js.map +1 -0
- 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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/listrak/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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,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 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/m3ter/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/m3ter/submitMeasurements/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -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
|