@segment/action-destinations 3.328.0 → 3.330.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/accoil-analytics/group/generated-types.d.ts +2 -0
- package/dist/destinations/accoil-analytics/group/index.js +14 -0
- package/dist/destinations/accoil-analytics/group/index.js.map +1 -1
- package/dist/destinations/braze/trackEvent2/index.js +1 -1
- package/dist/destinations/braze/trackEvent2/index.js.map +1 -1
- package/dist/destinations/braze/trackPurchase2/index.js +1 -1
- package/dist/destinations/braze/trackPurchase2/index.js.map +1 -1
- package/dist/destinations/braze/updateUserProfile2/index.js +1 -1
- package/dist/destinations/braze/updateUserProfile2/index.js.map +1 -1
- package/dist/destinations/braze/utils.d.ts +19 -6
- package/dist/destinations/braze/utils.js +156 -32
- package/dist/destinations/braze/utils.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.d.ts +3 -3
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.js +9 -9
- package/dist/destinations/engage-messaging-sendgrid/previewApiLookup/apiLookups.js.map +1 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.d.ts +2 -1
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.js +14 -4
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/addToCart/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/addToCart2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/custom/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/custom2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/fb-capi-app-data.js +20 -2
- package/dist/destinations/facebook-conversions-api/fb-capi-app-data.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/fb-capi-user-data.js +6 -0
- package/dist/destinations/facebook-conversions-api/fb-capi-user-data.js.map +1 -1
- package/dist/destinations/facebook-conversions-api/initiateCheckout/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/initiateCheckout2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/pageView/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/pageView2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/purchase/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/purchase2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/search/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/search2/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/viewContent/generated-types.d.ts +3 -0
- package/dist/destinations/facebook-conversions-api/viewContent2/generated-types.d.ts +3 -0
- package/dist/destinations/google-enhanced-conversions/userList/index.js +1 -1
- package/dist/destinations/google-enhanced-conversions/userList/index.js.map +1 -1
- package/dist/destinations/index.js +2 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/optimizely-web/generated-types.d.ts +5 -0
- package/dist/destinations/optimizely-web/generated-types.js +3 -0
- package/dist/destinations/optimizely-web/generated-types.js.map +1 -0
- package/dist/destinations/optimizely-web/index.d.ts +4 -0
- package/dist/destinations/optimizely-web/index.js +49 -0
- package/dist/destinations/optimizely-web/index.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/client.d.ts +11 -0
- package/dist/destinations/optimizely-web/trackEvent/client.js +61 -0
- package/dist/destinations/optimizely-web/trackEvent/client.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/constants.d.ts +3 -0
- package/dist/destinations/optimizely-web/trackEvent/constants.js +7 -0
- package/dist/destinations/optimizely-web/trackEvent/constants.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/fields.d.ts +2 -0
- package/dist/destinations/optimizely-web/trackEvent/fields.js +193 -0
- package/dist/destinations/optimizely-web/trackEvent/fields.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/generated-types.d.ts +26 -0
- package/dist/destinations/optimizely-web/trackEvent/generated-types.js +3 -0
- package/dist/destinations/optimizely-web/trackEvent/generated-types.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/index.d.ts +5 -0
- package/dist/destinations/optimizely-web/trackEvent/index.js +15 -0
- package/dist/destinations/optimizely-web/trackEvent/index.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/types.d.ts +59 -0
- package/dist/destinations/optimizely-web/trackEvent/types.js +3 -0
- package/dist/destinations/optimizely-web/trackEvent/types.js.map +1 -0
- package/dist/destinations/optimizely-web/trackEvent/utils.d.ts +25 -0
- package/dist/destinations/optimizely-web/trackEvent/utils.js +156 -0
- package/dist/destinations/optimizely-web/trackEvent/utils.js.map +1 -0
- package/dist/destinations/s3/fields.js +1 -1
- package/dist/destinations/s3/functions.js +3 -2
- package/dist/destinations/s3/functions.js.map +1 -1
- package/dist/destinations/s3/index.js +6 -0
- package/dist/destinations/s3/index.js.map +1 -1
- package/dist/destinations/snap-audiences/generated-types.d.ts +8 -0
- package/dist/destinations/snap-audiences/generated-types.js +3 -0
- package/dist/destinations/snap-audiences/generated-types.js.map +1 -0
- package/dist/destinations/snap-audiences/index.d.ts +4 -0
- package/dist/destinations/snap-audiences/index.js +139 -0
- package/dist/destinations/snap-audiences/index.js.map +1 -0
- package/dist/destinations/snap-audiences/syncAudience/generated-types.d.ts +12 -0
- package/dist/destinations/snap-audiences/syncAudience/generated-types.js +3 -0
- package/dist/destinations/snap-audiences/syncAudience/generated-types.js.map +1 -0
- package/dist/destinations/snap-audiences/syncAudience/index.d.ts +5 -0
- package/dist/destinations/snap-audiences/syncAudience/index.js +156 -0
- package/dist/destinations/snap-audiences/syncAudience/index.js.map +1 -0
- package/dist/destinations/snap-audiences/syncAudience/utils.d.ts +8 -0
- package/dist/destinations/snap-audiences/syncAudience/utils.js +73 -0
- package/dist/destinations/snap-audiences/syncAudience/utils.js.map +1 -0
- package/dist/destinations/webhook-extensible/__test__/webhook.test.js +0 -67
- package/dist/destinations/webhook-extensible/__test__/webhook.test.js.map +1 -1
- package/dist/destinations/webhook-extensible/index.d.ts +4 -1
- package/dist/destinations/webhook-extensible/index.js +20 -9
- package/dist/destinations/webhook-extensible/index.js.map +1 -1
- package/dist/destinations/webhook-extensible/send/index.js +31 -3
- package/dist/destinations/webhook-extensible/send/index.js.map +1 -1
- package/dist/destinations/webhook-extensible/types.d.ts +6 -0
- package/dist/destinations/webhook-extensible/types.js +3 -0
- package/dist/destinations/webhook-extensible/types.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,49 @@
|
|
|
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 actions_core_1 = require("@segment/actions-core");
|
|
7
|
+
const trackEvent_1 = __importDefault(require("./trackEvent"));
|
|
8
|
+
const destination = {
|
|
9
|
+
name: 'Optimizely Web (Actions)',
|
|
10
|
+
slug: 'actions-optimizely-web',
|
|
11
|
+
mode: 'cloud',
|
|
12
|
+
authentication: {
|
|
13
|
+
scheme: 'custom',
|
|
14
|
+
fields: {
|
|
15
|
+
optimizelyApiKey: {
|
|
16
|
+
label: 'Optimizely API Key',
|
|
17
|
+
description: 'Your Optimizely API Key. TODO: Provide link to instructions on how to get this.',
|
|
18
|
+
type: 'password',
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
optimizelyAccountId: {
|
|
22
|
+
label: 'Optimizely Account ID',
|
|
23
|
+
description: 'Your Optimizely Account ID. TODO: Provide link to instructions on how to get this.',
|
|
24
|
+
type: 'string',
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
projectID: {
|
|
28
|
+
label: 'Optimizely Project ID',
|
|
29
|
+
description: 'The unique numeric identifier for the project.',
|
|
30
|
+
type: 'number',
|
|
31
|
+
required: true
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
presets: [
|
|
36
|
+
{
|
|
37
|
+
name: 'Send Custom Event or Page Event',
|
|
38
|
+
subscribe: 'type = "track" or type = "page"',
|
|
39
|
+
partnerAction: 'trackEvent',
|
|
40
|
+
mapping: actions_core_1.defaultValues(trackEvent_1.default.fields),
|
|
41
|
+
type: 'automatic'
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
actions: {
|
|
45
|
+
trackEvent: trackEvent_1.default
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.default = destination;
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/optimizely-web/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAqD;AAGrD,8DAAqC;AAErC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,gBAAgB,EAAE;gBAChB,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EAAE,iFAAiF;gBAC9F,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,mBAAmB,EAAE;gBACnB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,oFAAoF;gBACjG,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,gDAAgD;gBAC7D,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,iCAAiC;YACvC,SAAS,EAAE,iCAAiC;YAC5C,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,4BAAa,CAAC,oBAAU,CAAC,MAAM,CAAC;YACzC,IAAI,EAAE,WAAW;SAClB;KACF;IACD,OAAO,EAAE;QACP,UAAU,EAAV,oBAAU;KACX;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RequestClient } from '@segment/actions-core';
|
|
2
|
+
import { Settings } from '../generated-types';
|
|
3
|
+
import { EventItem, SendEventJSON, Type } from './types';
|
|
4
|
+
export declare class OptimizelyWebClient {
|
|
5
|
+
request: RequestClient;
|
|
6
|
+
settings: Settings;
|
|
7
|
+
constructor(request: RequestClient, settings: Settings);
|
|
8
|
+
getCustomEvents(type: Type): Promise<import("@segment/actions-core").ModifiedResponse<EventItem[]>>;
|
|
9
|
+
createCustomEvent(key: string, name: string, category: string, type: Type, edit_url?: string): Promise<import("@segment/actions-core").ModifiedResponse<EventItem>>;
|
|
10
|
+
sendEvent(body: SendEventJSON): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OptimizelyWebClient = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
class OptimizelyWebClient {
|
|
7
|
+
constructor(request, settings) {
|
|
8
|
+
;
|
|
9
|
+
(this.request = request), (this.settings = settings);
|
|
10
|
+
}
|
|
11
|
+
async getCustomEvents(type) {
|
|
12
|
+
const url = type === constants_1.TRACK
|
|
13
|
+
? `https://api.optimizely.com/v2/events?per_page=100&include_classic=false&project_id=${this.settings.projectID}`
|
|
14
|
+
: `https://api.optimizely.com/v2/pages?per_page=100&project_id=${this.settings.projectID}`;
|
|
15
|
+
return await this.request(url, {
|
|
16
|
+
method: 'GET',
|
|
17
|
+
headers: {
|
|
18
|
+
'content-type': 'application/json',
|
|
19
|
+
accept: 'application/json',
|
|
20
|
+
authorization: `Bearer ${this.settings.optimizelyApiKey}`
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async createCustomEvent(key, name, category, type, edit_url) {
|
|
25
|
+
const url = type === constants_1.TRACK
|
|
26
|
+
? `https://api.optimizely.com/v2/projects/${this.settings.projectID}/custom_events`
|
|
27
|
+
: `https://api.optimizely.com/v2/pages`;
|
|
28
|
+
if (!edit_url && type === constants_1.PAGE) {
|
|
29
|
+
throw new actions_core_1.PayloadValidationError(`Page URL is required for Segment to create a page event in Optimizely`);
|
|
30
|
+
}
|
|
31
|
+
const json = {
|
|
32
|
+
key,
|
|
33
|
+
name: name,
|
|
34
|
+
category,
|
|
35
|
+
event_type: 'custom',
|
|
36
|
+
edit_url: type === constants_1.PAGE && edit_url ? edit_url : undefined,
|
|
37
|
+
project_id: type === constants_1.PAGE ? this.settings.projectID : undefined
|
|
38
|
+
};
|
|
39
|
+
return await this.request(url, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
json: json,
|
|
42
|
+
headers: {
|
|
43
|
+
'content-type': 'application/json',
|
|
44
|
+
accept: 'application/json',
|
|
45
|
+
authorization: `Bearer ${this.settings.optimizelyApiKey}`
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async sendEvent(body) {
|
|
50
|
+
return this.request('https://logx.optimizely.com/v1/events', {
|
|
51
|
+
method: 'POST',
|
|
52
|
+
json: body,
|
|
53
|
+
headers: {
|
|
54
|
+
'content-type': 'application/json',
|
|
55
|
+
accept: 'application/json'
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.OptimizelyWebClient = OptimizelyWebClient;
|
|
61
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/client.ts"],"names":[],"mappings":";;;AAAA,wDAA6E;AAG7E,2CAAyC;AAEzC,MAAa,mBAAmB;IAI9B,YAAY,OAAsB,EAAE,QAAkB;QACpD,CAAC;QAAA,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAU;QAC9B,MAAM,GAAG,GACP,IAAI,KAAK,iBAAK;YACZ,CAAC,CAAC,sFAAsF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACjH,CAAC,CAAC,+DAA+D,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAA;QAC9F,OAAO,MAAM,IAAI,CAAC,OAAO,CAAc,GAAG,EAAE;YAC1C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;aAC1D;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,IAAY,EAAE,QAAgB,EAAE,IAAU,EAAE,QAAiB;QAChG,MAAM,GAAG,GACP,IAAI,KAAK,iBAAK;YACZ,CAAC,CAAC,0CAA0C,IAAI,CAAC,QAAQ,CAAC,SAAS,gBAAgB;YACnF,CAAC,CAAC,qCAAqC,CAAA;QAE3C,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,gBAAI,EAAE;YAC9B,MAAM,IAAI,qCAAsB,CAAC,uEAAuE,CAAC,CAAA;SAC1G;QAED,MAAM,IAAI,GAAG;YACX,GAAG;YACH,IAAI,EAAE,IAAI;YACV,QAAQ;YACR,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,IAAI,KAAK,gBAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC1D,UAAU,EAAE,IAAI,KAAK,gBAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SAChE,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAY,GAAG,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAwC;YAC9C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;aAC1D;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAmB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AA/DD,kDA+DC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_TYPES = exports.TRACK = exports.PAGE = void 0;
|
|
4
|
+
exports.PAGE = 'page';
|
|
5
|
+
exports.TRACK = 'track';
|
|
6
|
+
exports.SUPPORTED_TYPES = [exports.PAGE, exports.TRACK];
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,MAAM,CAAA;AAEb,QAAA,KAAK,GAAG,OAAO,CAAA;AAEf,QAAA,eAAe,GAAG,CAAC,YAAI,EAAE,aAAK,CAAC,CAAA"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fields = void 0;
|
|
4
|
+
exports.fields = {
|
|
5
|
+
uuid: {
|
|
6
|
+
label: 'UUID',
|
|
7
|
+
description: 'Unique message UUID to send with the event',
|
|
8
|
+
type: 'string',
|
|
9
|
+
required: true,
|
|
10
|
+
default: { '@path': '$.messageId' }
|
|
11
|
+
},
|
|
12
|
+
endUserId: {
|
|
13
|
+
label: 'Optimizely End User ID',
|
|
14
|
+
description: "The unique identifier for the user. The value should be taken from the optimizelyEndUserId cookie, or it can be collected using window.optimizely.get('visitor').visitorId. If using the BYOID feature pass in the value of the ID for your user.",
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: true,
|
|
17
|
+
default: {
|
|
18
|
+
'@if': {
|
|
19
|
+
exists: { '@path': '$.integrations.actions-optimizely-web.end_user_id' },
|
|
20
|
+
then: { '@path': '$.integrations.actions-optimizely-web.end_user_id' },
|
|
21
|
+
else: { '@path': '$.properties.end_user_id' }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
anonymizeIP: {
|
|
26
|
+
label: 'Anonymize IP',
|
|
27
|
+
description: 'Anonymize the IP address of the user.',
|
|
28
|
+
type: 'boolean',
|
|
29
|
+
required: true,
|
|
30
|
+
default: true,
|
|
31
|
+
disabledInputMethods: ['enrichment', 'freeform', 'function', 'literal', 'variable']
|
|
32
|
+
},
|
|
33
|
+
eventMatching: {
|
|
34
|
+
label: 'Event Matching',
|
|
35
|
+
description: "Specify how Segment should match the Segment event to an Optimizely event, as well as specify if Segment should create new Custom Events and Pages in Optimizely if they don't exist.",
|
|
36
|
+
type: 'object',
|
|
37
|
+
required: true,
|
|
38
|
+
properties: {
|
|
39
|
+
createEventIfNotFound: {
|
|
40
|
+
label: 'Create If Not Found',
|
|
41
|
+
description: 'If needed, Segment can define new Custom Events and Pages in Optimizely. If you do not want Segment to create new events, select "Do not create".',
|
|
42
|
+
type: 'string',
|
|
43
|
+
required: true,
|
|
44
|
+
choices: [
|
|
45
|
+
{ label: 'Do not create', value: 'DO_NOT_CREATE' },
|
|
46
|
+
{ label: 'Create Custom Event', value: 'CREATE' }
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
shouldSnakeCaseEventKey: {
|
|
50
|
+
label: 'Should Snake Case Event Key',
|
|
51
|
+
description: 'If the event key should be converted to snake case before sending to Optimizely.',
|
|
52
|
+
type: 'boolean',
|
|
53
|
+
required: true
|
|
54
|
+
},
|
|
55
|
+
eventKey: {
|
|
56
|
+
label: 'Event Key',
|
|
57
|
+
description: 'Optimizely event or page key to record the event against.',
|
|
58
|
+
type: 'string',
|
|
59
|
+
required: false,
|
|
60
|
+
default: { '@path': '$.event' }
|
|
61
|
+
},
|
|
62
|
+
eventId: {
|
|
63
|
+
label: 'Event ID',
|
|
64
|
+
description: 'Optimizely event or page ID to record the event against. The ID can only be used when the event / page has already been created in Optimizely. Segment cannot create new events in Optimizely using the ID.',
|
|
65
|
+
type: 'string',
|
|
66
|
+
required: false
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
default: {
|
|
70
|
+
createEventIfNotFound: 'CREATE',
|
|
71
|
+
shouldSnakeCaseEventKey: false,
|
|
72
|
+
eventKey: {
|
|
73
|
+
'@if': {
|
|
74
|
+
exists: { '@path': '$.event' },
|
|
75
|
+
then: { '@path': '$.event' },
|
|
76
|
+
else: { '@path': '$.name' }
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
eventId: { '@path': '$.properties.event_id' }
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
pageUrl: {
|
|
83
|
+
label: 'Page URL',
|
|
84
|
+
description: 'The URL of the page where the event occurred. Used if Segment creates a Page in Optimizely.',
|
|
85
|
+
type: 'string',
|
|
86
|
+
required: false,
|
|
87
|
+
default: { '@path': '$.context.page.url' }
|
|
88
|
+
},
|
|
89
|
+
category: {
|
|
90
|
+
label: 'Event Category',
|
|
91
|
+
description: 'Event Category',
|
|
92
|
+
type: 'string',
|
|
93
|
+
required: true,
|
|
94
|
+
choices: [
|
|
95
|
+
{ label: 'add_to_cart', value: 'add_to_cart' },
|
|
96
|
+
{ label: 'save', value: 'save' },
|
|
97
|
+
{ label: 'search', value: 'search' },
|
|
98
|
+
{ label: 'share', value: 'share' },
|
|
99
|
+
{ label: 'purchase', value: 'purchase' },
|
|
100
|
+
{ label: 'convert', value: 'convert' },
|
|
101
|
+
{ label: 'sign_up', value: 'sign_up' },
|
|
102
|
+
{ label: 'subscribe', value: 'subscribe' },
|
|
103
|
+
{ label: 'other', value: 'other' }
|
|
104
|
+
],
|
|
105
|
+
default: 'other'
|
|
106
|
+
},
|
|
107
|
+
timestamp: {
|
|
108
|
+
label: 'Timestamp',
|
|
109
|
+
description: 'Timestampt for when the event took place',
|
|
110
|
+
type: 'datetime',
|
|
111
|
+
required: true,
|
|
112
|
+
default: { '@path': '$.timestamp' }
|
|
113
|
+
},
|
|
114
|
+
eventType: {
|
|
115
|
+
label: 'Event Type',
|
|
116
|
+
description: 'The type of Segment event',
|
|
117
|
+
type: 'string',
|
|
118
|
+
unsafe_hidden: true,
|
|
119
|
+
required: true,
|
|
120
|
+
default: { '@path': '$.type' }
|
|
121
|
+
},
|
|
122
|
+
tags: {
|
|
123
|
+
label: 'Tags',
|
|
124
|
+
description: 'Tags to send with the event',
|
|
125
|
+
type: 'object',
|
|
126
|
+
required: false,
|
|
127
|
+
additionalProperties: true,
|
|
128
|
+
defaultObjectUI: 'keyvalue'
|
|
129
|
+
},
|
|
130
|
+
properties: {
|
|
131
|
+
label: 'Properties',
|
|
132
|
+
description: 'Additional properties to send with the event. Properties must be defined in Optimizely before they can be sent.',
|
|
133
|
+
type: 'object',
|
|
134
|
+
required: false,
|
|
135
|
+
additionalProperties: true,
|
|
136
|
+
defaultObjectUI: 'keyvalue',
|
|
137
|
+
properties: {
|
|
138
|
+
revenue: {
|
|
139
|
+
label: 'Revenue',
|
|
140
|
+
description: 'The revenue amount associated with this event For example, to represent $23.42, this field would be set to 23.42.',
|
|
141
|
+
type: 'number',
|
|
142
|
+
required: false
|
|
143
|
+
},
|
|
144
|
+
value: {
|
|
145
|
+
label: 'Value',
|
|
146
|
+
description: 'A scalar value associated with an event. This should be some non-revenue number.',
|
|
147
|
+
type: 'number',
|
|
148
|
+
required: false
|
|
149
|
+
},
|
|
150
|
+
quantity: {
|
|
151
|
+
label: 'Quantity',
|
|
152
|
+
description: 'An aggregatable "count" associated with this event; for example, a number of video views or items in a shopping cart.',
|
|
153
|
+
type: 'integer',
|
|
154
|
+
required: false
|
|
155
|
+
},
|
|
156
|
+
currency: {
|
|
157
|
+
label: 'Currency',
|
|
158
|
+
description: 'Currency code for revenue. Defaults to USD.',
|
|
159
|
+
type: 'string',
|
|
160
|
+
required: false,
|
|
161
|
+
default: 'USD'
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
default: {
|
|
165
|
+
revenue: {
|
|
166
|
+
'@path': '$.properties.revenue'
|
|
167
|
+
},
|
|
168
|
+
value: {
|
|
169
|
+
'@path': '$.properties.value'
|
|
170
|
+
},
|
|
171
|
+
quantity: {
|
|
172
|
+
'@path': '$.properties.quantity'
|
|
173
|
+
},
|
|
174
|
+
currency: {
|
|
175
|
+
'@path': '$.properties.currency'
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
sessionId: {
|
|
180
|
+
label: 'Session ID',
|
|
181
|
+
description: 'A unique identifier that identifies the session context, if any, for these events. If omitted, the Optimizely backend will calculate session-based results by inferring sessions by opening a session when an event is first received from a given visitor_id, and closing the session after 30 minutes with no events received for that visitor, with a maximum session size of 24 hours.',
|
|
182
|
+
type: 'string',
|
|
183
|
+
required: false,
|
|
184
|
+
default: {
|
|
185
|
+
'@if': {
|
|
186
|
+
exists: { '@path': '$.integrations.actions-optimizely-web.session_id' },
|
|
187
|
+
then: { '@path': '$.integrations.actions-optimizely-web.session_id' },
|
|
188
|
+
else: { '@path': '$.properties.session_id' }
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface Payload {
|
|
2
|
+
uuid: string;
|
|
3
|
+
endUserId: string;
|
|
4
|
+
anonymizeIP: boolean;
|
|
5
|
+
eventMatching: {
|
|
6
|
+
createEventIfNotFound: string;
|
|
7
|
+
shouldSnakeCaseEventKey: boolean;
|
|
8
|
+
eventKey?: string;
|
|
9
|
+
eventId?: string;
|
|
10
|
+
};
|
|
11
|
+
pageUrl?: string;
|
|
12
|
+
category: string;
|
|
13
|
+
timestamp: string | number;
|
|
14
|
+
eventType: string;
|
|
15
|
+
tags?: {
|
|
16
|
+
[k: string]: unknown;
|
|
17
|
+
};
|
|
18
|
+
properties?: {
|
|
19
|
+
revenue?: number;
|
|
20
|
+
value?: number;
|
|
21
|
+
quantity?: number;
|
|
22
|
+
currency?: string;
|
|
23
|
+
[k: string]: unknown;
|
|
24
|
+
};
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fields_1 = require("./fields");
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Track Event',
|
|
7
|
+
description: 'Send a Segment track or page event to Optimizely',
|
|
8
|
+
defaultSubscription: 'type = "track" or type = "page"',
|
|
9
|
+
fields: fields_1.fields,
|
|
10
|
+
perform: async (request, { payload, settings }) => {
|
|
11
|
+
return await utils_1.send(request, settings, payload);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.default = action;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/index.ts"],"names":[],"mappings":";;AAGA,qCAAiC;AACjC,mCAA8B;AAE9B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,kDAAkD;IAC/D,mBAAmB,EAAE,iCAAiC;IACtD,MAAM,EAAN,eAAM;IACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,OAAO,MAAM,YAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { TRACK, PAGE } from './constants';
|
|
2
|
+
export interface SendEventJSON {
|
|
3
|
+
account_id: string;
|
|
4
|
+
project_id?: number;
|
|
5
|
+
anonymize_ip: boolean;
|
|
6
|
+
client_name: 'Segment Optimizely Web Destination';
|
|
7
|
+
client_version: string;
|
|
8
|
+
enrich_decisions: true;
|
|
9
|
+
visitors: Array<Visitor>;
|
|
10
|
+
}
|
|
11
|
+
export interface Visitor {
|
|
12
|
+
visitor_id: string;
|
|
13
|
+
session_id?: string;
|
|
14
|
+
attributes: [];
|
|
15
|
+
snapshots: Array<Snapshot>;
|
|
16
|
+
}
|
|
17
|
+
export interface Snapshot {
|
|
18
|
+
decisions: [];
|
|
19
|
+
events: Array<Event>;
|
|
20
|
+
}
|
|
21
|
+
export interface Event {
|
|
22
|
+
entity_id: string;
|
|
23
|
+
key?: string;
|
|
24
|
+
timestamp: UnixTimestamp13;
|
|
25
|
+
uuid: string;
|
|
26
|
+
type: EventType;
|
|
27
|
+
revenue?: number;
|
|
28
|
+
value?: number;
|
|
29
|
+
tags: {
|
|
30
|
+
quantity?: number;
|
|
31
|
+
currency?: string;
|
|
32
|
+
$opt_event_properties?: {
|
|
33
|
+
[key: string]: string | number | boolean;
|
|
34
|
+
};
|
|
35
|
+
[key: string]: string | number | {
|
|
36
|
+
[key: string]: string | number | boolean;
|
|
37
|
+
} | undefined;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export declare type EventType = 'view_activated' | 'other';
|
|
41
|
+
export declare type UnixTimestamp13 = number & {
|
|
42
|
+
__type: 'UnixTimestamp13';
|
|
43
|
+
};
|
|
44
|
+
export interface EventItem {
|
|
45
|
+
id: number;
|
|
46
|
+
key: string;
|
|
47
|
+
name: string;
|
|
48
|
+
}
|
|
49
|
+
export interface CreateEventJSON {
|
|
50
|
+
category: string;
|
|
51
|
+
event_type: string;
|
|
52
|
+
key: string;
|
|
53
|
+
name?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface CreatePageJSON extends CreateEventJSON {
|
|
56
|
+
edit_url: string;
|
|
57
|
+
project_id: number;
|
|
58
|
+
}
|
|
59
|
+
export declare type Type = typeof TRACK | typeof PAGE;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/optimizely-web/trackEvent/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Payload } from './generated-types';
|
|
2
|
+
import { Settings } from '../generated-types';
|
|
3
|
+
import { RequestClient } from '@segment/actions-core';
|
|
4
|
+
import { UnixTimestamp13, EventItem, Type } from './types';
|
|
5
|
+
import { OptimizelyWebClient } from './client';
|
|
6
|
+
export declare function send(request: RequestClient, settings: Settings, payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
7
|
+
export declare function validate(payload: Payload): {
|
|
8
|
+
unixTimestamp13: UnixTimestamp13;
|
|
9
|
+
restProperties: {
|
|
10
|
+
[k: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
value: number | undefined;
|
|
13
|
+
revenue: number | undefined;
|
|
14
|
+
quantity: number | undefined;
|
|
15
|
+
currency: string | undefined;
|
|
16
|
+
tags: {
|
|
17
|
+
[k: string]: unknown;
|
|
18
|
+
} | undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare function areAllPropertiesPrimitive(obj: Record<string, unknown> | undefined, typesToCheck?: Array<'string' | 'boolean' | 'number'>): boolean;
|
|
21
|
+
export declare function getEventid(client: OptimizelyWebClient, payload: Payload): Promise<string>;
|
|
22
|
+
export declare function cleanKey(eventType: Type, shouldSnakeCaseEventKey: boolean, key?: string): string | undefined;
|
|
23
|
+
export declare function getEventFromCache(key: string): EventItem | undefined;
|
|
24
|
+
export declare function getEventsFromCache(): EventItem[];
|
|
25
|
+
export declare function ensureEventSchema(client: OptimizelyWebClient, key: string, name: string, category: string, type: Type, pageUrl?: string): Promise<EventItem>;
|