@segment/action-destinations 3.453.1-staging-2bfbb72f6.0 → 3.453.1-staging-0bc163863.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.
Files changed (29) hide show
  1. package/dist/destinations/aws-kinesis/send/index.js +1 -1
  2. package/dist/destinations/aws-kinesis/send/index.js.map +1 -1
  3. package/dist/destinations/braze/ecommerce/constants.d.ts +8 -0
  4. package/dist/destinations/braze/ecommerce/constants.js +12 -0
  5. package/dist/destinations/braze/ecommerce/constants.js.map +1 -0
  6. package/dist/destinations/braze/ecommerce/fields.d.ts +26 -0
  7. package/dist/destinations/braze/ecommerce/fields.js +502 -0
  8. package/dist/destinations/braze/ecommerce/fields.js.map +1 -0
  9. package/dist/destinations/braze/ecommerce/functions.d.ts +10 -0
  10. package/dist/destinations/braze/ecommerce/functions.js +259 -0
  11. package/dist/destinations/braze/ecommerce/functions.js.map +1 -0
  12. package/dist/destinations/braze/ecommerce/generated-types.d.ts +41 -0
  13. package/dist/destinations/braze/ecommerce/generated-types.js +3 -0
  14. package/dist/destinations/braze/ecommerce/generated-types.js.map +1 -0
  15. package/dist/destinations/braze/ecommerce/index.d.ts +5 -0
  16. package/dist/destinations/braze/ecommerce/index.js +20 -0
  17. package/dist/destinations/braze/ecommerce/index.js.map +1 -0
  18. package/dist/destinations/braze/ecommerce/types.d.ts +125 -0
  19. package/dist/destinations/braze/ecommerce/types.js +3 -0
  20. package/dist/destinations/braze/ecommerce/types.js.map +1 -0
  21. package/dist/destinations/braze/ecommerceSingleProduct/generated-types.d.ts +39 -0
  22. package/dist/destinations/braze/ecommerceSingleProduct/generated-types.js +3 -0
  23. package/dist/destinations/braze/ecommerceSingleProduct/generated-types.js.map +1 -0
  24. package/dist/destinations/braze/ecommerceSingleProduct/index.d.ts +5 -0
  25. package/dist/destinations/braze/ecommerceSingleProduct/index.js +20 -0
  26. package/dist/destinations/braze/ecommerceSingleProduct/index.js.map +1 -0
  27. package/dist/destinations/braze/index.js +65 -5
  28. package/dist/destinations/braze/index.js.map +1 -1
  29. package/package.json +2 -2
