@segment/action-destinations 3.57.0 → 3.58.1-alpha.6

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 (27) hide show
  1. package/dist/destinations/criteo-audiences/addUserToAudience/generated-types.d.ts +5 -0
  2. package/dist/destinations/criteo-audiences/addUserToAudience/generated-types.js +3 -0
  3. package/dist/destinations/criteo-audiences/addUserToAudience/generated-types.js.map +1 -0
  4. package/dist/destinations/criteo-audiences/addUserToAudience/index.d.ts +5 -0
  5. package/dist/destinations/criteo-audiences/addUserToAudience/index.js +68 -0
  6. package/dist/destinations/criteo-audiences/addUserToAudience/index.js.map +1 -0
  7. package/dist/destinations/criteo-audiences/criteo-audiences.d.ts +17 -0
  8. package/dist/destinations/criteo-audiences/criteo-audiences.js +123 -0
  9. package/dist/destinations/criteo-audiences/criteo-audiences.js.map +1 -0
  10. package/dist/destinations/criteo-audiences/generated-types.d.ts +5 -0
  11. package/dist/destinations/criteo-audiences/generated-types.js +3 -0
  12. package/dist/destinations/criteo-audiences/generated-types.js.map +1 -0
  13. package/dist/destinations/criteo-audiences/index.d.ts +4 -0
  14. package/dist/destinations/criteo-audiences/index.js +50 -0
  15. package/dist/destinations/criteo-audiences/index.js.map +1 -0
  16. package/dist/destinations/criteo-audiences/removeUserFromAudience/generated-types.d.ts +5 -0
  17. package/dist/destinations/criteo-audiences/removeUserFromAudience/generated-types.js +3 -0
  18. package/dist/destinations/criteo-audiences/removeUserFromAudience/generated-types.js.map +1 -0
  19. package/dist/destinations/criteo-audiences/removeUserFromAudience/index.d.ts +5 -0
  20. package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js +68 -0
  21. package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js.map +1 -0
  22. package/dist/destinations/index.js +1 -0
  23. package/dist/destinations/index.js.map +1 -1
  24. package/dist/destinations/salesforce/generated-types.d.ts +1 -0
  25. package/dist/destinations/salesforce/index.js +5 -0
  26. package/dist/destinations/salesforce/index.js.map +1 -1
  27. package/package.json +4 -4
