@segment/action-destinations 3.296.0 → 3.296.1-staging-1601766ec.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/optimizely-advanced-audience-targeting/syncAudience/generated-types.d.ts +2 -0
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js +21 -18
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js.map +1 -1
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.d.ts +21 -0
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.js +31 -0
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const optimizely_client_1 = require("./optimizely-client");
|
|
4
4
|
const action = {
|
|
5
5
|
title: 'Sync Audience',
|
|
6
6
|
description: 'Sync a Segment Engage Audience to Optimizely Data Platform',
|
|
@@ -59,26 +59,29 @@ const action = {
|
|
|
59
59
|
default: {
|
|
60
60
|
'@path': '$.timestamp'
|
|
61
61
|
}
|
|
62
|
+
},
|
|
63
|
+
enable_batching: {
|
|
64
|
+
label: 'Enable Batching',
|
|
65
|
+
description: 'Enable batching of event data to Optimizely.',
|
|
66
|
+
type: 'boolean',
|
|
67
|
+
default: true,
|
|
68
|
+
unsafe_hidden: true
|
|
69
|
+
},
|
|
70
|
+
batch_size: {
|
|
71
|
+
label: 'Batch Size',
|
|
72
|
+
description: 'Number of events to batch before sending to Optimizely.',
|
|
73
|
+
type: 'integer',
|
|
74
|
+
default: 100,
|
|
75
|
+
unsafe_hidden: true
|
|
62
76
|
}
|
|
63
77
|
},
|
|
64
78
|
perform: async (request, data) => {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
const audienceValue = d?.rawData?.properties?.[audienceName] ?? d?.rawData?.traits?.[audienceName];
|
|
72
|
-
return request(`${host}/sync_audience`, {
|
|
73
|
-
method: 'post',
|
|
74
|
-
json: {
|
|
75
|
-
audienceId: audienceId,
|
|
76
|
-
audienceName: audienceName,
|
|
77
|
-
timestamp: payload.timestamp,
|
|
78
|
-
subscription: audienceValue,
|
|
79
|
-
userId: payload.optimizelyUserId
|
|
80
|
-
}
|
|
81
|
-
});
|
|
79
|
+
const optimizelyClient = new optimizely_client_1.OptimizelyClient(request, data);
|
|
80
|
+
await optimizelyClient.send();
|
|
81
|
+
},
|
|
82
|
+
performBatch: async (request, data) => {
|
|
83
|
+
const optimizelyClient = new optimizely_client_1.OptimizelyClient(request, data);
|
|
84
|
+
await optimizelyClient.send();
|
|
82
85
|
}
|
|
83
86
|
};
|
|
84
87
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-advanced-audience-targeting/syncAudience/index.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-advanced-audience-targeting/syncAudience/index.ts"],"names":[],"mappings":";;AAGA,2DAA4D;AAE5D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,4DAA4D;IACzE,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE;QACN,oBAAoB,EAAE;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,oCAAoC;aAC9C;SACF;QACD,0BAA0B,EAAE;YAC1B,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,wEAAwE;YACrF,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,sCAAsC;aAChD;YACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;SACpD;QACD,sBAAsB,EAAE;YACtB,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,mCAAmC;aAC7C;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,8CAA8C;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;SACpB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,yDAAyD;YACtE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;YACZ,aAAa,EAAE,IAAI;SACpB;KACF;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,EAAE,IAAY,CAAC,CAAA;QACpE,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAC/B,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,OAAO,EAAE,IAAY,CAAC,CAAA;QACpE,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAA;IAC/B,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Settings } from '../generated-types';
|
|
2
|
+
import type { Payload } from './generated-types';
|
|
3
|
+
import { RequestClient } from '@segment/actions-core';
|
|
4
|
+
interface PropsOrTraits {
|
|
5
|
+
properties?: Record<string, boolean>;
|
|
6
|
+
traits?: Record<string, boolean>;
|
|
7
|
+
}
|
|
8
|
+
export interface Data {
|
|
9
|
+
payload: Payload | Array<Payload>;
|
|
10
|
+
settings: Settings;
|
|
11
|
+
rawData: PropsOrTraits | Array<PropsOrTraits>;
|
|
12
|
+
}
|
|
13
|
+
export declare class OptimizelyClient {
|
|
14
|
+
request: RequestClient;
|
|
15
|
+
payloads: Payload[];
|
|
16
|
+
settings: Settings;
|
|
17
|
+
propsOrTraits: PropsOrTraits[];
|
|
18
|
+
constructor(request: RequestClient, data: Data);
|
|
19
|
+
send(): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OptimizelyClient = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
class OptimizelyClient {
|
|
6
|
+
constructor(request, data) {
|
|
7
|
+
this.request = request;
|
|
8
|
+
this.settings = data.settings;
|
|
9
|
+
this.payloads = Array.isArray(data.payload) ? data.payload : [data.payload];
|
|
10
|
+
this.propsOrTraits = Array.isArray(data.rawData) ? data.rawData : [data.rawData];
|
|
11
|
+
}
|
|
12
|
+
async send() {
|
|
13
|
+
const host = utils_1.getHost(this.settings);
|
|
14
|
+
const requestBody = this.payloads.map((payload, index) => {
|
|
15
|
+
return {
|
|
16
|
+
audienceId: payload.segment_computation_id,
|
|
17
|
+
audienceName: payload.custom_audience_name,
|
|
18
|
+
timestamp: payload.timestamp,
|
|
19
|
+
subscription: this.propsOrTraits[index].properties?.[payload.custom_audience_name] ??
|
|
20
|
+
this.propsOrTraits[index].traits?.[payload.custom_audience_name],
|
|
21
|
+
userId: payload.optimizelyUserId
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
return this.request(`${host}/batch_sync_audience`, {
|
|
25
|
+
method: 'post',
|
|
26
|
+
json: requestBody
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.OptimizelyClient = OptimizelyClient;
|
|
31
|
+
//# sourceMappingURL=optimizely-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizely-client.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-advanced-audience-targeting/syncAudience/optimizely-client.ts"],"names":[],"mappings":";;;AAEA,oCAAkC;AAclC,MAAa,gBAAgB;IAM3B,YAAY,OAAsB,EAAE,IAAU;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,eAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACvD,OAAO;gBACL,UAAU,EAAE,OAAO,CAAC,sBAAsB;gBAC1C,YAAY,EAAE,OAAO,CAAC,oBAAoB;gBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;oBACpE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAClE,MAAM,EAAE,OAAO,CAAC,gBAAgB;aACjC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,sBAAsB,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;IACJ,CAAC;CACF;AAjCD,4CAiCC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.296.0",
|
|
4
|
+
"version": "3.296.1-staging-1601766ec.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"__tests__/__helpers__/"
|
|
88
88
|
]
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "cad921f2127c00b85db61209b6e139d2e6e70a6d"
|
|
91
91
|
}
|