@@ -0,0 +1,259 @@
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
+ exports.send = send;
7
+ exports.currencies = currencies;
8
+ const actions_core_1 = require("@segment/actions-core");
9
+ const constants_1 = require("./constants");
10
+ const dayjs_1 = __importDefault(require("dayjs"));
11
+ async function send(request, payloads, settings, isBatch) {
12
+ const msResponse = new actions_core_1.MultiStatusResponse();
13
+ const { endpoint } = settings;
14
+ const { json, payloadsWithIndexes } = getJSON(payloads, settings, isBatch, msResponse);
15
+ const url = `${endpoint}/users/track`;
16
+ const response = await request(url, {
17
+ method: 'POST',
18
+ ...(isBatch ? { headers: { 'X-Braze-Batch': 'true' } } : undefined),
19
+ json
20
+ });
21
+ const errors = Array.isArray(response.data.errors) ? response.data.errors : [];
22
+ payloadsWithIndexes.forEach((payload, index) => {
23
+ const error = errors.find(e => e.index === index);
24
+ if (error) {
25
+ msResponse.setErrorResponseAtIndex(index, {
26
+ status: 400,
27
+ errortype: 'BAD_REQUEST',
28
+ errormessage: error.type,
29
+ sent: payload,
30
+ body: JSON.stringify(json.events[index])
31
+ });
32
+ }
33
+ });
34
+ return isBatch ? msResponse : response;
35
+ }
36
+ function getJSON(payloads, settings, isBatch, msResponse) {
37
+ const payloadsWithIndexes = [...payloads];
38
+ const events = [];
39
+ payloadsWithIndexes.forEach((payload, index) => {
40
+ const message = validate(payload, isBatch);
41
+ if (message) {
42
+ payload.index = undefined;
43
+ msResponse.setErrorResponseAtIndex(index, {
44
+ status: 400,
45
+ errormessage: message,
46
+ sent: payload
47
+ });
48
+ }
49
+ else {
50
+ const event = getJSONItem(payload, settings);
51
+ payload.index = events.length;
52
+ events.push(event);
53
+ msResponse.setSuccessResponseAtIndex(index, {
54
+ status: 200,
55
+ sent: payload,
56
+ body: JSON.stringify(event)
57
+ });
58
+ }
59
+ });
60
+ return { json: { events }, payloadsWithIndexes };
61
+ }
62
+ function getJSONItem(payload, settings) {
63
+ const { app_id } = settings;
64
+ const { external_id, braze_id, email, phone, user_alias, name, time: payloadTime, currency, source, _update_existing_only, metadata } = payload;
65
+ const time = (0, dayjs_1.default)(payloadTime).toISOString();
66
+ const updateExistingOnly = (() => {
67
+ if (user_alias?.alias_label && user_alias?.alias_name) {
68
+ return true;
69
+ }
70
+ if (typeof _update_existing_only === 'boolean') {
71
+ return _update_existing_only;
72
+ }
73
+ return undefined;
74
+ })();
75
+ const baseEvent = {
76
+ ...(external_id ? { external_id } : {}),
77
+ ...(braze_id ? { braze_id } : {}),
78
+ ...(email ? { email } : {}),
79
+ ...(phone ? { phone } : {}),
80
+ ...(user_alias ? { user_alias } : {}),
81
+ ...(app_id ? { app_id } : {}),
82
+ name: name,
83
+ time,
84
+ properties: {
85
+ currency,
86
+ source,
87
+ ...(metadata ? { metadata } : {})
88
+ },
89
+ ...(typeof updateExistingOnly === 'boolean' ? { _update_existing_only: updateExistingOnly } : {})
90
+ };
91
+ switch (name) {
92
+ case constants_1.EVENT_NAMES.PRODUCT_VIEWED: {
93
+ const { product, type } = payload;
94
+ const event = {
95
+ ...baseEvent,
96
+ name: constants_1.EVENT_NAMES.PRODUCT_VIEWED,
97
+ properties: {
98
+ ...baseEvent.properties,
99
+ ...product,
100
+ type
101
+ }
102
+ };
103
+ return event;
104
+ }
105
+ case constants_1.EVENT_NAMES.CART_UPDATED:
106
+ case constants_1.EVENT_NAMES.CHECKOUT_STARTED:
107
+ case constants_1.EVENT_NAMES.ORDER_PLACED:
108
+ case constants_1.EVENT_NAMES.ORDER_CANCELLED:
109
+ case constants_1.EVENT_NAMES.ORDER_REFUNDED: {
110
+ const { total_value } = payload;
111
+ const multiProductEvent = {
112
+ ...baseEvent,
113
+ name: name,
114
+ properties: {
115
+ ...baseEvent.properties,
116
+ products: getProductAndMetadataJSON(payload),
117
+ total_value: total_value
118
+ }
119
+ };
120
+ switch (name) {
121
+ case constants_1.EVENT_NAMES.CART_UPDATED: {
122
+ const { cart_id } = payload;
123
+ const event = {
124
+ ...multiProductEvent,
125
+ name: constants_1.EVENT_NAMES.CART_UPDATED,
126
+ properties: {
127
+ ...multiProductEvent.properties,
128
+ cart_id: cart_id
129
+ }
130
+ };
131
+ return event;
132
+ }
133
+ case constants_1.EVENT_NAMES.CHECKOUT_STARTED: {
134
+ const { checkout_id, cart_id } = payload;
135
+ const event = {
136
+ ...multiProductEvent,
137
+ name: constants_1.EVENT_NAMES.CHECKOUT_STARTED,
138
+ properties: {
139
+ ...multiProductEvent.properties,
140
+ checkout_id: checkout_id,
141
+ ...(cart_id ? { cart_id } : {})
142
+ }
143
+ };
144
+ return event;
145
+ }
146
+ case constants_1.EVENT_NAMES.ORDER_PLACED: {
147
+ const { order_id, cart_id, total_discounts, discounts } = payload;
148
+ const event = {
149
+ ...multiProductEvent,
150
+ name: constants_1.EVENT_NAMES.ORDER_PLACED,
151
+ properties: {
152
+ ...multiProductEvent.properties,
153
+ order_id: order_id,
154
+ ...(typeof total_discounts === 'number' ? { total_discounts } : {}),
155
+ ...(discounts ? { discounts } : {}),
156
+ ...(cart_id ? { cart_id } : {})
157
+ }
158
+ };
159
+ return event;
160
+ }
161
+ case constants_1.EVENT_NAMES.ORDER_REFUNDED: {
162
+ const { order_id, total_discounts, discounts } = payload;
163
+ const event = {
164
+ ...multiProductEvent,
165
+ name: constants_1.EVENT_NAMES.ORDER_REFUNDED,
166
+ properties: {
167
+ ...multiProductEvent.properties,
168
+ order_id: order_id,
169
+ ...(typeof total_discounts === 'number' ? { total_discounts } : {}),
170
+ ...(discounts ? { discounts } : {})
171
+ }
172
+ };
173
+ return event;
174
+ }
175
+ case constants_1.EVENT_NAMES.ORDER_CANCELLED: {
176
+ const { order_id, cancel_reason, total_discounts, discounts } = payload;
177
+ const event = {
178
+ ...multiProductEvent,
179
+ name: constants_1.EVENT_NAMES.ORDER_CANCELLED,
180
+ properties: {
181
+ ...multiProductEvent.properties,
182
+ order_id: order_id,
183
+ cancel_reason: cancel_reason,
184
+ ...(typeof total_discounts === 'number' ? { total_discounts } : {}),
185
+ ...(discounts ? { discounts } : {})
186
+ }
187
+ };
188
+ return event;
189
+ }
190
+ default: {
191
+ throw new actions_core_1.PayloadValidationError(`Unsupported event name: ${name}`);
192
+ }
193
+ }
194
+ }
195
+ default: {
196
+ throw new actions_core_1.PayloadValidationError(`Unsupported event name: ${name}`);
197
+ }
198
+ }
199
+ }
200
+ function getProductAndMetadataJSON(payload) {
201
+ return payload.products.map(product => {
202
+ const { quantity, product_id, product_name, variant_id, price, image_url, product_url, ...metadata } = product;
203
+ return {
204
+ quantity,
205
+ product_id,
206
+ product_name,
207
+ variant_id,
208
+ price,
209
+ image_url,
210
+ product_url,
211
+ ...(typeof metadata === 'object' && Object.entries(metadata).length > 0 ? { metadata } : {})
212
+ };
213
+ });
214
+ }
215
+ function validate(payload, isBatch) {
216
+ const { braze_id, user_alias, external_id, email, phone } = payload;
217
+ if (!braze_id && !user_alias && !external_id && !email && !phone) {
218
+ const message = 'One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required.';
219
+ if (!isBatch) {
220
+ throw new actions_core_1.PayloadValidationError(message);
221
+ }
222
+ else {
223
+ return message;
224
+ }
225
+ }
226
+ }
227
+ function currencies() {
228
+ const codes = [
229
+ "AFN", "EUR", "ALL", "DZD", "USD", "EUR", "AOA", "XCD", "XCD", "XAD", "ARS", "AMD",
230
+ "AWG", "AUD", "EUR", "AZN", "BSD", "BHD", "BDT", "BBD", "BYN", "EUR", "BZD", "XOF",
231
+ "BMD", "INR", "BTN", "BOB", "BOV", "USD", "BAM", "BWP", "NOK", "BRL", "USD", "BND",
232
+ "BGN", "XOF", "BIF", "CVE", "KHR", "XAF", "CAD", "KYD", "XAF", "XAF", "CLP", "CLF",
233
+ "CNY", "AUD", "AUD", "COP", "COU", "KMF", "CDF", "XAF", "NZD", "CRC", "XOF", "EUR",
234
+ "CUP", "XCG", "EUR", "CZK", "DKK", "DJF", "XCD", "DOP", "USD", "EGP", "SVC", "USD",
235
+ "XAF", "ERN", "EUR", "SZL", "ETB", "EUR", "FKP", "DKK", "FJD", "EUR", "EUR", "EUR",
236
+ "XPF", "EUR", "XAF", "GMD", "GEL", "EUR", "GHS", "GIP", "EUR", "DKK", "XCD", "EUR",
237
+ "USD", "GTQ", "GBP", "GNF", "XOF", "GYD", "HTG", "USD", "AUD", "EUR", "HNL", "HKD",
238
+ "HUF", "ISK", "INR", "IDR", "XDR", "IRR", "IQD", "EUR", "GBP", "ILS", "EUR", "JMD",
239
+ "JPY", "GBP", "JOD", "KZT", "KES", "AUD", "KPW", "KRW", "KWD", "KGS", "LAK", "EUR",
240
+ "LBP", "LSL", "ZAR", "LRD", "LYD", "CHF", "EUR", "EUR", "MOP", "MGA", "MWK", "MYR",
241
+ "MVR", "XOF", "EUR", "USD", "EUR", "MRU", "MUR", "EUR", "XUA", "MXN", "MXV", "USD",
242
+ "MDL", "EUR", "MNT", "EUR", "XCD", "MAD", "MZN", "MMK", "NAD", "ZAR", "AUD", "NPR",
243
+ "EUR", "XPF", "NZD", "NIO", "XOF", "NGN", "NZD", "AUD", "MKD", "USD", "NOK", "OMR",
244
+ "PKR", "USD", "PAB", "USD", "PGK", "PYG", "PEN", "PHP", "NZD", "PLN", "EUR", "USD",
245
+ "QAR", "EUR", "RON", "RUB", "RWF", "EUR", "SHP", "XCD", "XCD", "EUR", "EUR", "XCD",
246
+ "WST", "EUR", "STN", "SAR", "XOF", "RSD", "SCR", "SLE", "SGD", "XCG", "XSU", "EUR",
247
+ "EUR", "SBD", "SOS", "ZAR", "SSP", "EUR", "LKR", "SDG", "SRD", "NOK", "SEK", "CHF",
248
+ "CHE", "CHW", "SYP", "TWD", "TJS", "TZS", "THB", "USD", "XOF", "NZD", "TOP", "TTD",
249
+ "TND", "TRY", "TMT", "USD", "AUD", "UGX", "UAH", "AED", "GBP", "USD", "USD", "USN",
250
+ "UYU", "UYI", "UYW", "UZS", "VUV", "VES", "VED", "VND", "USD", "USD", "XPF", "MAD",
251
+ "YER", "ZMW", "ZWG"
252
+ ];
253
+ const unique = Array.from(new Set(codes));
254
+ return unique.map(code => ({
255
+ label: code,
256
+ value: code
257
+ }));
258
+ }
259
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/braze/ecommerce/functions.ts"],"names":[],"mappings":"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AAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK;QACvE,KAAK,EAAC,KAAK,EAAC,KAAK;KAClB,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC,CAAA;AACL,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface Payload {
2
+ name: string;
3
+ external_id?: string;
4
+ user_alias?: {
5
+ alias_name: string;
6
+ alias_label: string;
7
+ };
8
+ _update_existing_only?: boolean;
9
+ email?: string;
10
+ phone?: string | null;
11
+ braze_id?: string | null;
12
+ cancel_reason?: string;
13
+ time: string;
14
+ checkout_id?: string;
15
+ order_id?: string;
16
+ cart_id?: string;
17
+ total_value?: number;
18
+ total_discounts?: number;
19
+ discounts?: {
20
+ code: string;
21
+ amount: number;
22
+ }[];
23
+ currency: string;
24
+ source: string;
25
+ metadata?: {
26
+ [k: string]: unknown;
27
+ };
28
+ type?: string[];
29
+ enable_batching: boolean;
30
+ batch_size: number;
31
+ products: {
32
+ product_id: string;
33
+ product_name: string;
34
+ variant_id: string;
35
+ image_url?: string;
36
+ product_url?: string;
37
+ quantity: number;
38
+ price: number;
39
+ [k: string]: unknown;
40
+ }[];
41
+ }
@@ -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/braze/ecommerce/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,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fields_1 = require("./fields");
4
+ const functions_1 = require("./functions");
5
+ const action = {
6
+ title: 'Ecommerce Event (multi product)',
7
+ description: 'Send a multi product ecommerce event to Braze',
8
+ fields: {
9
+ ...fields_1.commonFields,
10
+ products: fields_1.products
11
+ },
12
+ perform: async (request, { payload, settings }) => {
13
+ return await (0, functions_1.send)(request, [payload], settings, false);
14
+ },
15
+ performBatch: async (request, { payload, settings }) => {
16
+ return await (0, functions_1.send)(request, payload, settings, true);
17
+ }
18
+ };
19
+ exports.default = action;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/ecommerce/index.ts"],"names":[],"mappings":";;AAGA,qCAGiB;AACjB,2CAAkC;AAGlC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,iCAAiC;IACxC,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE;QACN,GAAG,qBAAY;QACf,QAAQ,EAAR,iBAAQ;KACT;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE;QAC9C,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE;QACnD,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,125 @@
1
+ import { EVENT_NAMES } from './constants';
2
+ import { Payload } from './generated-types';
3
+ import { Payload as SingleProductPayload } from '../ecommerceSingleProduct/generated-types';
4
+ export type PayloadWithIndex = (Payload | SingleProductPayload) & {
5
+ index?: number;
6
+ };
7
+ export type ProductViewedEventName = typeof EVENT_NAMES.PRODUCT_VIEWED;
8
+ export type CheckoutStartedEventName = typeof EVENT_NAMES.CHECKOUT_STARTED;
9
+ export type CartUpdatedEventName = typeof EVENT_NAMES.CART_UPDATED;
10
+ export type OrderPlacedEventName = typeof EVENT_NAMES.ORDER_PLACED;
11
+ export type OrderCancelledEventName = typeof EVENT_NAMES.ORDER_CANCELLED;
12
+ export type OrderRefundedEventName = typeof EVENT_NAMES.ORDER_REFUNDED;
13
+ export type MultiPropertyEventName = CheckoutStartedEventName | CartUpdatedEventName | OrderPlacedEventName | OrderCancelledEventName | OrderRefundedEventName;
14
+ export interface EcommerceEvents {
15
+ events: Array<EcommerceEvent>;
16
+ }
17
+ export type EcommerceEvent = ProductViewedEvent | CartUpdatedEvent | CheckoutStartedEvent | OrderPlacedEvent | OrderRefundedEvent | OrderCancelledEvent;
18
+ export interface BaseEvent {
19
+ external_id?: string;
20
+ braze_id?: string;
21
+ email?: string;
22
+ phone?: string;
23
+ user_alias?: {
24
+ alias_name: string;
25
+ alias_label: string;
26
+ };
27
+ app_id?: string;
28
+ name: ProductViewedEventName | MultiPropertyEventName;
29
+ time: string;
30
+ properties: {
31
+ currency: string;
32
+ source: string;
33
+ metadata?: {
34
+ [key: string]: unknown;
35
+ };
36
+ };
37
+ _update_existing_only?: boolean;
38
+ }
39
+ export interface ProductViewedEvent extends BaseEvent {
40
+ name: ProductViewedEventName;
41
+ properties: BaseEvent['properties'] & BaseProduct & {
42
+ type?: Array<string>;
43
+ };
44
+ }
45
+ export interface MultiProductBaseEvent extends BaseEvent {
46
+ name: MultiPropertyEventName;
47
+ properties: BaseEvent['properties'] & {
48
+ total_value: number;
49
+ products: Array<Product>;
50
+ };
51
+ }
52
+ export interface Product extends BaseProduct {
53
+ quantity: number;
54
+ metadata?: {
55
+ [key: string]: unknown;
56
+ };
57
+ }
58
+ export interface BaseProduct {
59
+ product_id: string;
60
+ product_name: string;
61
+ variant_id: string;
62
+ price: number;
63
+ image_url?: string;
64
+ product_url?: string;
65
+ }
66
+ export interface CartUpdatedEvent extends MultiProductBaseEvent {
67
+ name: CartUpdatedEventName;
68
+ properties: MultiProductBaseEvent['properties'] & {
69
+ cart_id: string;
70
+ };
71
+ }
72
+ export interface CheckoutStartedEvent extends MultiProductBaseEvent {
73
+ name: CheckoutStartedEventName;
74
+ properties: MultiProductBaseEvent['properties'] & {
75
+ checkout_id: string;
76
+ cart_id?: string;
77
+ metadata?: BaseEvent['properties']['metadata'] & {
78
+ checkout_url?: string;
79
+ };
80
+ };
81
+ }
82
+ export interface OrderPlacedEvent extends MultiProductBaseEvent {
83
+ name: OrderPlacedEventName;
84
+ properties: MultiProductBaseEvent['properties'] & {
85
+ order_id: string;
86
+ cart_id?: string;
87
+ total_discounts?: number;
88
+ discounts?: Array<{
89
+ code: string;
90
+ amount: number;
91
+ }>;
92
+ metadata?: BaseEvent['properties']['metadata'] & {
93
+ order_status_url?: string;
94
+ };
95
+ };
96
+ }
97
+ export interface OrderRefundedEvent extends MultiProductBaseEvent {
98
+ name: OrderRefundedEventName;
99
+ properties: MultiProductBaseEvent['properties'] & {
100
+ order_id: string;
101
+ total_discounts?: number;
102
+ discounts?: Array<{
103
+ code: string;
104
+ amount: number;
105
+ }>;
106
+ metadata?: BaseEvent['properties']['metadata'] & {
107
+ order_status_url?: string;
108
+ };
109
+ };
110
+ }
111
+ export interface OrderCancelledEvent extends MultiProductBaseEvent {
112
+ name: OrderCancelledEventName;
113
+ properties: MultiProductBaseEvent['properties'] & {
114
+ order_id: string;
115
+ cancel_reason: string;
116
+ total_discounts?: number;
117
+ discounts?: Array<{
118
+ code: string;
119
+ amount: number;
120
+ }>;
121
+ metadata?: BaseEvent['properties']['metadata'] & {
122
+ order_status_url?: string;
123
+ };
124
+ };
125
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/braze/ecommerce/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ export interface Payload {
2
+ name: string;
3
+ external_id?: string;
4
+ user_alias?: {
5
+ alias_name: string;
6
+ alias_label: string;
7
+ };
8
+ _update_existing_only?: boolean;
9
+ email?: string;
10
+ phone?: string | null;
11
+ braze_id?: string | null;
12
+ cancel_reason?: string;
13
+ time: string;
14
+ checkout_id?: string;
15
+ order_id?: string;
16
+ cart_id?: string;
17
+ total_value?: number;
18
+ total_discounts?: number;
19
+ discounts?: {
20
+ code: string;
21
+ amount: number;
22
+ }[];
23
+ currency: string;
24
+ source: string;
25
+ metadata?: {
26
+ [k: string]: unknown;
27
+ };
28
+ type?: string[];
29
+ enable_batching: boolean;
30
+ batch_size: number;
31
+ product: {
32
+ product_id: string;
33
+ product_name: string;
34
+ variant_id: string;
35
+ image_url?: string;
36
+ product_url?: string;
37
+ price: number;
38
+ };
39
+ }
@@ -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/braze/ecommerceSingleProduct/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,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fields_1 = require("../ecommerce/fields");
4
+ const functions_1 = require("../ecommerce/functions");
5
+ const action = {
6
+ title: 'Ecommerce Event (single product)',
7
+ description: 'Send a single product ecommerce event to Braze',
8
+ fields: {
9
+ ...fields_1.commonFields,
10
+ product: fields_1.product
11
+ },
12
+ perform: async (request, { payload, settings }) => {
13
+ return await (0, functions_1.send)(request, [payload], settings, false);
14
+ },
15
+ performBatch: async (request, { payload, settings }) => {
16
+ return await (0, functions_1.send)(request, payload, settings, true);
17
+ }
18
+ };
19
+ exports.default = action;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/ecommerceSingleProduct/index.ts"],"names":[],"mappings":";;AAGA,gDAG4B;AAC5B,sDAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kCAAkC;IACzC,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE;QACN,GAAG,qBAAY;QACf,OAAO,EAAP,gBAAO;KACR;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE;QAC9C,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE;QACnD,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}