@@ -0,0 +1,5 @@
1
+ export interface Payload {
2
+ audience_key?: string;
3
+ event?: string;
4
+ email?: 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/criteo-audiences/addUserToAudience/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const criteo_audiences_1 = require("../criteo-audiences");
4
+ const getOperationFromPayload = async (request, advertiser_id, payload, credentials) => {
5
+ const add_user_list = [];
6
+ let audience_key = '';
7
+ for (const event of payload) {
8
+ if (!audience_key && event.audience_key)
9
+ audience_key = event.audience_key;
10
+ if (event.email)
11
+ add_user_list.push(event.email);
12
+ }
13
+ const audience_id = await criteo_audiences_1.getAudienceId(request, advertiser_id, audience_key, credentials);
14
+ const operation = {
15
+ operation_type: "add",
16
+ audience_id: audience_id,
17
+ user_list: add_user_list,
18
+ };
19
+ return operation;
20
+ };
21
+ const processPayload = async (request, settings, payload) => {
22
+ const credentials = {
23
+ client_id: settings.client_id,
24
+ client_secret: settings.client_secret
25
+ };
26
+ const operation = await getOperationFromPayload(request, settings.advertiser_id, payload, credentials);
27
+ return await criteo_audiences_1.patchAudience(request, operation, credentials);
28
+ };
29
+ const action = {
30
+ title: 'Add users to Audience',
31
+ description: 'Add users from Criteo audience by connecting to Criteo API',
32
+ defaultSubscription: 'type = "track" and event = "Audience Entered"',
33
+ fields: {
34
+ audience_key: {
35
+ label: 'Audience key',
36
+ description: "Unique name for personas audience",
37
+ type: 'string',
38
+ default: {
39
+ '@path': '$.properties.audience_key'
40
+ }
41
+ },
42
+ event: {
43
+ label: 'Event name',
44
+ description: "Event for audience entering or exiting",
45
+ type: 'string',
46
+ default: {
47
+ '@path': '$.event'
48
+ }
49
+ },
50
+ email: {
51
+ label: 'Email',
52
+ description: "The user's email",
53
+ type: 'string',
54
+ format: 'email',
55
+ default: {
56
+ '@path': '$.context.traits.email'
57
+ }
58
+ },
59
+ },
60
+ perform: async (request, { settings, payload }) => {
61
+ return await processPayload(request, settings, [payload]);
62
+ },
63
+ performBatch: async (request, { settings, payload }) => {
64
+ return await processPayload(request, settings, payload);
65
+ }
66
+ };
67
+ exports.default = action;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/criteo-audiences/addUserToAudience/index.ts"],"names":[],"mappings":";;AACA,0DAAkE;AAMlE,MAAM,uBAAuB,GAAG,KAAK,EACnC,OAAsB,EACtB,aAAqB,EACrB,OAAkB,EAClB,WAA8B,EACV,EAAE;IACtB,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,IAAI,YAAY,GAAG,EAAE,CAAA;IAOrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY;YACrC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACnC,IAAI,KAAK,CAAC,KAAK;YACb,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAClC;IAED,MAAM,WAAW,GAAG,MAAM,gCAAa,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAC1F,MAAM,SAAS,GAAc;QAC3B,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,aAAa;KACzB,CAAA;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAsB,EACtB,QAAkB,EAClB,OAAkB,EACC,EAAE;IACrB,MAAM,WAAW,GAAsB;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAA;IACD,MAAM,SAAS,GAAc,MAAM,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAClH,OAAO,MAAM,gCAAa,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,4DAA4D;IACzE,mBAAmB,EAAE,+CAA+C;IACpE,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,wBAAwB;aAClC;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEzD,CAAC;CACF,CAAA;AACD,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { RequestClient } from '@segment/actions-core';
2
+ export declare type Operation = {
3
+ operation_type: string;
4
+ audience_id: string;
5
+ user_list: string[];
6
+ };
7
+ export declare type ClientCredentials = {
8
+ client_id: string;
9
+ client_secret: string;
10
+ access_token?: string;
11
+ };
12
+ export declare const getAccessToken: (request: RequestClient, credentials: ClientCredentials) => Promise<string>;
13
+ export declare const criteoAuthenticate: (request: RequestClient, credentials: ClientCredentials) => Promise<ClientCredentials>;
14
+ export declare const patchAudience: (request: RequestClient, operation: Operation, credentials: ClientCredentials) => Promise<Response>;
15
+ export declare const getAdvertiserAudiences: (request: RequestClient, advertiser_id: string, credentials: ClientCredentials) => Promise<Array<Record<string, any>>>;
16
+ export declare const getAudienceId: (request: RequestClient, advertiser_id: string, audience_name: string, credentials: ClientCredentials) => Promise<string>;
17
+ export declare const createAudience: (request: RequestClient, advertiser_id: string, audience_name: string, credentials: ClientCredentials) => Promise<string>;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAudience = exports.getAudienceId = exports.getAdvertiserAudiences = exports.patchAudience = exports.criteoAuthenticate = exports.getAccessToken = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const BASE_API_URL = 'https://api.criteo.com/2022-01';
6
+ const getRequestHeaders = async (request, credentials) => {
7
+ credentials = await exports.criteoAuthenticate(request, credentials);
8
+ return {
9
+ 'Accept': 'application/json',
10
+ 'Content-Type': 'application/json',
11
+ 'Authorization': `Bearer ` + credentials.access_token
12
+ };
13
+ };
14
+ const getAccessToken = async (request, credentials) => {
15
+ const res = await request(`https://api.criteo.com/oauth2/token`, {
16
+ method: 'POST',
17
+ body: new URLSearchParams({
18
+ client_id: credentials.client_id,
19
+ client_secret: credentials.client_secret,
20
+ grant_type: 'client_credentials'
21
+ }),
22
+ headers: {
23
+ 'Accept': 'text/plain',
24
+ 'Content-Type': 'application/x-www-form-urlencoded'
25
+ },
26
+ });
27
+ const body = await res.json();
28
+ if (res.status !== 200)
29
+ throw new Error(`Error while getting an access token: ${JSON.stringify(body)}`);
30
+ return body.access_token;
31
+ };
32
+ exports.getAccessToken = getAccessToken;
33
+ const criteoAuthenticate = async (request, credentials) => {
34
+ if (!credentials.access_token)
35
+ credentials.access_token = await exports.getAccessToken(request, credentials);
36
+ return credentials;
37
+ };
38
+ exports.criteoAuthenticate = criteoAuthenticate;
39
+ const patchAudience = async (request, operation, credentials) => {
40
+ if (operation.operation_type !== "add" && operation.operation_type !== "remove")
41
+ throw new Error(`Incorrect operation type: ${operation.operation_type}`);
42
+ if (isNaN(+operation.audience_id))
43
+ throw new Error(`The Audience ID should be a number (${operation.audience_id})`);
44
+ const endpoint = `${BASE_API_URL}/audiences/${operation.audience_id}/contactlist`;
45
+ const headers = await getRequestHeaders(request, credentials);
46
+ const payload = {
47
+ "data": {
48
+ "type": "ContactlistAmendment",
49
+ "attributes": {
50
+ "operation": operation.operation_type,
51
+ "identifierType": "email",
52
+ "identifiers": operation.user_list
53
+ }
54
+ }
55
+ };
56
+ return fetchRetry(request, endpoint, {
57
+ method: 'PATCH',
58
+ json: payload,
59
+ headers: headers
60
+ });
61
+ };
62
+ exports.patchAudience = patchAudience;
63
+ const getAdvertiserAudiences = async (request, advertiser_id, credentials) => {
64
+ if (isNaN(+advertiser_id))
65
+ throw new actions_core_1.IntegrationError('The Advertiser ID should be a number', 'Invalid input', 400);
66
+ const endpoint = `${BASE_API_URL}/audiences?advertiser-id=${advertiser_id}`;
67
+ const headers = await getRequestHeaders(request, credentials);
68
+ const response = await request(endpoint, { method: 'GET', headers: headers });
69
+ const body = await response.json();
70
+ if (response.status !== 200)
71
+ throw new actions_core_1.IntegrationError(`Error while fetching the Advertiser's audiences: ${JSON.stringify(body.errors)}`);
72
+ return body.data;
73
+ };
74
+ exports.getAdvertiserAudiences = getAdvertiserAudiences;
75
+ const getAudienceId = async (request, advertiser_id, audience_name, credentials) => {
76
+ if (!audience_name)
77
+ throw new Error(`Invalid Audience Name: ${audience_name}`);
78
+ const advertiser_audiences = await exports.getAdvertiserAudiences(request, advertiser_id, credentials);
79
+ for (const audience of advertiser_audiences) {
80
+ if (audience.attributes.name === audience_name)
81
+ return audience.id;
82
+ }
83
+ return await exports.createAudience(request, advertiser_id, audience_name, credentials);
84
+ };
85
+ exports.getAudienceId = getAudienceId;
86
+ const delay = (ms) => new Promise((res) => setTimeout(res, ms));
87
+ const fetchRetry = async (request, endpoint, options, retries = 3, backoff = 300) => {
88
+ try {
89
+ return await request(endpoint, options);
90
+ }
91
+ catch (err) {
92
+ if (retries === 1) {
93
+ throw new Error('All retries failed!');
94
+ }
95
+ await delay(backoff);
96
+ return await fetchRetry(request, endpoint, options, retries - 1, backoff * 2);
97
+ }
98
+ };
99
+ const createAudience = async (request, advertiser_id, audience_name, credentials) => {
100
+ if (!audience_name)
101
+ throw new Error(`Invalid Audience Name: ${audience_name}`);
102
+ if (isNaN(+advertiser_id))
103
+ throw new actions_core_1.IntegrationError('The Advertiser ID should be a number', 'Invalid input', 400);
104
+ const endpoint = `${BASE_API_URL}/audiences`;
105
+ const headers = await getRequestHeaders(request, credentials);
106
+ const payload = {
107
+ "data": {
108
+ "attributes": {
109
+ "advertiserId": advertiser_id,
110
+ "name": audience_name,
111
+ "description": audience_name
112
+ },
113
+ "type": "Audience"
114
+ }
115
+ };
116
+ const response = await request(endpoint, { method: 'POST', headers: headers, json: payload });
117
+ const body = await response.json();
118
+ if (response.status !== 200)
119
+ throw new Error(`Error while fetching the Advertiser's audiences: ${JSON.stringify(body.errors)}`);
120
+ return body.data.id;
121
+ };
122
+ exports.createAudience = createAudience;
123
+ //# sourceMappingURL=criteo-audiences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteo-audiences.js","sourceRoot":"","sources":["../../../src/destinations/criteo-audiences/criteo-audiences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface Settings {
2
+ client_id: string;
3
+ client_secret: string;
4
+ advertiser_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/criteo-audiences/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { 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,50 @@
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 addUserToAudience_1 = __importDefault(require("./addUserToAudience"));
7
+ const removeUserFromAudience_1 = __importDefault(require("./removeUserFromAudience"));
8
+ const criteo_audiences_1 = require("./criteo-audiences");
9
+ const destination = {
10
+ name: 'Criteo Audiences',
11
+ slug: 'actions-criteo-audiences',
12
+ description: 'Add/remove users to/from Criteo Audiences using Criteo API',
13
+ mode: 'cloud',
14
+ authentication: {
15
+ scheme: 'custom',
16
+ fields: {
17
+ client_id: {
18
+ label: 'API Client ID',
19
+ description: 'Your Criteo API client ID',
20
+ type: 'string',
21
+ required: true
22
+ },
23
+ client_secret: {
24
+ label: 'API Client Secret',
25
+ description: 'Your Criteo API client secret',
26
+ type: 'string',
27
+ required: true
28
+ },
29
+ advertiser_id: {
30
+ label: 'Advertiser ID',
31
+ description: 'Your Criteo Advertiser ID',
32
+ type: 'string',
33
+ required: true
34
+ }
35
+ },
36
+ testAuthentication: async (request, { settings }) => {
37
+ const credentials = await criteo_audiences_1.criteoAuthenticate(request, {
38
+ client_id: settings.client_id,
39
+ client_secret: settings.client_secret
40
+ });
41
+ return credentials.access_token;
42
+ }
43
+ },
44
+ actions: {
45
+ addUserToAudience: addUserToAudience_1.default,
46
+ removeUserFromAudience: removeUserFromAudience_1.default
47
+ }
48
+ };
49
+ exports.default = destination;
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/criteo-audiences/index.ts"],"names":[],"mappings":";;;;;AAEA,4EAAmD;AACnD,sFAA6D;AAC7D,yDAAuD;AAGvD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,OAAO;IACb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,+BAA+B;gBAC5C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,WAAW,GAAsB,MAAM,qCAAkB,CAAC,OAAO,EAAE;gBACvE,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;aACtC,CAAC,CAAA;YACF,OAAO,WAAW,CAAC,YAAY,CAAA;QACjC,CAAC;KACF;IACD,OAAO,EAAE;QACP,iBAAiB,EAAjB,2BAAiB;QACjB,sBAAsB,EAAtB,gCAAsB;KACvB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface Payload {
2
+ audience_key?: string;
3
+ event?: string;
4
+ email?: 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/criteo-audiences/removeUserFromAudience/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,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const criteo_audiences_1 = require("../criteo-audiences");
4
+ const getOperationFromPayload = async (request, advertiser_id, payload, credentials) => {
5
+ const remove_user_list = [];
6
+ let audience_key = '';
7
+ for (const event of payload) {
8
+ if (!audience_key && event.audience_key)
9
+ audience_key = event.audience_key;
10
+ if (event.email)
11
+ remove_user_list.push(event.email);
12
+ }
13
+ const audience_id = await criteo_audiences_1.getAudienceId(request, advertiser_id, audience_key, credentials);
14
+ const operation = {
15
+ operation_type: "remove",
16
+ audience_id: audience_id,
17
+ user_list: remove_user_list,
18
+ };
19
+ return operation;
20
+ };
21
+ const processPayload = async (request, settings, payload) => {
22
+ const credentials = {
23
+ client_id: settings.client_id,
24
+ client_secret: settings.client_secret
25
+ };
26
+ const operation = await getOperationFromPayload(request, settings.advertiser_id, payload, credentials);
27
+ return await criteo_audiences_1.patchAudience(request, operation, credentials);
28
+ };
29
+ const action = {
30
+ title: 'Remove users from Audience',
31
+ description: 'Remove users from Criteo audience by connecting to Criteo API',
32
+ defaultSubscription: 'type = "track" and event = "Audience Exited"',
33
+ fields: {
34
+ audience_key: {
35
+ label: 'Audience key',
36
+ description: "Unique name for personas audience",
37
+ type: 'string',
38
+ default: {
39
+ '@path': '$.properties.audience_key'
40
+ }
41
+ },
42
+ event: {
43
+ label: 'Event name',
44
+ description: "Event for audience entering or exiting",
45
+ type: 'string',
46
+ default: {
47
+ '@path': '$.event'
48
+ }
49
+ },
50
+ email: {
51
+ label: 'Email',
52
+ description: "The user's email",
53
+ type: 'string',
54
+ format: 'email',
55
+ default: {
56
+ '@path': '$.context.traits.email'
57
+ }
58
+ },
59
+ },
60
+ perform: async (request, { settings, payload }) => {
61
+ return await processPayload(request, settings, [payload]);
62
+ },
63
+ performBatch: async (request, { settings, payload }) => {
64
+ return await processPayload(request, settings, payload);
65
+ }
66
+ };
67
+ exports.default = action;
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/criteo-audiences/removeUserFromAudience/index.ts"],"names":[],"mappings":";;AACA,0DAAkE;AAOlE,MAAM,uBAAuB,GAAG,KAAK,EACnC,OAAsB,EACtB,aAAqB,EACrB,OAAkB,EAClB,WAA8B,EACV,EAAE;IACtB,MAAM,gBAAgB,GAAa,EAAE,CAAA;IACrC,IAAI,YAAY,GAAG,EAAE,CAAA;IAErB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY;YACrC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACnC,IAAI,KAAK,CAAC,KAAK;YACb,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KACrC;IAED,MAAM,WAAW,GAAG,MAAM,gCAAa,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAE1F,MAAM,SAAS,GAAc;QAC3B,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,gBAAgB;KAC5B,CAAA;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAsB,EACtB,QAAkB,EAClB,OAAkB,EACC,EAAE;IAErB,MAAM,WAAW,GAAsB;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAA;IACD,MAAM,SAAS,GAAc,MAAM,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAClH,OAAO,MAAM,gCAAa,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,4BAA4B;IACnC,WAAW,EAAE,+DAA+D;IAC5E,mBAAmB,EAAE,8CAA8C;IACnE,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,wBAAwB;aAClC;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAGD,kBAAe,MAAM,CAAA"}
@@ -34,6 +34,7 @@ register('60f9d0d048950c356be2e4da', './braze');
34
34
  register('61d7456b078e79929de4ee8c', './clevertap');
35
35
  register('61f8296b7d15c30a3bbe2b76', './close');
36
36
  register('61eed75ba749df7601b12186', './cordial');
37
+ register('6238cec53a46dd187d094eb7', './criteo-audiences');
37
38
  register('5f7dd78fe27ce7ff2b8bfa37', './customerio');
38
39
  register('61806e472cd47ea1104885fc', './facebook-conversions-api');
39
40
  register('61dde0dc77eb0db0392649d3', './friendbuy');
@@ -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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"}
@@ -1,3 +1,4 @@
1
1
  export interface Settings {
2
2
  instanceUrl: string;
3
+ isSandbox?: boolean;
3
4
  }
@@ -21,6 +21,11 @@ const destination = {
21
21
  description: 'The user specific instance URL returned by Salesforce Oauth. This setting is hidden to the user and set by Oauth Service.',
22
22
  type: 'string',
23
23
  required: true
24
+ },
25
+ isSandbox: {
26
+ label: 'Sandbox Instance',
27
+ description: 'Enable to authenticate into a sandbox instance.',
28
+ type: 'boolean'
24
29
  }
25
30
  },
26
31
  refreshAccessToken: async (request, { auth }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAA2B;AAC3B,kDAAyB;AACzB,gEAAuC;AACvC,kEAAyC;AACzC,wDAA+B;AAC/B,wDAA+B;AAM/B,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAE9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,oDAAoD,EAAE;gBACpG,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAZ,sBAAY;QACZ,KAAK,EAAL,eAAK;QACL,OAAO,EAAP,iBAAO;QACP,WAAW,EAAX,qBAAW;QACX,OAAO,EAAP,iBAAO;KACR;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce/index.ts"],"names":[],"mappings":";;;;;AAGA,oDAA2B;AAC3B,kDAAyB;AACzB,gEAAuC;AACvC,kEAAyC;AACzC,wDAA+B;AAC/B,wDAA+B;AAM/B,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,iDAAiD;gBAC9D,IAAI,EAAE,SAAS;aAChB;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAE9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,oDAAoD,EAAE;gBACpG,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;iBAC5B,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAZ,sBAAY;QACZ,KAAK,EAAL,eAAK;QACL,OAAO,EAAP,iBAAO;QACP,WAAW,EAAX,qBAAW;QACX,OAAO,EAAP,iBAAO;KACR;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
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.57.0",
4
+ "version": "3.58.1-alpha.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@amplitude/ua-parser-js": "^0.7.25",
41
- "@segment/actions-core": "^3.22.1",
42
- "@segment/actions-shared": "^1.4.0",
41
+ "@segment/actions-core": "^3.22.2-alpha.6",
42
+ "@segment/actions-shared": "^1.4.1-alpha.6",
43
43
  "cheerio": "^1.0.0-rc.10",
44
44
  "dayjs": "^1.10.7",
45
45
  "escape-goat": "^3",
@@ -62,5 +62,5 @@
62
62
  "<rootDir>/test/setup-after-env.ts"
63
63
  ]
64
64
  },
65
- "gitHead": "ae4f1b9ab04e0346dceb4df929aa39b7470c7a07"
65
+ "gitHead": "021acf30555589ae3a26ac0bf6d5ca5f79f4b681"
66
66
  }