@pushwoosh/rpc-gateway-messaging 0.6.31

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/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { MessagesInProgressService as pushwoosh_channels_messagingApi_v2_MessagesInProgressService } from './pushwoosh_channels_messagingApi_v2';
2
+ import { MessagingService as pushwoosh_channels_messagingApi_v2_MessagingService } from './pushwoosh_channels_messagingApi_v2';
3
+ import { FiltersCrudService as pushwoosh_objects_filters_v1_FiltersCrudService } from './pushwoosh_objects_filters_v1';
4
+ export type API = {
5
+ messagesInProgress: pushwoosh_channels_messagingApi_v2_MessagesInProgressService;
6
+ messaging: pushwoosh_channels_messagingApi_v2_MessagingService;
7
+ filtersCrud: pushwoosh_objects_filters_v1_FiltersCrudService;
8
+ };
9
+ export { data } from './data';
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ /* eslint-disable */
2
+ /* Autogenerated code */
3
+ export { data } from './data';
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@pushwoosh/rpc-gateway-messaging",
3
+ "version": "0.6.31",
4
+ "description": "Channels Messaging API gateway HTTP API Types and Data",
5
+ "main": "index.js",
6
+ "module": "index.js",
7
+ "types": "index.d.js",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://gitlab.corp.pushwoosh.com/channels/api/messaging"
12
+ },
13
+ "keywords": [
14
+ "RPC",
15
+ "Pushwoosh",
16
+ "API"
17
+ ],
18
+ "author": "Pushwoosh"
19
+ }
@@ -0,0 +1,602 @@
1
+ import { RpcMethod, Duration } from './commonTypes';
2
+ import { FilterExpression as pushwoosh_objects_filters_v1_FilterExpression } from './pushwoosh_objects_filters_v1';
3
+ /**
4
+ * MessagesInProgressService is an INTERNAL service (exposed on the private gRPC
5
+ * port only). It surfaces the in-flight messages that the publisher tracks in
6
+ * Redis so operators can list stalled sends, inspect one, re-dispatch them, or
7
+ * clear their records from the admin panel.
8
+ *
9
+ * It deliberately has no HTTP gateway annotations: it is reached over gRPC by
10
+ * internal services (admin-grpc), never by public clients.
11
+ */
12
+ export interface MessagesInProgressService {
13
+ }
14
+ export type MessageStalledStatusState = 'MESSAGE_STATUS_STATE_UNKNOWN' | 'MESSAGE_STATUS_STATE_ALIVE' | 'MESSAGE_STATUS_STATE_STUCK' | 'MESSAGE_STATUS_STATE_DEAD';
15
+ export type MessageStalled = {
16
+ messageCode: string;
17
+ clientId: string;
18
+ state: MessageStalledStatusState;
19
+ processed: number;
20
+ isClientAlive: boolean;
21
+ accountId: number;
22
+ /** Last progress update; unset if absent. */
23
+ lastUpdated: Date;
24
+ /** Last resend; unset if the message was never resent. */
25
+ lastResend: Date;
26
+ };
27
+ export type ListRequest = {};
28
+ export type ListResponse = {
29
+ messages: MessageStalled[];
30
+ };
31
+ export type GetStalledMessageRequest = {
32
+ messageCode: string;
33
+ };
34
+ export type GetStalledMessageResponse = {
35
+ message: MessageStalled;
36
+ };
37
+ export type ResendMessageRequest = {
38
+ messageCode: string;
39
+ };
40
+ export type ResendMessageResponse = {};
41
+ export type ClearMessageRequest = {
42
+ messageCode: string;
43
+ };
44
+ export type ClearMessageResponse = {};
45
+ export type MessagingService_Notify = RpcMethod<NotifyRequest, NotifyResponse>;
46
+ export type MessagingService_Cancel = RpcMethod<CancelRequest, CancelResponse>;
47
+ export interface MessagingService {
48
+ /** Notify creates a new message. Can be targeted to a segment or a list of users. */
49
+ Notify: MessagingService_Notify;
50
+ /**
51
+ * Cancel cancels a previously created message identified by message_code.
52
+ * Only messages in a cancelable state (pending, waiting, processing) can be canceled.
53
+ */
54
+ Cancel: MessagingService_Cancel;
55
+ }
56
+ export type NotifyRequest_kind_segment = {
57
+ type: 'segment';
58
+ data: NotifySegment;
59
+ };
60
+ export type NotifyRequest_kind_transactional = {
61
+ type: 'transactional';
62
+ data: NotifyTransactional;
63
+ };
64
+ export type NotifyRequest_kind = NotifyRequest_kind_segment | NotifyRequest_kind_transactional;
65
+ export type NotifyRequest = {
66
+ kind: NotifyRequest_kind;
67
+ };
68
+ export type NotifyResponse = {
69
+ result: NotifyResult;
70
+ };
71
+ export type NotifyResult = {
72
+ messageCode: string;
73
+ unknownIdentifiers: string[];
74
+ };
75
+ export type CancelRequest = {
76
+ /** Code of the message to cancel (as returned by Notify in NotifyResult.message_code). */
77
+ messageCode: string;
78
+ };
79
+ export type CancelResponse = {};
80
+ export type MessageType = 'MESSAGE_TYPE_UNSPECIFIED' | 'MESSAGE_TYPE_MARKETING' | 'MESSAGE_TYPE_TRANSACTIONAL';
81
+ /**
82
+ * RegistrationType controls whether destinations referenced by hwid / push token /
83
+ * user_id / email address / phone number that are NOT yet present in Pushwoosh
84
+ * should be created on the fly when the message is dispatched.
85
+ *
86
+ * Channel-agnostic: applies to email, SMS, WhatsApp, push tokens, hwids — anything
87
+ * the gateway tries to resolve to an existing device/user record.
88
+ */
89
+ export type RegistrationType =
90
+ /** Use the application's default behaviour (skip unknown identifiers). */
91
+ 'REGISTRATION_TYPE_DEFAULT'
92
+ /** Do not auto-create unknown identifiers; treat them as unknown. */
93
+ | 'REGISTRATION_TYPE_NONE'
94
+ /**
95
+ * Force-create a device/user record for every recipient identifier provided
96
+ * in the request, even if it is unknown to Pushwoosh.
97
+ */
98
+ | 'REGISTRATION_TYPE_FORCE';
99
+ export type Platform = 'UNKNOWN' | 'IOS' | 'ANDROID' | 'OSX' | 'WINDOWS' | 'AMAZON' | 'SAFARI' | 'CHROME' | 'FIREFOX' | 'IE' | 'EMAIL' | 'BAIDU_ANDROID' | 'HUAWEI_ANDROID' | 'SMS' | 'WEB' | 'WHATS_APP' | 'LINE' | 'KAKAO' | 'TELEGRAM';
100
+ export type NotifySegment_target_code = {
101
+ type: 'code';
102
+ data: string;
103
+ };
104
+ export type NotifySegment_target_expression = {
105
+ type: 'expression';
106
+ data: string;
107
+ };
108
+ export type NotifySegment_target_filterExpression = {
109
+ type: 'filterExpression';
110
+ data: pushwoosh_objects_filters_v1_FilterExpression;
111
+ };
112
+ export type NotifySegment_target = NotifySegment_target_code | NotifySegment_target_expression | NotifySegment_target_filterExpression;
113
+ export type NotifySegment_messagePayload_payload = {
114
+ type: 'payload';
115
+ data: Payload;
116
+ };
117
+ export type NotifySegment_messagePayload_emailPayload = {
118
+ type: 'emailPayload';
119
+ data: EmailPayload;
120
+ };
121
+ export type NotifySegment_messagePayload = NotifySegment_messagePayload_payload | NotifySegment_messagePayload_emailPayload;
122
+ /**
123
+ * NotifySegment defines a request to send a message to a segment of users.
124
+ * Segment can be defined either by a segment code or by a seglang expression.
125
+ */
126
+ export type NotifySegment = {
127
+ /** Message schedule. */
128
+ schedule: Schedule;
129
+ /** Application code to get hwids, users and push tokens from. */
130
+ application: string;
131
+ /** List of platform. */
132
+ platforms: Platform[];
133
+ /** Message frequency capping. */
134
+ frequencyCapping: FrequencyCapping;
135
+ /** Campaign code */
136
+ campaign: string;
137
+ sendRate: SendRate;
138
+ metaData: object;
139
+ dynamicContentPlaceholders: Record<string, string>;
140
+ /**
141
+ * Message type: marketing or transactional.
142
+ * Used to control behavior like control group filtering.
143
+ */
144
+ messageType: MessageType;
145
+ /**
146
+ * Whether to auto-create unknown destination identifiers.
147
+ * See RegistrationType for semantics. Applies across channels (email, SMS, …).
148
+ */
149
+ registrationType: RegistrationType;
150
+ target: NotifySegment_target;
151
+ messagePayload: NotifySegment_messagePayload;
152
+ };
153
+ export type NotifyTransactional_HwidsList = {
154
+ list: string[];
155
+ };
156
+ export type NotifyTransactional_UsersList = {
157
+ list: string[];
158
+ };
159
+ export type NotifyTransactional_PushTokensList = {
160
+ list: string[];
161
+ };
162
+ export type NotifyTransactional_target_testDevices = {
163
+ type: 'testDevices';
164
+ data: boolean;
165
+ };
166
+ export type NotifyTransactional_target_hwids = {
167
+ type: 'hwids';
168
+ data: NotifyTransactional_HwidsList;
169
+ };
170
+ export type NotifyTransactional_target_users = {
171
+ type: 'users';
172
+ data: NotifyTransactional_UsersList;
173
+ };
174
+ export type NotifyTransactional_target_pushTokens = {
175
+ type: 'pushTokens';
176
+ data: NotifyTransactional_PushTokensList;
177
+ };
178
+ export type NotifyTransactional_target = NotifyTransactional_target_testDevices | NotifyTransactional_target_hwids | NotifyTransactional_target_users | NotifyTransactional_target_pushTokens;
179
+ export type NotifyTransactional_messagePayload_payload = {
180
+ type: 'payload';
181
+ data: Payload;
182
+ };
183
+ export type NotifyTransactional_messagePayload_emailPayload = {
184
+ type: 'emailPayload';
185
+ data: EmailPayload;
186
+ };
187
+ export type NotifyTransactional_messagePayload = NotifyTransactional_messagePayload_payload | NotifyTransactional_messagePayload_emailPayload;
188
+ export type NotifyTransactional = {
189
+ /** Message schedule. */
190
+ schedule: Schedule;
191
+ /** Application code to get hwids, users and push tokens from. */
192
+ application: string;
193
+ /** List of platform. */
194
+ platforms: Platform[];
195
+ /**
196
+ * Flag indicating whether to return the list of unknown identifiers.
197
+ * If true, the response will include the 'unknown_identifiers' field
198
+ */
199
+ returnUnknownIdentifiers: boolean;
200
+ /** Message frequency capping. */
201
+ frequencyCapping: FrequencyCapping;
202
+ /** Campaign code */
203
+ campaign: string;
204
+ sendRate: SendRate;
205
+ metaData: object;
206
+ dynamicContentPlaceholders: Record<string, string>;
207
+ /**
208
+ * Message type: marketing or transactional.
209
+ * Used to control behavior like control group filtering.
210
+ */
211
+ messageType: MessageType;
212
+ /**
213
+ * Global TTL. When set, it overrides per-platform TTL
214
+ * values and the preset-level TTL, and is applied uniformly across every
215
+ * push platform (iOS, Android, Huawei, Baidu, Chrome, macOS, Safari, Amazon, Windows).
216
+ */
217
+ ttl: Duration;
218
+ /** When true and target is Users, sends only to the device with the most recent Last Application Open timestamp. */
219
+ useLatestUserDevice: boolean;
220
+ /**
221
+ * Whether to auto-create unknown destination identifiers.
222
+ * See RegistrationType for semantics. Applies across channels (email, SMS, …).
223
+ */
224
+ registrationType: RegistrationType;
225
+ target: NotifyTransactional_target;
226
+ messagePayload: NotifyTransactional_messagePayload;
227
+ };
228
+ export type Schedule_PastTimezonesBehaviour = 'PAST_TIMEZONES_BEHAVIOUR_DEFAULT'
229
+ /** users whose timezone is already in the past will receive the message immediately. */
230
+ | 'PAST_TIMEZONES_BEHAVIOUR_SEND_IMMEDIATELY'
231
+ /** users whose timezone is already in the past will not receive the message. */
232
+ | 'PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND'
233
+ /** users whose timezone is already in the past will receive the message on the next day. */
234
+ | 'PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY';
235
+ export type Schedule_sendDate_at = {
236
+ type: 'at';
237
+ data: Date;
238
+ };
239
+ export type Schedule_sendDate_after = {
240
+ type: 'after';
241
+ data: Duration;
242
+ };
243
+ export type Schedule_sendDate = Schedule_sendDate_at | Schedule_sendDate_after;
244
+ /** Message schedule. */
245
+ export type Schedule = {
246
+ /** Whether to send the message according to user's timezone. */
247
+ followUserTimezone: boolean;
248
+ /** What to do with past timezones. */
249
+ pastTimezonesBehaviour: Schedule_PastTimezonesBehaviour;
250
+ sendDate: Schedule_sendDate;
251
+ };
252
+ /** Message frequency capping. */
253
+ export type FrequencyCapping = {
254
+ days: number;
255
+ count: number;
256
+ exclude: boolean;
257
+ avoid: boolean;
258
+ };
259
+ export type SendRate = {
260
+ value: number;
261
+ bucket: string;
262
+ avoid: boolean;
263
+ };
264
+ export type DeliveryPriority = 'NORMAL' | 'HIGH';
265
+ export type NotificationPriority = 'PRIORITY_UNSPECIFIED' | 'PRIORITY_MIN' | 'PRIORITY_LOW' | 'PRIORITY_DEFAULT' | 'PRIORITY_HIGH' | 'PRIORITY_MAX';
266
+ export type LiveActivity = {
267
+ event: string;
268
+ dismissalDate: number;
269
+ contentState: object;
270
+ staleDate: number;
271
+ relevanceScore: number;
272
+ attributesType: string;
273
+ attributes: object;
274
+ start: number;
275
+ };
276
+ export type Link_Shortener = 'NONE' | 'BITLY';
277
+ export type Link = {
278
+ url: string;
279
+ shortener: Link_Shortener;
280
+ };
281
+ export type RichMedia_kind_code = {
282
+ type: 'code';
283
+ data: string;
284
+ };
285
+ export type RichMedia_kind_url = {
286
+ type: 'url';
287
+ data: string;
288
+ };
289
+ export type RichMedia_kind = RichMedia_kind_code | RichMedia_kind_url;
290
+ export type RichMedia = {
291
+ kind: RichMedia_kind;
292
+ };
293
+ export type DeepLink = {
294
+ code: string;
295
+ params: Record<string, string>;
296
+ };
297
+ export type OpenAction_kind_richMedia = {
298
+ type: 'richMedia';
299
+ data: RichMedia;
300
+ };
301
+ export type OpenAction_kind_deepLink = {
302
+ type: 'deepLink';
303
+ data: DeepLink;
304
+ };
305
+ export type OpenAction_kind_link = {
306
+ type: 'link';
307
+ data: Link;
308
+ };
309
+ export type OpenAction_kind = OpenAction_kind_richMedia | OpenAction_kind_deepLink | OpenAction_kind_link;
310
+ export type OpenAction = {
311
+ kind: OpenAction_kind;
312
+ };
313
+ export type Inbox = {
314
+ imageUrl: string;
315
+ expirationDate: Date;
316
+ };
317
+ export type Content_GlobalProperties = {
318
+ timeToLive: Duration;
319
+ };
320
+ export type Content_PlatformPropertiesIos = {
321
+ title: string;
322
+ subtitle: string;
323
+ body: string;
324
+ timeToLive: Duration;
325
+ isCritical: boolean;
326
+ attachment: string;
327
+ sound: string;
328
+ threadId: string;
329
+ badges: string;
330
+ trimContent: boolean;
331
+ categoryId: string;
332
+ soundEnabled: boolean;
333
+ interruptionLevel: string;
334
+ rootParams: object;
335
+ liveActivity: LiveActivity;
336
+ collapseId: string;
337
+ inbox: Inbox;
338
+ liveActivityId: string;
339
+ };
340
+ export type Content_PlatformPropertiesAndroid = {
341
+ title: string;
342
+ body: string;
343
+ timeToLive: Duration;
344
+ icon: string;
345
+ banner: string;
346
+ deliveryPriority: DeliveryPriority;
347
+ vibration: boolean;
348
+ badges: string;
349
+ sound: string;
350
+ ledColor: string;
351
+ soundEnabled: boolean;
352
+ iconBackgroundColor: string;
353
+ showOnLockscreen: boolean;
354
+ rootParams: object;
355
+ customIcon: string;
356
+ priority: NotificationPriority;
357
+ groupId: string;
358
+ collapseKey: string;
359
+ inbox: Inbox;
360
+ };
361
+ export type Content_PlatformPropertiesChrome = {
362
+ title: string;
363
+ body: string;
364
+ timeToLive: Duration;
365
+ icon: string;
366
+ image: string;
367
+ rootParams: object;
368
+ duration: Duration;
369
+ buttonText1: string;
370
+ buttonUrl1: string;
371
+ buttonText2: string;
372
+ buttonUrl2: string;
373
+ inbox: Inbox;
374
+ };
375
+ export type Content_PlatformPropertiesFirefox = {
376
+ title: string;
377
+ body: string;
378
+ icon: string;
379
+ rootParams: object;
380
+ inbox: Inbox;
381
+ };
382
+ export type Content_PlatformPropertiesSafari = {
383
+ title: string;
384
+ body: string;
385
+ timeToLive: Duration;
386
+ action: string;
387
+ urlArguments: string[];
388
+ inbox: Inbox;
389
+ };
390
+ export type Content_PlatformPropertiesMacOS = {
391
+ title: string;
392
+ body: string;
393
+ timeToLive: Duration;
394
+ action: string;
395
+ sound: string;
396
+ soundEnabled: boolean;
397
+ badges: string;
398
+ rootParams: object;
399
+ inbox: Inbox;
400
+ subtitle: string;
401
+ };
402
+ export type Content_PlatformPropertiesAmazon = {
403
+ title: string;
404
+ body: string;
405
+ timeToLive: Duration;
406
+ banner: string;
407
+ sound: string;
408
+ soundEnabled: boolean;
409
+ rootParams: object;
410
+ icon: string;
411
+ customIcon: string;
412
+ priority: NotificationPriority;
413
+ inbox: Inbox;
414
+ };
415
+ export type Content_PlatformPropertiesBaiduAndroid = {
416
+ title: string;
417
+ body: string;
418
+ timeToLive: Duration;
419
+ icon: string;
420
+ banner: string;
421
+ deliveryPriority: DeliveryPriority;
422
+ vibration: boolean;
423
+ badges: string;
424
+ sound: string;
425
+ ledColor: string;
426
+ soundEnabled: boolean;
427
+ iconBackgroundColor: string;
428
+ showOnLockscreen: boolean;
429
+ rootParams: object;
430
+ customIcon: string;
431
+ priority: NotificationPriority;
432
+ groupId: string;
433
+ inbox: Inbox;
434
+ };
435
+ export type Content_PlatformPropertiesHuaweiAndroid = {
436
+ title: string;
437
+ body: string;
438
+ timeToLive: Duration;
439
+ icon: string;
440
+ banner: string;
441
+ deliveryPriority: DeliveryPriority;
442
+ vibration: boolean;
443
+ badges: string;
444
+ sound: string;
445
+ ledColor: string;
446
+ soundEnabled: boolean;
447
+ iconBackgroundColor: string;
448
+ showOnLockscreen: boolean;
449
+ rootParams: object;
450
+ customIcon: string;
451
+ priority: NotificationPriority;
452
+ groupId: string;
453
+ inbox: Inbox;
454
+ };
455
+ export type Content_PlatformPropertiesIE = {
456
+ title: string;
457
+ iconBadge: string;
458
+ body: string;
459
+ inbox: Inbox;
460
+ };
461
+ export type Content_PlatformPropertiesWindows_Raw = {
462
+ content: string;
463
+ };
464
+ export type Content_PlatformPropertiesWindows_Template = {
465
+ title: string;
466
+ subtitle: string;
467
+ body: string;
468
+ imageUrl: string;
469
+ };
470
+ export type Content_PlatformPropertiesWindows_Type = 'TILE' | 'TOAST' | 'BADGE';
471
+ export type Content_PlatformPropertiesWindows_content_raw = {
472
+ type: 'raw';
473
+ data: Content_PlatformPropertiesWindows_Raw;
474
+ };
475
+ export type Content_PlatformPropertiesWindows_content_template = {
476
+ type: 'template';
477
+ data: Content_PlatformPropertiesWindows_Template;
478
+ };
479
+ export type Content_PlatformPropertiesWindows_content = Content_PlatformPropertiesWindows_content_raw | Content_PlatformPropertiesWindows_content_template;
480
+ export type Content_PlatformPropertiesWindows = {
481
+ type: Content_PlatformPropertiesWindows_Type;
482
+ tag: string;
483
+ cache: boolean;
484
+ timeToLive: Duration;
485
+ content: Content_PlatformPropertiesWindows_content;
486
+ };
487
+ export type Content_PlatformPropertiesSMS = {
488
+ body: string;
489
+ };
490
+ export type Content_PlatformPropertiesTelegram = {
491
+ body: string;
492
+ contentVariables: string;
493
+ };
494
+ export type Content_PlatformPropertiesKakao = {
495
+ content: string;
496
+ template: string;
497
+ contentVariables: string;
498
+ };
499
+ export type Content_PlatformPropertiesLine = {
500
+ content: string;
501
+ template: string;
502
+ };
503
+ export type Content_PlatformPropertiesWhatsApp = {
504
+ /**
505
+ * Free-form text body. Meta only accepts it inside the 24-hour customer
506
+ * service window (opened when the end user sent an inbound message).
507
+ * Exactly one of `content` or `content_id` must be set.
508
+ */
509
+ content: string;
510
+ /**
511
+ * Name of a pre-approved Meta template (e.g. "hello_world"). Required for
512
+ * outbound initiation or any message outside the 24h window; dynamic data
513
+ * goes through {content,header,button_url}_variables.
514
+ * Exactly one of `content` or `content_id` must be set.
515
+ */
516
+ contentId: string;
517
+ /**
518
+ * Template locale that must exactly match the one approved in Meta
519
+ * (e.g. "en_US", "en_GB"). Only meaningful with `content_id`.
520
+ */
521
+ language: string;
522
+ /** JSON string, map of template body placeholders (e.g. {"1":"John"}). */
523
+ contentVariables: string;
524
+ /**
525
+ * JSON string, map of button-URL placeholders keyed by button index
526
+ * (e.g. {"0":"https://..."}).
527
+ */
528
+ buttonUrlVariables: string;
529
+ /**
530
+ * JSON string, map of header placeholders keyed by type
531
+ * (e.g. {"image":"https://..."}).
532
+ */
533
+ headerVariables: string;
534
+ };
535
+ export type Content = {
536
+ ios: Content_PlatformPropertiesIos;
537
+ android: Content_PlatformPropertiesAndroid;
538
+ macOs: Content_PlatformPropertiesMacOS;
539
+ amazon: Content_PlatformPropertiesAmazon;
540
+ safari: Content_PlatformPropertiesSafari;
541
+ chrome: Content_PlatformPropertiesChrome;
542
+ firefox: Content_PlatformPropertiesFirefox;
543
+ baiduAndroid: Content_PlatformPropertiesBaiduAndroid;
544
+ huaweiAndroid: Content_PlatformPropertiesHuaweiAndroid;
545
+ ie: Content_PlatformPropertiesIE;
546
+ windows: Content_PlatformPropertiesWindows;
547
+ telegram: Content_PlatformPropertiesTelegram;
548
+ kakao: Content_PlatformPropertiesKakao;
549
+ line: Content_PlatformPropertiesLine;
550
+ whatsapp: Content_PlatformPropertiesWhatsApp;
551
+ globalProperties: Content_GlobalProperties;
552
+ sms: Content_PlatformPropertiesSMS;
553
+ };
554
+ export type LocalizedContent = {
555
+ localizedContent: Record<string, Content>;
556
+ };
557
+ export type Payload_kind_content = {
558
+ type: 'content';
559
+ data: LocalizedContent;
560
+ };
561
+ export type Payload_kind_silent = {
562
+ type: 'silent';
563
+ data: boolean;
564
+ };
565
+ export type Payload_kind = Payload_kind_content | Payload_kind_silent;
566
+ export type Payload = {
567
+ preset: string;
568
+ customData: object;
569
+ openAction: OpenAction;
570
+ openActions: Record<number, OpenAction>;
571
+ voipPush: boolean;
572
+ appleWalletPassUpdate: boolean;
573
+ appleWalletPassSerial: string;
574
+ kind: Payload_kind;
575
+ };
576
+ /** Email attachments. */
577
+ export type EmailPayload_Attachment = {
578
+ /** File name of the attachment. */
579
+ name: string;
580
+ /** Base64-encoded content of the attachment file. */
581
+ content: string;
582
+ };
583
+ /** Email address descriptor (name and email). */
584
+ export type EmailPayload_Address = {
585
+ name: string;
586
+ email: string;
587
+ };
588
+ export type EmailPayload = {
589
+ /** Subject line for the email. Per-locale values */
590
+ subject: Record<string, string>;
591
+ /** Email body HTML content. Use LocalizedContent to provide per-locale values. */
592
+ body: string;
593
+ attachments: EmailPayload_Attachment[];
594
+ /** Custom URL for the List-Unsubscribe header. */
595
+ listUnsubscribe: string;
596
+ /** Override default "From" configured in application properties. */
597
+ from: EmailPayload_Address;
598
+ /** Override default "Reply-To" configured in application properties. */
599
+ replyTo: EmailPayload_Address;
600
+ /** Email template code to use for this email, must reference an existing Email Template. */
601
+ emailTemplate: string;
602
+ };
@@ -0,0 +1,3 @@
1
+ /* eslint-disable */
2
+ /* Autogenerated code */
3
+ export {};