@segment/action-destinations 3.121.2-braze-cohorts-stg.11 → 3.122.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.
@@ -71,7 +71,6 @@ register('632b1116e0cb83902f3fd717', './hubspot');
71
71
  register('636d38db78d7834347d76c44', './1plusx-asset-api');
72
72
  register('6371eee1ae5e324869aa8b1b', './segment');
73
73
  register('63936c37dbc54a052e34e30e', './google-sheets-dev');
74
- register('63872c01c0c112b9b4d75412', './braze-cohorts');
75
74
  function register(id, destinationPath) {
76
75
  const definition = require(destinationPath).default;
77
76
  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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"}
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.121.2-braze-cohorts-stg.11+143a4faf",
4
+ "version": "3.122.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -38,8 +38,8 @@
38
38
  "dependencies": {
39
39
  "@amplitude/ua-parser-js": "^0.7.25",
40
40
  "@segment/a1-notation": "^2.1.4",
41
- "@segment/actions-core": "^3.45.1-braze-cohorts-stg.42+143a4faf",
42
- "@segment/actions-shared": "^1.27.1-braze-cohorts-stg.42+143a4faf",
41
+ "@segment/actions-core": "^3.46.0",
42
+ "@segment/actions-shared": "^1.28.0",
43
43
  "cheerio": "^1.0.0-rc.10",
44
44
  "dayjs": "^1.10.7",
45
45
  "escape-goat": "^3",
@@ -65,5 +65,5 @@
65
65
  "lcov"
66
66
  ]
67
67
  },
68
- "gitHead": "143a4faf0ad819f5e4da4eabfab56b4b2e79217d"
68
+ "gitHead": "b121ec10f314838c669cee4b55e5f85926f9d1d4"
69
69
  }
