@segment/analytics-browser-actions-braze 1.113.0 → 1.114.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/metadata.json ADDED
@@ -0,0 +1,1231 @@
1
+ {
2
+ "slug": "actions-braze-web",
3
+ "name": "Braze Web Mode (Actions)",
4
+ "mode": "device",
5
+ "authentication": {
6
+ "scheme": "custom",
7
+ "fields": {
8
+ "sdkVersion": {
9
+ "label": "SDK Version",
10
+ "description": "The version of the Braze SDK to use",
11
+ "type": "string",
12
+ "required": true,
13
+ "multiple": false,
14
+ "choices": [
15
+ {
16
+ "value": "3.1",
17
+ "label": "3.1"
18
+ },
19
+ {
20
+ "value": "3.3",
21
+ "label": "3.3"
22
+ },
23
+ {
24
+ "value": "3.5",
25
+ "label": "3.5"
26
+ },
27
+ {
28
+ "value": "4.1",
29
+ "label": "4.1"
30
+ },
31
+ {
32
+ "value": "4.6",
33
+ "label": "4.6"
34
+ },
35
+ {
36
+ "value": "4.8",
37
+ "label": "4.8"
38
+ },
39
+ {
40
+ "value": "4.10",
41
+ "label": "4.10"
42
+ },
43
+ {
44
+ "value": "5.4",
45
+ "label": "5.4"
46
+ },
47
+ {
48
+ "value": "5.7",
49
+ "label": "5.7"
50
+ },
51
+ {
52
+ "value": "5.8",
53
+ "label": "5.8"
54
+ },
55
+ {
56
+ "value": "5.9",
57
+ "label": "5.9"
58
+ },
59
+ {
60
+ "value": "6.1",
61
+ "label": "6.1"
62
+ }
63
+ ],
64
+ "default": "6.1",
65
+ "depends_on": null
66
+ },
67
+ "api_key": {
68
+ "label": "API Key",
69
+ "description": "Found in the Braze Dashboard under Manage Settings → Apps → Web",
70
+ "type": "password",
71
+ "required": true,
72
+ "multiple": false,
73
+ "choices": null,
74
+ "default": null,
75
+ "depends_on": null
76
+ },
77
+ "endpoint": {
78
+ "label": "SDK Endpoint",
79
+ "description": "Your Braze SDK endpoint. [See more details](https://www.braze.com/docs/user_guide/administrative/access_braze/sdk_endpoints/)",
80
+ "type": "string",
81
+ "required": true,
82
+ "multiple": false,
83
+ "choices": [
84
+ {
85
+ "label": "US-01\t(https://dashboard-01.braze.com)",
86
+ "value": "sdk.iad-01.braze.com"
87
+ },
88
+ {
89
+ "label": "US-02\t(https://dashboard-02.braze.com)",
90
+ "value": "sdk.iad-02.braze.com"
91
+ },
92
+ {
93
+ "label": "US-03\t(https://dashboard-03.braze.com)",
94
+ "value": "sdk.iad-03.braze.com"
95
+ },
96
+ {
97
+ "label": "US-04\t(https://dashboard-04.braze.com)",
98
+ "value": "sdk.iad-04.braze.com"
99
+ },
100
+ {
101
+ "label": "US-05\t(https://dashboard-05.braze.com)",
102
+ "value": "sdk.iad-05.braze.com"
103
+ },
104
+ {
105
+ "label": "US-06\t(https://dashboard-06.braze.com)",
106
+ "value": "sdk.iad-06.braze.com"
107
+ },
108
+ {
109
+ "label": "US-07\t(https://dashboard-07.braze.com)",
110
+ "value": "sdk.iad-07.braze.com"
111
+ },
112
+ {
113
+ "label": "US-08\t(https://dashboard-08.braze.com)",
114
+ "value": "sdk.iad-08.braze.com"
115
+ },
116
+ {
117
+ "label": "US-09\t(https://dashboard-09.braze.com)",
118
+ "value": "sdk.us-09.braze.com"
119
+ },
120
+ {
121
+ "label": "US-10 (https://dashboard-10.braze.com)",
122
+ "value": "sdk.us-10.braze.com"
123
+ },
124
+ {
125
+ "label": "EU-01\t(https://dashboard-01.braze.eu)",
126
+ "value": "sdk.fra-01.braze.eu"
127
+ },
128
+ {
129
+ "label": "EU-02\t(https://dashboard-02.braze.eu)",
130
+ "value": "sdk.fra-02.braze.eu"
131
+ },
132
+ {
133
+ "label": "AU-01 (https://dashboard.au-01.braze.com)",
134
+ "value": "sdk.au-01.braze.com"
135
+ },
136
+ {
137
+ "label": "ID-01 (https://dashboard.id-01.braze.com)",
138
+ "value": "sdk.id-01.braze.com"
139
+ },
140
+ {
141
+ "label": "JP-01 (https://dashboard.jp-01.braze.com)",
142
+ "value": "sdk.jp-01.braze.com"
143
+ }
144
+ ],
145
+ "default": "sdk.iad-01.braze.com",
146
+ "depends_on": null
147
+ },
148
+ "allowCrawlerActivity": {
149
+ "label": "Allow Crawler Activity",
150
+ "description": "Allow Braze to log activity from crawlers. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
151
+ "type": "boolean",
152
+ "required": false,
153
+ "multiple": false,
154
+ "choices": null,
155
+ "default": false,
156
+ "depends_on": null
157
+ },
158
+ "allowUserSuppliedJavascript": {
159
+ "label": "Allow User Supplied Javascript",
160
+ "description": "To indicate that you trust the Braze dashboard users to write non-malicious Javascript click actions, set this property to true. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
161
+ "type": "boolean",
162
+ "required": false,
163
+ "multiple": false,
164
+ "choices": null,
165
+ "default": false,
166
+ "depends_on": null
167
+ },
168
+ "deferUntilIdentified": {
169
+ "label": "Only Track Known Users",
170
+ "description": "If enabled, this setting delays initialization of the Braze SDK until the user has been identified. When enabled, events for anonymous users will no longer be sent to Braze.",
171
+ "type": "boolean",
172
+ "required": false,
173
+ "multiple": false,
174
+ "choices": null,
175
+ "default": false,
176
+ "depends_on": null
177
+ },
178
+ "appVersion": {
179
+ "label": "App Version",
180
+ "description": "Version to which user events sent to Braze will be associated with. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
181
+ "type": "string",
182
+ "required": false,
183
+ "multiple": false,
184
+ "choices": null,
185
+ "default": null,
186
+ "depends_on": null
187
+ },
188
+ "contentSecurityNonce": {
189
+ "label": "Content Security nonce",
190
+ "description": "Allows Braze to add the nonce to any <script> and <style> elements created by the SDK. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
191
+ "type": "string",
192
+ "required": false,
193
+ "multiple": false,
194
+ "choices": null,
195
+ "default": null,
196
+ "depends_on": null
197
+ },
198
+ "devicePropertyAllowlist": {
199
+ "label": "Device Property Allow List",
200
+ "description": "By default, the Braze SDK automatically detects and collects all device properties in DeviceProperties. To override this behavior, provide an array of DeviceProperties. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
201
+ "type": "string",
202
+ "required": false,
203
+ "multiple": true,
204
+ "choices": null,
205
+ "default": null,
206
+ "depends_on": null
207
+ },
208
+ "disablePushTokenMaintenance": {
209
+ "label": "Disable Push Token Maintenance",
210
+ "description": "By default, users who have already granted web push permission will sync their push token with the Braze backend automatically on new session to ensure deliverability. To disable this behavior, set this option to true",
211
+ "type": "boolean",
212
+ "required": false,
213
+ "multiple": false,
214
+ "choices": null,
215
+ "default": false,
216
+ "depends_on": null
217
+ },
218
+ "doNotLoadFontAwesome": {
219
+ "label": "Do Not Load Font Awesome",
220
+ "description": "Braze automatically loads FontAwesome 4.7.0 from the FontAwesome CDN. To disable this behavior set this option to true.",
221
+ "type": "boolean",
222
+ "required": false,
223
+ "multiple": false,
224
+ "choices": null,
225
+ "default": false,
226
+ "depends_on": null
227
+ },
228
+ "enableLogging": {
229
+ "label": "Enable Logging",
230
+ "description": "Set to true to enable logging by default",
231
+ "type": "boolean",
232
+ "required": false,
233
+ "multiple": false,
234
+ "choices": null,
235
+ "default": false,
236
+ "depends_on": null
237
+ },
238
+ "enableSdkAuthentication": {
239
+ "label": "Enable SDK Authentication",
240
+ "description": "Set to true to enable the SDK Authentication feature.",
241
+ "type": "boolean",
242
+ "required": false,
243
+ "multiple": false,
244
+ "choices": null,
245
+ "default": false,
246
+ "depends_on": null
247
+ },
248
+ "inAppMessageZIndex": {
249
+ "label": "In-App Message Z Index",
250
+ "description": "By default, the Braze SDK will show In-App Messages with a z-index of 1040 for the screen overlay, 1050 for the actual in-app message, and 1060 for the message's close button. Provide a value for this option to override these default z-indexes.",
251
+ "type": "number",
252
+ "required": false,
253
+ "multiple": false,
254
+ "choices": null,
255
+ "default": null,
256
+ "depends_on": null
257
+ },
258
+ "localization": {
259
+ "label": "Localization",
260
+ "description": "By default, any SDK-generated user-visible messages will be displayed in the user's browser language. Provide a value for this option to override that behavior and force a specific language. The value for this option should be a ISO 639-1 Language Code.",
261
+ "type": "string",
262
+ "required": false,
263
+ "multiple": false,
264
+ "choices": null,
265
+ "default": "en",
266
+ "depends_on": null
267
+ },
268
+ "automaticallyDisplayMessages": {
269
+ "label": "Automatically Send In-App Messages",
270
+ "description": "When this is enabled, all In-App Messages that a user is eligible for are automatically delivered to the user. If you'd like to register your own display subscribers or send soft push notifications to your users, make sure to disable this option.",
271
+ "type": "boolean",
272
+ "required": false,
273
+ "multiple": false,
274
+ "choices": null,
275
+ "default": true,
276
+ "depends_on": null
277
+ },
278
+ "manageServiceWorkerExternally": {
279
+ "label": "Manage Service Worker Externally",
280
+ "description": "If you have your own service worker that you register and control the lifecycle of, set this option to true and the Braze SDK will not register or unregister a service worker. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
281
+ "type": "boolean",
282
+ "required": false,
283
+ "multiple": false,
284
+ "choices": null,
285
+ "default": false,
286
+ "depends_on": null
287
+ },
288
+ "minimumIntervalBetweenTriggerActionsInSeconds": {
289
+ "label": "Minimum Interval Between Trigger Actions in Seconds",
290
+ "description": "Provide a value to override the default interval between trigger actions with a value of your own. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
291
+ "type": "number",
292
+ "required": false,
293
+ "multiple": false,
294
+ "choices": null,
295
+ "default": 30,
296
+ "depends_on": null
297
+ },
298
+ "noCookies": {
299
+ "label": "No Cookies",
300
+ "description": "By default, the Braze SDK will store small amounts of data (user ids, session ids), in cookies. Pass true for this option to disable cookie storage and rely entirely on HTML 5 localStorage to identify users and sessions. [See more details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)",
301
+ "type": "boolean",
302
+ "required": false,
303
+ "multiple": false,
304
+ "choices": null,
305
+ "default": false,
306
+ "depends_on": null
307
+ },
308
+ "openCardsInNewTab": {
309
+ "label": "Open Cards In New Tab",
310
+ "description": "By default, links from Card objects load in the current tab or window. Set this option to true to make links from cards open in a new tab or window.",
311
+ "type": "boolean",
312
+ "required": false,
313
+ "multiple": false,
314
+ "choices": null,
315
+ "default": false,
316
+ "depends_on": null
317
+ },
318
+ "openInAppMessagesInNewTab": {
319
+ "label": "Open In-App Messages In New Tab",
320
+ "description": "By default, links from in-app message clicks load in the current tab or a new tab as specified in the dashboard on a message-by-message basis. Set this option to true to force all links from in-app message clicks open in a new tab or window.",
321
+ "type": "boolean",
322
+ "required": false,
323
+ "multiple": false,
324
+ "choices": null,
325
+ "default": false,
326
+ "depends_on": null
327
+ },
328
+ "requireExplicitInAppMessageDismissal": {
329
+ "label": "Require Explicit In-App Message Dismissal",
330
+ "description": "By default, when an in-app message is showing, pressing the escape button or a click on the greyed-out background of the page will dismiss the message. Set this option to true to prevent this behavior and require an explicit button click to dismiss messages.",
331
+ "type": "boolean",
332
+ "required": false,
333
+ "multiple": false,
334
+ "choices": null,
335
+ "default": false,
336
+ "depends_on": null
337
+ },
338
+ "safariWebsitePushId": {
339
+ "label": "Safari Website Push ID",
340
+ "description": "If you support Safari push, you must specify this option with the website push ID that you provided to Apple when creating your Safari push certificate (starts with \"web\", e.g. \"web.com.example.domain\").",
341
+ "type": "string",
342
+ "required": false,
343
+ "multiple": false,
344
+ "choices": null,
345
+ "default": null,
346
+ "depends_on": null
347
+ },
348
+ "serviceWorkerLocation": {
349
+ "label": "Service Worker Location",
350
+ "description": "By default, when registering users for web push notifications Braze will look for the required service worker file in the root directory of your web server at /service-worker.js. If you want to host your service worker at a different path on that server, provide a value for this option that is the absolute path to the file, e.g. /mycustompath/my-worker.js. VERY IMPORTANT: setting a value here limits the scope of push notifications on your site. For instance, in the above example, because the service ,worker file is located within the /mycustompath/ directory, appboy.registerAppboyPushMessages MAY ONLY BE CALLED from web pages that start with http://yoursite.com/mycustompath/.",
351
+ "type": "string",
352
+ "required": false,
353
+ "multiple": false,
354
+ "choices": null,
355
+ "default": null,
356
+ "depends_on": null
357
+ },
358
+ "sessionTimeoutInSeconds": {
359
+ "label": "Session Timeout in Seconds",
360
+ "description": "By default, sessions time out after 30 minutes of inactivity. Provide a value for this configuration option to override that default with a value of your own.",
361
+ "type": "number",
362
+ "required": false,
363
+ "multiple": false,
364
+ "choices": null,
365
+ "default": 1800,
366
+ "depends_on": null
367
+ }
368
+ }
369
+ },
370
+ "audienceConfig": null,
371
+ "actions": {
372
+ "updateUserProfile": {
373
+ "title": "Update User Profile",
374
+ "description": "Updates a users profile attributes in Braze",
375
+ "platform": "web",
376
+ "defaultSubscription": "type = \"identify\" or type = \"group\"",
377
+ "hidden": false,
378
+ "hasPerformBatch": false,
379
+ "syncMode": null,
380
+ "hooks": null,
381
+ "dynamicFields": null,
382
+ "fields": {
383
+ "external_id": {
384
+ "label": "External User ID",
385
+ "description": "The unique user identifier",
386
+ "type": "string",
387
+ "required": false,
388
+ "multiple": false,
389
+ "allowNull": false,
390
+ "dynamic": false,
391
+ "default": {
392
+ "@path": "$.userId"
393
+ },
394
+ "choices": null,
395
+ "placeholder": null,
396
+ "properties": null,
397
+ "category": null,
398
+ "depends_on": null,
399
+ "readOnly": null,
400
+ "hidden": null,
401
+ "minimum": null,
402
+ "maximum": null,
403
+ "defaultObjectUI": null,
404
+ "disabledInputMethods": null,
405
+ "displayMode": null,
406
+ "format": null,
407
+ "additionalProperties": false
408
+ },
409
+ "country": {
410
+ "label": "Country",
411
+ "description": "The country code of the user",
412
+ "type": "string",
413
+ "required": false,
414
+ "multiple": false,
415
+ "allowNull": true,
416
+ "dynamic": false,
417
+ "default": {
418
+ "@path": "$.context.location.country"
419
+ },
420
+ "choices": null,
421
+ "placeholder": null,
422
+ "properties": null,
423
+ "category": null,
424
+ "depends_on": null,
425
+ "readOnly": null,
426
+ "hidden": null,
427
+ "minimum": null,
428
+ "maximum": null,
429
+ "defaultObjectUI": null,
430
+ "disabledInputMethods": null,
431
+ "displayMode": null,
432
+ "format": null,
433
+ "additionalProperties": false
434
+ },
435
+ "current_location": {
436
+ "label": "Current Location",
437
+ "description": "The user's current longitude/latitude.",
438
+ "type": "object",
439
+ "required": false,
440
+ "multiple": false,
441
+ "allowNull": true,
442
+ "dynamic": false,
443
+ "default": null,
444
+ "choices": null,
445
+ "placeholder": null,
446
+ "properties": {
447
+ "key": {
448
+ "label": "Key",
449
+ "type": "string",
450
+ "required": true,
451
+ "multiple": false,
452
+ "allowNull": false,
453
+ "dynamic": false,
454
+ "default": null,
455
+ "choices": null,
456
+ "placeholder": null,
457
+ "properties": null,
458
+ "category": null,
459
+ "depends_on": null,
460
+ "readOnly": null,
461
+ "hidden": null,
462
+ "minimum": null,
463
+ "maximum": null,
464
+ "defaultObjectUI": null,
465
+ "disabledInputMethods": null,
466
+ "displayMode": null,
467
+ "format": null,
468
+ "additionalProperties": false
469
+ },
470
+ "latitude": {
471
+ "label": "Latitude",
472
+ "type": "number",
473
+ "required": true,
474
+ "multiple": false,
475
+ "allowNull": false,
476
+ "dynamic": false,
477
+ "default": null,
478
+ "choices": null,
479
+ "placeholder": null,
480
+ "properties": null,
481
+ "category": null,
482
+ "depends_on": null,
483
+ "readOnly": null,
484
+ "hidden": null,
485
+ "minimum": null,
486
+ "maximum": null,
487
+ "defaultObjectUI": null,
488
+ "disabledInputMethods": null,
489
+ "displayMode": null,
490
+ "format": null,
491
+ "additionalProperties": false
492
+ },
493
+ "longitude": {
494
+ "label": "Longitude",
495
+ "type": "number",
496
+ "required": true,
497
+ "multiple": false,
498
+ "allowNull": false,
499
+ "dynamic": false,
500
+ "default": null,
501
+ "choices": null,
502
+ "placeholder": null,
503
+ "properties": null,
504
+ "category": null,
505
+ "depends_on": null,
506
+ "readOnly": null,
507
+ "hidden": null,
508
+ "minimum": null,
509
+ "maximum": null,
510
+ "defaultObjectUI": null,
511
+ "disabledInputMethods": null,
512
+ "displayMode": null,
513
+ "format": null,
514
+ "additionalProperties": false
515
+ }
516
+ },
517
+ "category": null,
518
+ "depends_on": null,
519
+ "readOnly": null,
520
+ "hidden": null,
521
+ "minimum": null,
522
+ "maximum": null,
523
+ "defaultObjectUI": null,
524
+ "disabledInputMethods": null,
525
+ "displayMode": null,
526
+ "format": null,
527
+ "additionalProperties": false
528
+ },
529
+ "custom_attributes": {
530
+ "label": "Custom Attributes",
531
+ "description": "Sets a custom user attribute. This can be any key/value pair and is used to collect extra information about the user.",
532
+ "type": "object",
533
+ "required": false,
534
+ "multiple": false,
535
+ "allowNull": false,
536
+ "dynamic": false,
537
+ "default": {
538
+ "@path": "$.traits"
539
+ },
540
+ "choices": null,
541
+ "placeholder": null,
542
+ "properties": null,
543
+ "category": null,
544
+ "depends_on": null,
545
+ "readOnly": null,
546
+ "hidden": null,
547
+ "minimum": null,
548
+ "maximum": null,
549
+ "defaultObjectUI": null,
550
+ "disabledInputMethods": null,
551
+ "displayMode": null,
552
+ "format": null,
553
+ "additionalProperties": false
554
+ },
555
+ "dob": {
556
+ "label": "Date of Birth",
557
+ "description": "The user's date of birth",
558
+ "type": "datetime",
559
+ "required": false,
560
+ "multiple": false,
561
+ "allowNull": true,
562
+ "dynamic": false,
563
+ "default": null,
564
+ "choices": null,
565
+ "placeholder": null,
566
+ "properties": null,
567
+ "category": null,
568
+ "depends_on": null,
569
+ "readOnly": null,
570
+ "hidden": null,
571
+ "minimum": null,
572
+ "maximum": null,
573
+ "defaultObjectUI": null,
574
+ "disabledInputMethods": null,
575
+ "displayMode": null,
576
+ "format": null,
577
+ "additionalProperties": false
578
+ },
579
+ "email": {
580
+ "label": "Email",
581
+ "description": "The user's email",
582
+ "type": "string",
583
+ "required": false,
584
+ "multiple": false,
585
+ "allowNull": true,
586
+ "dynamic": false,
587
+ "default": {
588
+ "@path": "$.traits.email"
589
+ },
590
+ "choices": null,
591
+ "placeholder": null,
592
+ "properties": null,
593
+ "category": null,
594
+ "depends_on": null,
595
+ "readOnly": null,
596
+ "hidden": null,
597
+ "minimum": null,
598
+ "maximum": null,
599
+ "defaultObjectUI": null,
600
+ "disabledInputMethods": null,
601
+ "displayMode": null,
602
+ "format": "email",
603
+ "additionalProperties": false
604
+ },
605
+ "email_subscribe": {
606
+ "label": "Email Subscribe",
607
+ "description": "The user's email subscription preference: “opted_in” (explicitly registered to receive email messages), “unsubscribed” (explicitly opted out of email messages), and “subscribed” (neither opted in nor out).",
608
+ "type": "string",
609
+ "required": false,
610
+ "multiple": false,
611
+ "allowNull": false,
612
+ "dynamic": false,
613
+ "default": null,
614
+ "choices": null,
615
+ "placeholder": null,
616
+ "properties": null,
617
+ "category": null,
618
+ "depends_on": null,
619
+ "readOnly": null,
620
+ "hidden": null,
621
+ "minimum": null,
622
+ "maximum": null,
623
+ "defaultObjectUI": null,
624
+ "disabledInputMethods": null,
625
+ "displayMode": null,
626
+ "format": null,
627
+ "additionalProperties": false
628
+ },
629
+ "first_name": {
630
+ "label": "First Name",
631
+ "description": "The user's first name",
632
+ "type": "string",
633
+ "required": false,
634
+ "multiple": false,
635
+ "allowNull": true,
636
+ "dynamic": false,
637
+ "default": {
638
+ "@path": "$.traits.firstName"
639
+ },
640
+ "choices": null,
641
+ "placeholder": null,
642
+ "properties": null,
643
+ "category": null,
644
+ "depends_on": null,
645
+ "readOnly": null,
646
+ "hidden": null,
647
+ "minimum": null,
648
+ "maximum": null,
649
+ "defaultObjectUI": null,
650
+ "disabledInputMethods": null,
651
+ "displayMode": null,
652
+ "format": null,
653
+ "additionalProperties": false
654
+ },
655
+ "last_name": {
656
+ "label": "Last Name",
657
+ "description": "The user's last name",
658
+ "type": "string",
659
+ "required": false,
660
+ "multiple": false,
661
+ "allowNull": false,
662
+ "dynamic": false,
663
+ "default": {
664
+ "@path": "$.traits.lastName"
665
+ },
666
+ "choices": null,
667
+ "placeholder": null,
668
+ "properties": null,
669
+ "category": null,
670
+ "depends_on": null,
671
+ "readOnly": null,
672
+ "hidden": null,
673
+ "minimum": null,
674
+ "maximum": null,
675
+ "defaultObjectUI": null,
676
+ "disabledInputMethods": null,
677
+ "displayMode": null,
678
+ "format": null,
679
+ "additionalProperties": false
680
+ },
681
+ "gender": {
682
+ "label": "Gender",
683
+ "description": "The user's gender: “M”, “F”, “O” (other), “N” (not applicable), “P” (prefer not to say) or nil (unknown).",
684
+ "type": "string",
685
+ "required": false,
686
+ "multiple": false,
687
+ "allowNull": true,
688
+ "dynamic": false,
689
+ "default": {
690
+ "@path": "$.traits.gender"
691
+ },
692
+ "choices": null,
693
+ "placeholder": null,
694
+ "properties": null,
695
+ "category": null,
696
+ "depends_on": null,
697
+ "readOnly": null,
698
+ "hidden": null,
699
+ "minimum": null,
700
+ "maximum": null,
701
+ "defaultObjectUI": null,
702
+ "disabledInputMethods": null,
703
+ "displayMode": null,
704
+ "format": null,
705
+ "additionalProperties": false
706
+ },
707
+ "home_city": {
708
+ "label": "Home City",
709
+ "description": "The user's home city.",
710
+ "type": "string",
711
+ "required": false,
712
+ "multiple": false,
713
+ "allowNull": true,
714
+ "dynamic": false,
715
+ "default": {
716
+ "@path": "$.traits.address.city"
717
+ },
718
+ "choices": null,
719
+ "placeholder": null,
720
+ "properties": null,
721
+ "category": null,
722
+ "depends_on": null,
723
+ "readOnly": null,
724
+ "hidden": null,
725
+ "minimum": null,
726
+ "maximum": null,
727
+ "defaultObjectUI": null,
728
+ "disabledInputMethods": null,
729
+ "displayMode": null,
730
+ "format": null,
731
+ "additionalProperties": false
732
+ },
733
+ "image_url": {
734
+ "label": "Image URL",
735
+ "description": "URL of image to be associated with user profile.",
736
+ "type": "string",
737
+ "required": false,
738
+ "multiple": false,
739
+ "allowNull": false,
740
+ "dynamic": false,
741
+ "default": {
742
+ "@path": "$.traits.avatar"
743
+ },
744
+ "choices": null,
745
+ "placeholder": null,
746
+ "properties": null,
747
+ "category": null,
748
+ "depends_on": null,
749
+ "readOnly": null,
750
+ "hidden": null,
751
+ "minimum": null,
752
+ "maximum": null,
753
+ "defaultObjectUI": null,
754
+ "disabledInputMethods": null,
755
+ "displayMode": null,
756
+ "format": "uri",
757
+ "additionalProperties": false
758
+ },
759
+ "language": {
760
+ "label": "Language",
761
+ "description": "The user's preferred language.",
762
+ "type": "string",
763
+ "required": false,
764
+ "multiple": false,
765
+ "allowNull": true,
766
+ "dynamic": false,
767
+ "default": null,
768
+ "choices": null,
769
+ "placeholder": null,
770
+ "properties": null,
771
+ "category": null,
772
+ "depends_on": null,
773
+ "readOnly": null,
774
+ "hidden": null,
775
+ "minimum": null,
776
+ "maximum": null,
777
+ "defaultObjectUI": null,
778
+ "disabledInputMethods": null,
779
+ "displayMode": null,
780
+ "format": null,
781
+ "additionalProperties": false
782
+ },
783
+ "phone": {
784
+ "label": "Phone Number",
785
+ "description": "The user's phone number",
786
+ "type": "string",
787
+ "required": false,
788
+ "multiple": false,
789
+ "allowNull": true,
790
+ "dynamic": false,
791
+ "default": {
792
+ "@path": "$.traits.phone"
793
+ },
794
+ "choices": null,
795
+ "placeholder": null,
796
+ "properties": null,
797
+ "category": null,
798
+ "depends_on": null,
799
+ "readOnly": null,
800
+ "hidden": null,
801
+ "minimum": null,
802
+ "maximum": null,
803
+ "defaultObjectUI": null,
804
+ "disabledInputMethods": null,
805
+ "displayMode": null,
806
+ "format": null,
807
+ "additionalProperties": false
808
+ },
809
+ "push_subscribe": {
810
+ "label": "Push Subscribe",
811
+ "description": "The user's push subscription preference: “opted_in” (explicitly registered to receive push messages), “unsubscribed” (explicitly opted out of push messages), and “subscribed” (neither opted in nor out).",
812
+ "type": "string",
813
+ "required": false,
814
+ "multiple": false,
815
+ "allowNull": false,
816
+ "dynamic": false,
817
+ "default": null,
818
+ "choices": null,
819
+ "placeholder": null,
820
+ "properties": null,
821
+ "category": null,
822
+ "depends_on": null,
823
+ "readOnly": null,
824
+ "hidden": null,
825
+ "minimum": null,
826
+ "maximum": null,
827
+ "defaultObjectUI": null,
828
+ "disabledInputMethods": null,
829
+ "displayMode": null,
830
+ "format": null,
831
+ "additionalProperties": false
832
+ },
833
+ "subscription_groups": {
834
+ "label": "Subscription Groups",
835
+ "description": "A list of subscription group IDs and states to set. Subscription group states can be either \"subscribed\" or \"unsubscribed\". Subscription Group IDs are found in the Braze dashboard.",
836
+ "type": "object",
837
+ "required": false,
838
+ "multiple": true,
839
+ "allowNull": false,
840
+ "dynamic": false,
841
+ "default": {
842
+ "@path": "$.traits.braze_subscription_groups"
843
+ },
844
+ "choices": null,
845
+ "placeholder": null,
846
+ "properties": {
847
+ "subscription_group_id": {
848
+ "label": "Subscription Group ID",
849
+ "type": "string",
850
+ "required": true,
851
+ "multiple": false,
852
+ "allowNull": false,
853
+ "dynamic": false,
854
+ "default": null,
855
+ "choices": null,
856
+ "placeholder": null,
857
+ "properties": null,
858
+ "category": null,
859
+ "depends_on": null,
860
+ "readOnly": null,
861
+ "hidden": null,
862
+ "minimum": null,
863
+ "maximum": null,
864
+ "defaultObjectUI": null,
865
+ "disabledInputMethods": null,
866
+ "displayMode": null,
867
+ "format": null,
868
+ "additionalProperties": false
869
+ },
870
+ "subscription_group_state": {
871
+ "label": "Subscription Group State",
872
+ "type": "string",
873
+ "required": true,
874
+ "multiple": false,
875
+ "allowNull": false,
876
+ "dynamic": false,
877
+ "default": null,
878
+ "choices": [
879
+ {
880
+ "value": "subscribed",
881
+ "label": "Subscribed"
882
+ },
883
+ {
884
+ "value": "unsubscribed",
885
+ "label": "Unsubscribed"
886
+ }
887
+ ],
888
+ "placeholder": null,
889
+ "properties": null,
890
+ "category": null,
891
+ "depends_on": null,
892
+ "readOnly": null,
893
+ "hidden": null,
894
+ "minimum": null,
895
+ "maximum": null,
896
+ "defaultObjectUI": null,
897
+ "disabledInputMethods": null,
898
+ "displayMode": null,
899
+ "format": null,
900
+ "additionalProperties": false
901
+ }
902
+ },
903
+ "category": null,
904
+ "depends_on": null,
905
+ "readOnly": null,
906
+ "hidden": null,
907
+ "minimum": null,
908
+ "maximum": null,
909
+ "defaultObjectUI": null,
910
+ "disabledInputMethods": null,
911
+ "displayMode": null,
912
+ "format": null,
913
+ "additionalProperties": false
914
+ }
915
+ }
916
+ },
917
+ "trackEvent": {
918
+ "title": "Track Event",
919
+ "description": "Reports that the current user performed a custom named event.",
920
+ "platform": "web",
921
+ "defaultSubscription": "type = \"track\" and event != \"Order Completed\"",
922
+ "hidden": false,
923
+ "hasPerformBatch": false,
924
+ "syncMode": null,
925
+ "hooks": null,
926
+ "dynamicFields": null,
927
+ "fields": {
928
+ "eventName": {
929
+ "label": "Event Name",
930
+ "description": "The identifier for the event to track.",
931
+ "type": "string",
932
+ "required": true,
933
+ "multiple": false,
934
+ "allowNull": false,
935
+ "dynamic": false,
936
+ "default": {
937
+ "@path": "$.event"
938
+ },
939
+ "choices": null,
940
+ "placeholder": null,
941
+ "properties": null,
942
+ "category": null,
943
+ "depends_on": null,
944
+ "readOnly": null,
945
+ "hidden": null,
946
+ "minimum": null,
947
+ "maximum": null,
948
+ "defaultObjectUI": null,
949
+ "disabledInputMethods": null,
950
+ "displayMode": null,
951
+ "format": null,
952
+ "additionalProperties": false
953
+ },
954
+ "eventProperties": {
955
+ "label": "Event Properties",
956
+ "description": "Hash of properties for this event.",
957
+ "type": "object",
958
+ "required": false,
959
+ "multiple": false,
960
+ "allowNull": false,
961
+ "dynamic": false,
962
+ "default": {
963
+ "@path": "$.properties"
964
+ },
965
+ "choices": null,
966
+ "placeholder": null,
967
+ "properties": null,
968
+ "category": null,
969
+ "depends_on": null,
970
+ "readOnly": null,
971
+ "hidden": null,
972
+ "minimum": null,
973
+ "maximum": null,
974
+ "defaultObjectUI": null,
975
+ "disabledInputMethods": null,
976
+ "displayMode": null,
977
+ "format": null,
978
+ "additionalProperties": false
979
+ }
980
+ }
981
+ },
982
+ "trackPurchase": {
983
+ "title": "Track Purchase",
984
+ "description": "Reports that the current user made an in-app purchase.",
985
+ "platform": "web",
986
+ "defaultSubscription": "type = \"track\" and event = \"Order Completed\"",
987
+ "hidden": false,
988
+ "hasPerformBatch": false,
989
+ "syncMode": null,
990
+ "hooks": null,
991
+ "dynamicFields": null,
992
+ "fields": {
993
+ "purchaseProperties": {
994
+ "label": "Purchase Properties",
995
+ "description": "Hash of properties for this purchase. Keys are limited to 255 characters in length, cannot begin with a $, and can only contain alphanumeric characters and punctuation. Values can be numeric, boolean, Date objects, strings 255 characters or shorter, or nested objects whose values can be numeric, boolean, Date objects, arrays, strings, or null. Total size of purchase properties cannot exceed 50KB.",
996
+ "type": "object",
997
+ "required": false,
998
+ "multiple": false,
999
+ "allowNull": false,
1000
+ "dynamic": false,
1001
+ "default": {
1002
+ "@path": "$.properties"
1003
+ },
1004
+ "choices": null,
1005
+ "placeholder": null,
1006
+ "properties": null,
1007
+ "category": null,
1008
+ "depends_on": null,
1009
+ "readOnly": null,
1010
+ "hidden": null,
1011
+ "minimum": null,
1012
+ "maximum": null,
1013
+ "defaultObjectUI": null,
1014
+ "disabledInputMethods": null,
1015
+ "displayMode": null,
1016
+ "format": null,
1017
+ "additionalProperties": false
1018
+ },
1019
+ "products": {
1020
+ "label": "Products",
1021
+ "description": "List of products purchased by the user",
1022
+ "type": "object",
1023
+ "required": false,
1024
+ "multiple": true,
1025
+ "allowNull": false,
1026
+ "dynamic": false,
1027
+ "default": {
1028
+ "@path": "$.properties.products"
1029
+ },
1030
+ "choices": null,
1031
+ "placeholder": null,
1032
+ "properties": {
1033
+ "product_id": {
1034
+ "label": "Product ID",
1035
+ "description": "A string identifier for the product purchased, e.g. an SKU. Value is limited to 255 characters in length, cannot begin with a $, and can only contain alphanumeric characters and punctuation.",
1036
+ "type": "string",
1037
+ "required": true,
1038
+ "multiple": false,
1039
+ "allowNull": false,
1040
+ "dynamic": false,
1041
+ "default": null,
1042
+ "choices": null,
1043
+ "placeholder": null,
1044
+ "properties": null,
1045
+ "category": null,
1046
+ "depends_on": null,
1047
+ "readOnly": null,
1048
+ "hidden": null,
1049
+ "minimum": null,
1050
+ "maximum": null,
1051
+ "defaultObjectUI": null,
1052
+ "disabledInputMethods": null,
1053
+ "displayMode": null,
1054
+ "format": null,
1055
+ "additionalProperties": false
1056
+ },
1057
+ "price": {
1058
+ "label": "Price",
1059
+ "description": "The price paid. Base units depend on the currency. As an example, USD should be reported as Dollars.Cents, whereas JPY should be reported as a whole number of Yen. All provided values will be rounded to two digits with toFixed(2)",
1060
+ "type": "number",
1061
+ "required": true,
1062
+ "multiple": false,
1063
+ "allowNull": false,
1064
+ "dynamic": false,
1065
+ "default": null,
1066
+ "choices": null,
1067
+ "placeholder": null,
1068
+ "properties": null,
1069
+ "category": null,
1070
+ "depends_on": null,
1071
+ "readOnly": null,
1072
+ "hidden": null,
1073
+ "minimum": null,
1074
+ "maximum": null,
1075
+ "defaultObjectUI": null,
1076
+ "disabledInputMethods": null,
1077
+ "displayMode": null,
1078
+ "format": null,
1079
+ "additionalProperties": false
1080
+ },
1081
+ "currency": {
1082
+ "label": "Currency Code",
1083
+ "description": "Default USD. Currencies should be represented as an ISO 4217 currency code",
1084
+ "type": "string",
1085
+ "required": false,
1086
+ "multiple": false,
1087
+ "allowNull": false,
1088
+ "dynamic": false,
1089
+ "default": null,
1090
+ "choices": null,
1091
+ "placeholder": null,
1092
+ "properties": null,
1093
+ "category": null,
1094
+ "depends_on": null,
1095
+ "readOnly": null,
1096
+ "hidden": null,
1097
+ "minimum": null,
1098
+ "maximum": null,
1099
+ "defaultObjectUI": null,
1100
+ "disabledInputMethods": null,
1101
+ "displayMode": null,
1102
+ "format": null,
1103
+ "additionalProperties": false
1104
+ },
1105
+ "quantity": {
1106
+ "label": "Quantity",
1107
+ "description": "Default 1. The quantity of items purchased expressed as a whole number. Must be at least 1 and at most 100.",
1108
+ "type": "number",
1109
+ "required": false,
1110
+ "multiple": false,
1111
+ "allowNull": false,
1112
+ "dynamic": false,
1113
+ "default": null,
1114
+ "choices": null,
1115
+ "placeholder": null,
1116
+ "properties": null,
1117
+ "category": null,
1118
+ "depends_on": null,
1119
+ "readOnly": null,
1120
+ "hidden": null,
1121
+ "minimum": null,
1122
+ "maximum": null,
1123
+ "defaultObjectUI": null,
1124
+ "disabledInputMethods": null,
1125
+ "displayMode": null,
1126
+ "format": null,
1127
+ "additionalProperties": false
1128
+ }
1129
+ },
1130
+ "category": null,
1131
+ "depends_on": null,
1132
+ "readOnly": null,
1133
+ "hidden": null,
1134
+ "minimum": null,
1135
+ "maximum": null,
1136
+ "defaultObjectUI": null,
1137
+ "disabledInputMethods": null,
1138
+ "displayMode": null,
1139
+ "format": null,
1140
+ "additionalProperties": false
1141
+ }
1142
+ }
1143
+ },
1144
+ "debounce": {
1145
+ "title": "Debounce Middleware",
1146
+ "description": "When enabled, it ensures that only events where at least one changed trait value are sent to Braze, and events with duplicate traits are not sent. Debounce functionality requires a frontend client to work. Therefore, it cannot be used with server-side libraries or with Engage.",
1147
+ "platform": "web",
1148
+ "defaultSubscription": "type = \"identify\" or type = \"group\"",
1149
+ "hidden": false,
1150
+ "hasPerformBatch": false,
1151
+ "syncMode": null,
1152
+ "hooks": null,
1153
+ "dynamicFields": null,
1154
+ "fields": {}
1155
+ }
1156
+ },
1157
+ "presets": [
1158
+ {
1159
+ "name": "Identify Calls",
1160
+ "type": "automatic",
1161
+ "partnerAction": "updateUserProfile",
1162
+ "subscribe": "type = \"identify\" or type = \"group\"",
1163
+ "mapping": {
1164
+ "external_id": {
1165
+ "@path": "$.userId"
1166
+ },
1167
+ "country": {
1168
+ "@path": "$.context.location.country"
1169
+ },
1170
+ "custom_attributes": {
1171
+ "@path": "$.traits"
1172
+ },
1173
+ "email": {
1174
+ "@path": "$.traits.email"
1175
+ },
1176
+ "first_name": {
1177
+ "@path": "$.traits.firstName"
1178
+ },
1179
+ "last_name": {
1180
+ "@path": "$.traits.lastName"
1181
+ },
1182
+ "gender": {
1183
+ "@path": "$.traits.gender"
1184
+ },
1185
+ "home_city": {
1186
+ "@path": "$.traits.address.city"
1187
+ },
1188
+ "image_url": {
1189
+ "@path": "$.traits.avatar"
1190
+ },
1191
+ "phone": {
1192
+ "@path": "$.traits.phone"
1193
+ },
1194
+ "subscription_groups": {
1195
+ "@path": "$.traits.braze_subscription_groups"
1196
+ }
1197
+ },
1198
+ "eventSlug": null
1199
+ },
1200
+ {
1201
+ "name": "Order Completed calls",
1202
+ "type": "automatic",
1203
+ "partnerAction": "trackPurchase",
1204
+ "subscribe": "type = \"track\" and event = \"Order Completed\"",
1205
+ "mapping": {
1206
+ "purchaseProperties": {
1207
+ "@path": "$.properties"
1208
+ },
1209
+ "products": {
1210
+ "@path": "$.properties.products"
1211
+ }
1212
+ },
1213
+ "eventSlug": null
1214
+ },
1215
+ {
1216
+ "name": "Track Calls",
1217
+ "type": "automatic",
1218
+ "partnerAction": "trackEvent",
1219
+ "subscribe": "type = \"track\" and event != \"Order Completed\"",
1220
+ "mapping": {
1221
+ "eventName": {
1222
+ "@path": "$.event"
1223
+ },
1224
+ "eventProperties": {
1225
+ "@path": "$.properties"
1226
+ }
1227
+ },
1228
+ "eventSlug": null
1229
+ }
1230
+ ]
1231
+ }