@@ -1,14 +0,0 @@
1
- import type { RequestClient, ModifiedResponse } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from '../syncAudiences/generated-types';
4
- interface APIResponse {
5
- message: string;
6
- }
7
- export declare class SyncAudiences {
8
- request: RequestClient;
9
- partnerApiKey: String;
10
- constructor(request: RequestClient, settings: Settings);
11
- createCohort(settings: Settings, payload: Payload): Promise<ModifiedResponse<APIResponse>>;
12
- batchUpdate(settings: Settings, cohort_id: string, { addUsers, removeUsers, hasAddUsers, hasRemoveUsers }: any): Promise<ModifiedResponse>;
13
- }
14
- export {};
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncAudiences = void 0;
4
- class SyncAudiences {
5
- constructor(request, settings) {
6
- this.request = request;
7
- this.partnerApiKey = (settings.endpoint.includes('eu')
8
- ? process.env.BRAZE_COHORTS_PARTNER_API_KEY_EU
9
- : process.env.BRAZE_COHORTS_PARTNER_API_KEY_US);
10
- }
11
- async createCohort(settings, payload) {
12
- return this.request(`${settings.endpoint}/partners/segment/cohorts`, {
13
- method: 'POST',
14
- json: {
15
- partner_api_key: this.partnerApiKey,
16
- client_secret: settings.client_secret,
17
- name: payload?.cohort_name,
18
- cohort_id: payload?.cohort_id,
19
- created_at: payload?.time
20
- }
21
- });
22
- }
23
- async batchUpdate(settings, cohort_id, { addUsers, removeUsers, hasAddUsers, hasRemoveUsers }) {
24
- const cohortChanges = [];
25
- if (hasAddUsers) {
26
- cohortChanges.push(addUsers);
27
- }
28
- if (hasRemoveUsers) {
29
- cohortChanges.push(removeUsers);
30
- }
31
- return this.request(`${settings.endpoint}/partners/segment/cohorts/users`, {
32
- method: 'POST',
33
- json: {
34
- partner_api_key: this.partnerApiKey,
35
- client_secret: settings.client_secret,
36
- cohort_id: cohort_id,
37
- cohort_changes: cohortChanges
38
- }
39
- });
40
- }
41
- }
42
- exports.SyncAudiences = SyncAudiences;
43
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze-cohorts/api/index.ts"],"names":[],"mappings":";;;AASA,MAAa,aAAa;IAIxB,YAAY,OAAsB,EAAE,QAAkB;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,CACnB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC;YAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CACvC,CAAA;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAkB,EAAE,OAAgB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,2BAA2B,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,eAAe,EAAE,IAAI,CAAC,aAAa;gBACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,IAAI,EAAE,OAAO,EAAE,WAAW;gBAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,UAAU,EAAE,OAAO,EAAE,IAAI;aAC1B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAkB,EAClB,SAAiB,EACjB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAO;QAE3D,MAAM,aAAa,GAAyB,EAAE,CAAA;QAC9C,IAAI,WAAW,EAAE;YACf,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC7B;QACD,IAAI,cAAc,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SAChC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,iCAAiC,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,eAAe,EAAE,IAAI,CAAC,aAAa;gBACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,aAAa;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAjDD,sCAiDC"}
@@ -1,10 +0,0 @@
1
- export interface UserAlias {
2
- alias_name: string;
3
- alias_label: string;
4
- }
5
- export interface CohortChanges {
6
- user_ids: Array<string>;
7
- device_ids: Array<string>;
8
- aliases: Array<UserAlias>;
9
- should_remove?: boolean;
10
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=cohortChanges.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohortChanges.js","sourceRoot":"","sources":["../../../src/destinations/braze-cohorts/cohortChanges.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export interface Settings {
2
- client_secret: string;
3
- endpoint: string;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/braze-cohorts/generated-types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
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;
@@ -1,59 +0,0 @@
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 syncAudiences_1 = __importDefault(require("./syncAudiences"));
7
- const destination = {
8
- name: 'Braze Cohorts',
9
- slug: 'actions-braze-cohorts',
10
- mode: 'cloud',
11
- authentication: {
12
- scheme: 'custom',
13
- fields: {
14
- client_secret: {
15
- label: 'Client Secret key',
16
- description: 'Data Import Key for the client whose cohort this belongs to. Also known as customer key.',
17
- type: 'password',
18
- required: true
19
- },
20
- endpoint: {
21
- label: 'REST Endpoint',
22
- description: 'Your Braze REST endpoint. [See more details](https://www.braze.com/docs/api/basics/#endpoints)',
23
- type: 'string',
24
- format: 'uri',
25
- choices: [
26
- { label: 'US-01 (https://dashboard-01.braze.com)', value: 'https://rest.iad-01.braze.com' },
27
- { label: 'US-02 (https://dashboard-02.braze.com)', value: 'https://rest.iad-02.braze.com' },
28
- { label: 'US-03 (https://dashboard-03.braze.com)', value: 'https://rest.iad-03.braze.com' },
29
- { label: 'US-04 (https://dashboard-04.braze.com)', value: 'https://rest.iad-04.braze.com' },
30
- { label: 'US-05 (https://dashboard-05.braze.com)', value: 'https://rest.iad-05.braze.com' },
31
- { label: 'US-06 (https://dashboard-06.braze.com)', value: 'https://rest.iad-06.braze.com' },
32
- { label: 'US-08 (https://dashboard-08.braze.com)', value: 'https://rest.iad-08.braze.com' },
33
- { label: 'EU-01 (https://dashboard-01.braze.eu)', value: 'https://rest.fra-01.braze.eu' },
34
- { label: 'EU-02 (https://dashboard-02.braze.eu)', value: 'https://rest.fra-02.braze.eu' }
35
- ],
36
- default: 'https://rest.iad-01.braze.com',
37
- required: true
38
- }
39
- },
40
- testAuthentication: (request, { settings }) => {
41
- return request(`${settings.endpoint}/partners/segment/cohorts/users`, {
42
- method: 'post',
43
- json: {
44
- client_secret: settings.client_secret,
45
- partner_api_key: settings.endpoint.includes('eu')
46
- ? process.env.BRAZE_COHORTS_PARTNER_API_KEY_EU
47
- : process.env.BRAZE_COHORTS_PARTNER_API_KEY_US,
48
- cohort_id: 'will_add_in_constant',
49
- cohort_changes: []
50
- }
51
- });
52
- }
53
- },
54
- actions: {
55
- syncAudiences: syncAudiences_1.default
56
- }
57
- };
58
- exports.default = destination;
59
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/braze-cohorts/index.ts"],"names":[],"mappings":";;;;;AAGA,oEAA2C;AAE3C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,OAAO;IACb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,0FAA0F;gBACvG,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,gGAAgG;gBAC7G,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,+BAA+B,EAAE;oBAC3F,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,8BAA8B,EAAE;oBACzF,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,8BAA8B,EAAE;iBAC1F;gBACD,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,iCAAiC,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC/C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC;wBAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC;oBAChD,SAAS,EAAE,sBAAsB;oBACjC,cAAc,EAAE,EAAE;iBACnB;aACF,CAAC,CAAA;QACJ,CAAC;KACF;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,16 +0,0 @@
1
- export interface Payload {
2
- external_id?: string;
3
- user_alias?: {
4
- alias_name: string;
5
- alias_label: string;
6
- };
7
- device_id?: string;
8
- cohort_id: string;
9
- cohort_name: string;
10
- enable_batching?: boolean;
11
- personas_audience_key: string;
12
- event_properties: {
13
- [k: string]: unknown;
14
- };
15
- time: string;
16
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/braze-cohorts/syncAudiences/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
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;
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
- const api_1 = require("../api");
5
- const action = {
6
- title: 'Sync Audience',
7
- description: 'Record custom events in Braze',
8
- defaultSubscription: 'event = "Audience Entered" or event = "Audience Exited"',
9
- fields: {
10
- external_id: {
11
- label: 'External User ID',
12
- description: 'The external_id serves as a unique user identifier for whom you are submitting data. This identifier should be the same as the one you set in the Braze SDK in order to avoid creating multiple profiles for the same user.',
13
- type: 'string',
14
- default: {
15
- '@path': '$.userId'
16
- }
17
- },
18
- user_alias: {
19
- label: 'User Alias Object',
20
- description: 'A user alias object. See [the docs](https://www.braze.com/docs/api/objects_filters/user_alias_object/).',
21
- type: 'object',
22
- properties: {
23
- alias_name: {
24
- label: 'Alias Name',
25
- type: 'string',
26
- required: true
27
- },
28
- alias_label: {
29
- label: 'Alias Label',
30
- type: 'string',
31
- required: true
32
- }
33
- },
34
- default: {
35
- '@path': '$.userAlias'
36
- }
37
- },
38
- device_id: {
39
- label: 'Device ID',
40
- description: 'The unique device Identifier',
41
- type: 'string',
42
- default: {
43
- '@path': '$.deviceId'
44
- }
45
- },
46
- cohort_id: {
47
- label: 'Cohort ID',
48
- description: 'The Cohort Identifier',
49
- type: 'hidden',
50
- required: true,
51
- default: {
52
- '@path': '$.personas.computation_id'
53
- }
54
- },
55
- cohort_name: {
56
- label: 'Cohort Name',
57
- description: 'The name of Cohort',
58
- type: 'hidden',
59
- required: true,
60
- default: {
61
- '@path': '$.personas.computation_key'
62
- }
63
- },
64
- enable_batching: {
65
- label: 'Enable Batching',
66
- description: 'Enable batching of requests to the Braze cohorts.',
67
- type: 'boolean',
68
- default: true
69
- },
70
- personas_audience_key: {
71
- label: 'Segment Engage Audience Key',
72
- description: 'The `audience_key` of the Engage audience you want to sync to LinkedIn. This value must be a hard-coded string variable, e.g. `personas_test_audience`, in order for batching to work properly.',
73
- type: 'string',
74
- required: true
75
- },
76
- event_properties: {
77
- label: 'Event Properties',
78
- description: 'Properties of the event',
79
- type: 'object',
80
- required: true,
81
- default: {
82
- '@if': {
83
- exists: { '@path': '$.properties' },
84
- then: { '@path': '$.properties' },
85
- else: { '@path': '$.traits' }
86
- }
87
- }
88
- },
89
- time: {
90
- label: 'Time',
91
- description: 'When the event occurred.',
92
- type: 'hidden',
93
- required: true,
94
- default: {
95
- '@path': '$.receivedAt'
96
- }
97
- }
98
- },
99
- perform: async (request, { settings, payload, logger, stateContext }) => {
100
- return processPayload(request, settings, [payload], logger, stateContext);
101
- },
102
- performBatch: async (request, { settings, payload, logger, stateContext }) => {
103
- return processPayload(request, settings, payload, logger, stateContext);
104
- }
105
- };
106
- async function processPayload(request, settings, payloads, logger, stateContext) {
107
- validate(payloads);
108
- const syncAudiencesApiClient = new api_1.SyncAudiences(request, settings);
109
- const { cohort_name, cohort_id } = payloads[0];
110
- logger?.info?.('Added New Log', payloads[0].time);
111
- logger?.info?.('Testing State Context', stateContext?.getRequestContext?.('cohort_name'));
112
- if (stateContext?.getRequestContext?.('cohort_name') != cohort_name) {
113
- await syncAudiencesApiClient.createCohort(settings, payloads[0]);
114
- stateContext?.setResponseContext?.(`cohort_name`, cohort_name, { minute: 2 });
115
- }
116
- const { addUsers, removeUsers } = extractUsers(payloads);
117
- const users = {
118
- addUsers,
119
- removeUsers,
120
- hasAddUsers: hasUsersToAddOrRemove(addUsers),
121
- hasRemoveUsers: hasUsersToAddOrRemove(removeUsers)
122
- };
123
- if (!users.hasAddUsers && !users.hasRemoveUsers) {
124
- return;
125
- }
126
- const res = await syncAudiencesApiClient.batchUpdate(settings, cohort_id, users);
127
- return res;
128
- }
129
- function validate(payloads) {
130
- if (payloads[0].cohort_name !== payloads[0].personas_audience_key) {
131
- throw new actions_core_1.IntegrationError('The value of `personas computation key` and `personas_audience_key` must match.', 'INVALID_SETTINGS', 400);
132
- }
133
- }
134
- function extractUsers(payloads) {
135
- const addUsers = { user_ids: [], device_ids: [], aliases: [] };
136
- const removeUsers = { user_ids: [], device_ids: [], aliases: [], should_remove: true };
137
- payloads.forEach((payload) => {
138
- const { event_properties, external_id, device_id, user_alias } = payload;
139
- const userEnteredOrRemoved = (event_properties?.audience_key
140
- ? event_properties[`${event_properties?.audience_key}`]
141
- : Object.values(event_properties)[0]);
142
- const user = userEnteredOrRemoved ? addUsers : removeUsers;
143
- if (external_id) {
144
- user?.user_ids.push(external_id);
145
- }
146
- else if (device_id) {
147
- user?.device_ids.push(device_id);
148
- }
149
- else if (user_alias) {
150
- user?.aliases.push(user_alias);
151
- }
152
- });
153
- return {
154
- addUsers,
155
- removeUsers
156
- };
157
- }
158
- function hasUsersToAddOrRemove(user) {
159
- if (user &&
160
- typeof user === 'object' &&
161
- (user?.user_ids?.length || user?.device_ids?.length || user?.aliases?.length)) {
162
- return true;
163
- }
164
- return false;
165
- }
166
- exports.default = action;
167
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze-cohorts/syncAudiences/index.ts"],"names":[],"mappings":"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"}