@warriorteam/redai-zalo-sdk 1.1.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +448 -0
  3. package/dist/clients/base-client.d.ts +67 -0
  4. package/dist/clients/base-client.d.ts.map +1 -0
  5. package/dist/clients/base-client.js +297 -0
  6. package/dist/clients/base-client.js.map +1 -0
  7. package/dist/clients/zalo-client.d.ts +131 -0
  8. package/dist/clients/zalo-client.d.ts.map +1 -0
  9. package/dist/clients/zalo-client.js +215 -0
  10. package/dist/clients/zalo-client.js.map +1 -0
  11. package/dist/index.d.ts +40 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +82 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/services/article.service.d.ts +144 -0
  16. package/dist/services/article.service.d.ts.map +1 -0
  17. package/dist/services/article.service.js +518 -0
  18. package/dist/services/article.service.js.map +1 -0
  19. package/dist/services/auth.service.d.ts +55 -0
  20. package/dist/services/auth.service.d.ts.map +1 -0
  21. package/dist/services/auth.service.js +269 -0
  22. package/dist/services/auth.service.js.map +1 -0
  23. package/dist/services/consultation.service.d.ts +73 -0
  24. package/dist/services/consultation.service.d.ts.map +1 -0
  25. package/dist/services/consultation.service.js +208 -0
  26. package/dist/services/consultation.service.js.map +1 -0
  27. package/dist/services/general-message.service.d.ts +85 -0
  28. package/dist/services/general-message.service.d.ts.map +1 -0
  29. package/dist/services/general-message.service.js +248 -0
  30. package/dist/services/general-message.service.js.map +1 -0
  31. package/dist/services/group-management.service.d.ts +220 -0
  32. package/dist/services/group-management.service.d.ts.map +1 -0
  33. package/dist/services/group-management.service.js +562 -0
  34. package/dist/services/group-management.service.js.map +1 -0
  35. package/dist/services/group-message.service.d.ts +102 -0
  36. package/dist/services/group-message.service.d.ts.map +1 -0
  37. package/dist/services/group-message.service.js +233 -0
  38. package/dist/services/group-message.service.js.map +1 -0
  39. package/dist/services/message-management.service.d.ts +135 -0
  40. package/dist/services/message-management.service.d.ts.map +1 -0
  41. package/dist/services/message-management.service.js +237 -0
  42. package/dist/services/message-management.service.js.map +1 -0
  43. package/dist/services/oa.service.d.ts +67 -0
  44. package/dist/services/oa.service.d.ts.map +1 -0
  45. package/dist/services/oa.service.js +223 -0
  46. package/dist/services/oa.service.js.map +1 -0
  47. package/dist/services/promotion.service.d.ts +114 -0
  48. package/dist/services/promotion.service.d.ts.map +1 -0
  49. package/dist/services/promotion.service.js +247 -0
  50. package/dist/services/promotion.service.js.map +1 -0
  51. package/dist/services/tag.service.d.ts +144 -0
  52. package/dist/services/tag.service.d.ts.map +1 -0
  53. package/dist/services/tag.service.js +184 -0
  54. package/dist/services/tag.service.js.map +1 -0
  55. package/dist/services/transaction.service.d.ts +110 -0
  56. package/dist/services/transaction.service.d.ts.map +1 -0
  57. package/dist/services/transaction.service.js +231 -0
  58. package/dist/services/transaction.service.js.map +1 -0
  59. package/dist/services/user-management.service.d.ts +117 -0
  60. package/dist/services/user-management.service.d.ts.map +1 -0
  61. package/dist/services/user-management.service.js +239 -0
  62. package/dist/services/user-management.service.js.map +1 -0
  63. package/dist/services/user.service.d.ts +84 -0
  64. package/dist/services/user.service.d.ts.map +1 -0
  65. package/dist/services/user.service.js +323 -0
  66. package/dist/services/user.service.js.map +1 -0
  67. package/dist/services/video-upload.service.d.ts +83 -0
  68. package/dist/services/video-upload.service.d.ts.map +1 -0
  69. package/dist/services/video-upload.service.js +267 -0
  70. package/dist/services/video-upload.service.js.map +1 -0
  71. package/dist/services/zns.service.d.ts +116 -0
  72. package/dist/services/zns.service.d.ts.map +1 -0
  73. package/dist/services/zns.service.js +234 -0
  74. package/dist/services/zns.service.js.map +1 -0
  75. package/dist/types/article.d.ts +352 -0
  76. package/dist/types/article.d.ts.map +1 -0
  77. package/dist/types/article.js +70 -0
  78. package/dist/types/article.js.map +1 -0
  79. package/dist/types/auth.d.ts +233 -0
  80. package/dist/types/auth.d.ts.map +1 -0
  81. package/dist/types/auth.js +39 -0
  82. package/dist/types/auth.js.map +1 -0
  83. package/dist/types/common.d.ts +237 -0
  84. package/dist/types/common.d.ts.map +1 -0
  85. package/dist/types/common.js +42 -0
  86. package/dist/types/common.js.map +1 -0
  87. package/dist/types/group.d.ts +523 -0
  88. package/dist/types/group.d.ts.map +1 -0
  89. package/dist/types/group.js +6 -0
  90. package/dist/types/group.js.map +1 -0
  91. package/dist/types/message.d.ts +333 -0
  92. package/dist/types/message.d.ts.map +1 -0
  93. package/dist/types/message.js +17 -0
  94. package/dist/types/message.js.map +1 -0
  95. package/dist/types/oa.d.ts +285 -0
  96. package/dist/types/oa.d.ts.map +1 -0
  97. package/dist/types/oa.js +25 -0
  98. package/dist/types/oa.js.map +1 -0
  99. package/dist/types/social.d.ts +427 -0
  100. package/dist/types/social.d.ts.map +1 -0
  101. package/dist/types/social.js +6 -0
  102. package/dist/types/social.js.map +1 -0
  103. package/dist/types/user-management.d.ts +280 -0
  104. package/dist/types/user-management.d.ts.map +1 -0
  105. package/dist/types/user-management.js +6 -0
  106. package/dist/types/user-management.js.map +1 -0
  107. package/dist/types/user.d.ts +365 -0
  108. package/dist/types/user.d.ts.map +1 -0
  109. package/dist/types/user.js +17 -0
  110. package/dist/types/user.js.map +1 -0
  111. package/dist/types/webhook.d.ts +1972 -0
  112. package/dist/types/webhook.d.ts.map +1 -0
  113. package/dist/types/webhook.js +419 -0
  114. package/dist/types/webhook.js.map +1 -0
  115. package/dist/types/zns.d.ts +277 -0
  116. package/dist/types/zns.d.ts.map +1 -0
  117. package/dist/types/zns.js +6 -0
  118. package/dist/types/zns.js.map +1 -0
  119. package/dist/zalo-sdk.d.ts +228 -0
  120. package/dist/zalo-sdk.d.ts.map +1 -0
  121. package/dist/zalo-sdk.js +307 -0
  122. package/dist/zalo-sdk.js.map +1 -0
  123. package/package.json +59 -0
@@ -0,0 +1,1972 @@
1
+ /**
2
+ * Types for Zalo Webhook Events
3
+ * Based on Zalo Official Account Webhook API
4
+ */
5
+ /**
6
+ * Base webhook event structure
7
+ */
8
+ export interface BaseWebhookEvent {
9
+ /** Application ID */
10
+ app_id: string;
11
+ /** User ID for Social API */
12
+ user_id_by_app: string;
13
+ /** Event name */
14
+ event_name: string;
15
+ /** Event timestamp */
16
+ timestamp: string;
17
+ }
18
+ /**
19
+ * Webhook sender information
20
+ */
21
+ export interface WebhookSender {
22
+ /** Sender ID */
23
+ id: string;
24
+ }
25
+ /**
26
+ * Webhook recipient information
27
+ */
28
+ export interface WebhookRecipient {
29
+ /** Recipient ID */
30
+ id: string;
31
+ }
32
+ /**
33
+ * Webhook follower information (for follow events)
34
+ */
35
+ export interface WebhookFollower {
36
+ /** Follower ID */
37
+ id: string;
38
+ }
39
+ /**
40
+ * Webhook customer information (for shop events)
41
+ */
42
+ export interface WebhookCustomer {
43
+ /** Customer ID */
44
+ id: string;
45
+ }
46
+ /**
47
+ * User submitted information
48
+ */
49
+ export interface UserSubmittedInfo {
50
+ /** User address */
51
+ address?: string;
52
+ /** User phone number */
53
+ phone?: string;
54
+ /** User city */
55
+ city?: string;
56
+ /** User district */
57
+ district?: string;
58
+ /** User name */
59
+ name?: string;
60
+ /** User ward */
61
+ ward?: string;
62
+ }
63
+ /**
64
+ * Webhook user information (for click events)
65
+ */
66
+ export interface WebhookUser {
67
+ /** User ID */
68
+ id?: string;
69
+ }
70
+ /**
71
+ * Message with reaction
72
+ */
73
+ export interface ReactionMessage {
74
+ /** Message ID */
75
+ msg_id: string;
76
+ /** Reaction icon */
77
+ react_icon: string;
78
+ }
79
+ /**
80
+ * Anonymous message with conversation ID
81
+ */
82
+ export interface AnonymousMessage extends WebhookBaseMessage {
83
+ /** Conversation ID for anonymous chat */
84
+ conversation_id: string;
85
+ }
86
+ /**
87
+ * Call information for call events
88
+ */
89
+ export interface CallInfo {
90
+ /** Call ID */
91
+ call_id: string;
92
+ /** Call type (AUDIO, VIDEO) */
93
+ call_type: string;
94
+ /** Call initialization time */
95
+ init_time: string;
96
+ /** Total call duration in milliseconds */
97
+ call_duration: string;
98
+ /** Waiting time before call answered */
99
+ waiting_time: string;
100
+ /** Actual talk time */
101
+ talk_time: string;
102
+ /** Call status code */
103
+ status_code: string;
104
+ /** Phone number */
105
+ phone?: string;
106
+ }
107
+ /**
108
+ * Template message payload
109
+ */
110
+ export interface TemplatePayload {
111
+ /** Template checksum */
112
+ checksum: string;
113
+ /** Template link URL */
114
+ link_url: string;
115
+ /** Zalo instant ID */
116
+ zinstant_id: string;
117
+ /** Template text content */
118
+ text: string;
119
+ }
120
+ /**
121
+ * Template message source
122
+ */
123
+ export interface TemplateSource {
124
+ /** Service name */
125
+ service: string;
126
+ /** Application ID */
127
+ app_id: string;
128
+ }
129
+ /**
130
+ * Template message
131
+ */
132
+ export interface TemplateMessage {
133
+ /** Client message ID */
134
+ client_msg_id: string;
135
+ /** Template payload */
136
+ payload: TemplatePayload;
137
+ /** Message source */
138
+ source: TemplateSource;
139
+ /** Message ID */
140
+ msg_id: string;
141
+ /** Is reply flag */
142
+ is_reply: boolean;
143
+ }
144
+ /**
145
+ * Business card payload
146
+ */
147
+ export interface BusinessCardPayload {
148
+ /** Business card thumbnail */
149
+ thumbnail: string;
150
+ /** Business card description (JSON string) */
151
+ description: string;
152
+ /** Business card URL */
153
+ url: string;
154
+ }
155
+ /**
156
+ * Business card message
157
+ */
158
+ export interface BusinessCardMessage extends WebhookBaseMessage {
159
+ /** Client message ID */
160
+ client_msg_id: string;
161
+ /** Business card attachments */
162
+ attachments: Array<MessageAttachment & {
163
+ type: "link";
164
+ payload: BusinessCardPayload;
165
+ }>;
166
+ }
167
+ /**
168
+ * User feedback message
169
+ */
170
+ export interface FeedbackMessage {
171
+ /** Feedback note */
172
+ note: string;
173
+ /** Rating score */
174
+ rate: number;
175
+ /** Submit time */
176
+ submit_time: string;
177
+ /** Feedback options */
178
+ feedbacks: string[];
179
+ /** Message ID */
180
+ msg_id: string;
181
+ /** Tracking ID */
182
+ tracking_id: string;
183
+ }
184
+ /**
185
+ * Quota change information
186
+ */
187
+ export interface QuotaChange {
188
+ /** Previous quota value */
189
+ prev_value: number;
190
+ /** New quota value */
191
+ new_value: number;
192
+ }
193
+ /**
194
+ * Tag level change information
195
+ */
196
+ export interface TagLevelChange {
197
+ /** Previous tag level */
198
+ prev_value: number;
199
+ /** New tag level */
200
+ new_value: number;
201
+ }
202
+ /**
203
+ * ZNS delivery message
204
+ */
205
+ export interface ZNSDeliveryMessage {
206
+ /** Delivery time */
207
+ delivery_time: string;
208
+ /** Message ID */
209
+ msg_id: string;
210
+ /** Tracking ID */
211
+ tracking_id: string;
212
+ }
213
+ /**
214
+ * Group information
215
+ */
216
+ export interface GroupInfo {
217
+ /** Group ID */
218
+ group_id: string;
219
+ /** Official Account ID */
220
+ oa_id: string;
221
+ /** Application ID */
222
+ app_id: string;
223
+ /** User list (for group events) */
224
+ users?: string[];
225
+ }
226
+ /**
227
+ * Widget interaction data
228
+ */
229
+ export interface WidgetInteractionData {
230
+ /** User ID by OA */
231
+ user_id_by_oa: string;
232
+ /** User external ID */
233
+ user_external_id: string;
234
+ /** Widget URL */
235
+ url: string;
236
+ }
237
+ /**
238
+ * Widget sync failure data
239
+ */
240
+ export interface WidgetSyncFailureData {
241
+ /** Error message */
242
+ message: string;
243
+ /** User ID by OA */
244
+ user_id_by_oa: string;
245
+ /** User external ID */
246
+ user_external_id: string;
247
+ }
248
+ /**
249
+ * Template status change
250
+ */
251
+ export interface TemplateStatusChange {
252
+ /** Previous status */
253
+ prev_status: string;
254
+ /** New status */
255
+ new_status: string;
256
+ }
257
+ /**
258
+ * Permission revoked data
259
+ */
260
+ export interface PermissionRevokedData {
261
+ /** Action performed by (APP or OA) */
262
+ action_by: string;
263
+ /** Revoked timestamp */
264
+ revoked_at: string;
265
+ }
266
+ /**
267
+ * Extension subscription info
268
+ */
269
+ export interface ExtensionSubscriptionInfo {
270
+ /** Valid through date */
271
+ valid_through_date: string;
272
+ /** Duration in months */
273
+ duration_month: string;
274
+ /** Valid start date */
275
+ valid_start_date: string;
276
+ }
277
+ /**
278
+ * Update user info data
279
+ */
280
+ export interface UpdateUserInfoData {
281
+ /** Update method */
282
+ method: string;
283
+ }
284
+ /**
285
+ * Anonymous message with attachments and conversation ID
286
+ */
287
+ export interface AnonymousMessageWithAttachments extends WebhookMessageWithAttachments {
288
+ /** Conversation ID for anonymous chat */
289
+ conversation_id: string;
290
+ }
291
+ /**
292
+ * Location coordinates
293
+ */
294
+ export interface LocationCoordinates {
295
+ /** Latitude */
296
+ latitude: string;
297
+ /** Longitude */
298
+ longitude: string;
299
+ }
300
+ /**
301
+ * Location attachment payload
302
+ */
303
+ export interface LocationPayload {
304
+ /** Location coordinates */
305
+ coordinates: LocationCoordinates;
306
+ }
307
+ /**
308
+ * Image attachment payload
309
+ */
310
+ export interface ImagePayload {
311
+ /** Thumbnail URL */
312
+ thumbnail: string;
313
+ /** Full image URL */
314
+ url: string;
315
+ }
316
+ /**
317
+ * Link attachment payload
318
+ */
319
+ export interface LinkPayload {
320
+ /** Link thumbnail URL */
321
+ thumbnail: string;
322
+ /** Link description */
323
+ description: string;
324
+ /** Link URL */
325
+ url: string;
326
+ }
327
+ /**
328
+ * Sticker attachment payload
329
+ */
330
+ export interface StickerPayload {
331
+ /** Sticker ID */
332
+ id: string;
333
+ /** Sticker URL */
334
+ url: string;
335
+ }
336
+ /**
337
+ * GIF attachment payload
338
+ */
339
+ export interface GifPayload {
340
+ /** GIF thumbnail URL */
341
+ thumbnail: string;
342
+ /** GIF URL */
343
+ url: string;
344
+ }
345
+ /**
346
+ * Audio attachment payload
347
+ */
348
+ export interface AudioPayload {
349
+ /** Audio file URL */
350
+ url: string;
351
+ }
352
+ /**
353
+ * Video attachment payload
354
+ */
355
+ export interface VideoPayload {
356
+ /** Video thumbnail URL */
357
+ thumbnail: string;
358
+ /** Video description */
359
+ description: string;
360
+ /** Video file URL */
361
+ url: string;
362
+ }
363
+ /**
364
+ * File attachment payload
365
+ */
366
+ export interface FilePayload {
367
+ /** File download URL */
368
+ url: string;
369
+ /** File size in bytes */
370
+ size: string;
371
+ /** File name */
372
+ name: string;
373
+ /** File checksum */
374
+ checksum: string;
375
+ /** File type/MIME type */
376
+ type: string;
377
+ }
378
+ /**
379
+ * Enhanced link payload for OA list messages
380
+ */
381
+ export interface EnhancedLinkPayload extends LinkPayload {
382
+ /** Link title */
383
+ title: string;
384
+ }
385
+ /**
386
+ * Union type for all attachment payloads
387
+ */
388
+ export type AttachmentPayload = LocationPayload | ImagePayload | LinkPayload | StickerPayload | GifPayload | AudioPayload | VideoPayload | FilePayload | EnhancedLinkPayload;
389
+ /**
390
+ * Message attachment
391
+ */
392
+ export interface MessageAttachment {
393
+ /** Attachment payload */
394
+ payload: AttachmentPayload;
395
+ /** Attachment type */
396
+ type: "location" | "image" | "link" | "sticker" | "gif" | "audio" | "video" | "file";
397
+ }
398
+ /**
399
+ * Base webhook message structure
400
+ */
401
+ export interface WebhookBaseMessage {
402
+ /** Message ID */
403
+ msg_id: string;
404
+ /** Message text content */
405
+ text?: string;
406
+ }
407
+ /**
408
+ * Webhook message with attachments
409
+ */
410
+ export interface WebhookMessageWithAttachments extends WebhookBaseMessage {
411
+ /** Message attachments */
412
+ attachments: MessageAttachment[];
413
+ }
414
+ /**
415
+ * Message for seen event (contains multiple message IDs)
416
+ */
417
+ export interface SeenMessage {
418
+ /** Array of message IDs that were seen */
419
+ msg_ids: string[];
420
+ }
421
+ /**
422
+ * User follows Official Account event
423
+ */
424
+ export interface UserFollowEvent extends BaseWebhookEvent {
425
+ event_name: "follow";
426
+ /** Official Account ID */
427
+ oa_id: string;
428
+ /** Event source */
429
+ source: string;
430
+ /** Follower information */
431
+ follower: WebhookFollower;
432
+ }
433
+ /**
434
+ * User unfollows Official Account event
435
+ */
436
+ export interface UserUnfollowEvent extends BaseWebhookEvent {
437
+ event_name: "unfollow";
438
+ /** Official Account ID */
439
+ oa_id: string;
440
+ /** Event source */
441
+ source: string;
442
+ /** Follower information */
443
+ follower: WebhookFollower;
444
+ }
445
+ /**
446
+ * Shop has order event
447
+ */
448
+ export interface ShopHasOrderEvent extends BaseWebhookEvent {
449
+ event_name: "shop_has_order";
450
+ /** Official Account ID */
451
+ oa_id: string;
452
+ /** Customer information */
453
+ customer: WebhookCustomer;
454
+ }
455
+ /**
456
+ * Add user to tag event
457
+ */
458
+ export interface AddUserToTagEvent extends BaseWebhookEvent {
459
+ event_name: "add_user_to_tag";
460
+ /** Official Account ID */
461
+ oa_id: string;
462
+ }
463
+ /**
464
+ * OA sends text message event
465
+ */
466
+ export interface OASendTextEvent extends BaseWebhookEvent {
467
+ event_name: "oa_send_text";
468
+ sender: WebhookSender;
469
+ recipient: WebhookRecipient;
470
+ message: WebhookBaseMessage;
471
+ }
472
+ /**
473
+ * OA sends image message event
474
+ */
475
+ export interface OASendImageEvent extends BaseWebhookEvent {
476
+ event_name: "oa_send_image";
477
+ sender: WebhookSender;
478
+ recipient: WebhookRecipient;
479
+ message: WebhookMessageWithAttachments & {
480
+ attachments: Array<MessageAttachment & {
481
+ type: "image";
482
+ payload: ImagePayload;
483
+ }>;
484
+ };
485
+ }
486
+ /**
487
+ * OA sends GIF message event
488
+ */
489
+ export interface OASendGifEvent extends BaseWebhookEvent {
490
+ event_name: "oa_send_gif";
491
+ sender: WebhookSender;
492
+ recipient: WebhookRecipient;
493
+ message: WebhookMessageWithAttachments & {
494
+ attachments: Array<MessageAttachment & {
495
+ type: "gif";
496
+ payload: GifPayload;
497
+ }>;
498
+ };
499
+ }
500
+ /**
501
+ * OA sends list message event (interactive message with multiple links)
502
+ */
503
+ export interface OASendListEvent extends BaseWebhookEvent {
504
+ event_name: "oa_send_list";
505
+ sender: WebhookSender;
506
+ recipient: WebhookRecipient;
507
+ message: WebhookMessageWithAttachments & {
508
+ attachments: Array<MessageAttachment & {
509
+ type: "link";
510
+ payload: EnhancedLinkPayload;
511
+ }>;
512
+ };
513
+ }
514
+ /**
515
+ * OA sends file message event
516
+ */
517
+ export interface OASendFileEvent extends BaseWebhookEvent {
518
+ event_name: "oa_send_file";
519
+ sender: WebhookSender;
520
+ recipient: WebhookRecipient;
521
+ message: WebhookMessageWithAttachments & {
522
+ attachments: Array<MessageAttachment & {
523
+ type: "file";
524
+ payload: FilePayload;
525
+ }>;
526
+ };
527
+ }
528
+ /**
529
+ * OA sends sticker message event
530
+ */
531
+ export interface OASendStickerEvent extends BaseWebhookEvent {
532
+ event_name: "oa_send_sticker";
533
+ sender: WebhookSender;
534
+ recipient: WebhookRecipient;
535
+ message: WebhookMessageWithAttachments & {
536
+ attachments: Array<MessageAttachment & {
537
+ type: "sticker";
538
+ payload: StickerPayload;
539
+ }>;
540
+ };
541
+ }
542
+ /**
543
+ * User clicks "Chat Now" button event
544
+ */
545
+ export interface UserClickChatNowEvent extends BaseWebhookEvent {
546
+ event_name: "user_click_chatnow";
547
+ /** Official Account ID */
548
+ oa_id: string;
549
+ /** User ID (for OA API) */
550
+ user_id: string;
551
+ }
552
+ /**
553
+ * User reacts to message event
554
+ */
555
+ export interface UserReactedMessageEvent extends BaseWebhookEvent {
556
+ event_name: "user_reacted_message";
557
+ sender: WebhookSender;
558
+ recipient: WebhookRecipient;
559
+ message: ReactionMessage;
560
+ }
561
+ /**
562
+ * OA reacts to message event
563
+ */
564
+ export interface OAReactedMessageEvent extends BaseWebhookEvent {
565
+ event_name: "oa_reacted_message";
566
+ sender: WebhookSender;
567
+ recipient: WebhookRecipient;
568
+ message: ReactionMessage;
569
+ }
570
+ /**
571
+ * OA sends consent request event
572
+ */
573
+ export interface OASendConsentEvent extends BaseWebhookEvent {
574
+ event_name: "oa_send_consent";
575
+ /** Official Account ID */
576
+ oa_id: string;
577
+ /** Request type */
578
+ request_type: string;
579
+ /** Create time */
580
+ create_time: string;
581
+ /** Expired time */
582
+ expired_time: string;
583
+ /** Phone number */
584
+ phone: string;
585
+ }
586
+ /**
587
+ * User replies to consent request event
588
+ */
589
+ export interface UserReplyConsentEvent extends BaseWebhookEvent {
590
+ event_name: "user_reply_consent";
591
+ /** Official Account ID */
592
+ oa_id: string;
593
+ /** Expired time */
594
+ expired_time: string;
595
+ /** Confirmed time */
596
+ confirmed_time: string;
597
+ /** Phone number */
598
+ phone: string;
599
+ }
600
+ /**
601
+ * Anonymous user sends text message event
602
+ */
603
+ export interface AnonymousSendTextEvent extends BaseWebhookEvent {
604
+ event_name: "anonymous_send_text";
605
+ sender: WebhookSender;
606
+ recipient: WebhookRecipient;
607
+ message: AnonymousMessage;
608
+ }
609
+ /**
610
+ * Anonymous user sends image message event
611
+ */
612
+ export interface AnonymousSendImageEvent extends BaseWebhookEvent {
613
+ event_name: "anonymous_send_image";
614
+ sender: WebhookSender;
615
+ recipient: WebhookRecipient;
616
+ message: AnonymousMessageWithAttachments & {
617
+ attachments: Array<MessageAttachment & {
618
+ type: "image";
619
+ payload: ImagePayload;
620
+ }>;
621
+ };
622
+ }
623
+ /**
624
+ * Anonymous user sends file message event
625
+ */
626
+ export interface AnonymousSendFileEvent extends BaseWebhookEvent {
627
+ event_name: "anonymous_send_file";
628
+ sender: WebhookSender;
629
+ recipient: WebhookRecipient;
630
+ message: AnonymousMessageWithAttachments & {
631
+ attachments: Array<MessageAttachment & {
632
+ type: "file";
633
+ payload: FilePayload;
634
+ }>;
635
+ };
636
+ }
637
+ /**
638
+ * Anonymous user sends sticker message event
639
+ */
640
+ export interface AnonymousSendStickerEvent extends BaseWebhookEvent {
641
+ event_name: "anonymous_send_sticker";
642
+ sender: WebhookSender;
643
+ recipient: WebhookRecipient;
644
+ message: AnonymousMessageWithAttachments & {
645
+ attachments: Array<MessageAttachment & {
646
+ type: "sticker";
647
+ payload: StickerPayload;
648
+ }>;
649
+ };
650
+ }
651
+ /**
652
+ * OA sends anonymous text message event
653
+ */
654
+ export interface OASendAnonymousTextEvent extends BaseWebhookEvent {
655
+ event_name: "oa_send_anonymous_text";
656
+ sender: WebhookSender;
657
+ recipient: WebhookRecipient;
658
+ message: AnonymousMessage;
659
+ }
660
+ /**
661
+ * OA sends anonymous image message event
662
+ */
663
+ export interface OASendAnonymousImageEvent extends BaseWebhookEvent {
664
+ event_name: "oa_send_anonymous_image";
665
+ sender: WebhookSender;
666
+ recipient: WebhookRecipient;
667
+ message: AnonymousMessageWithAttachments & {
668
+ attachments: Array<MessageAttachment & {
669
+ type: "image";
670
+ payload: ImagePayload;
671
+ }>;
672
+ };
673
+ }
674
+ /**
675
+ * OA sends anonymous file message event
676
+ */
677
+ export interface OASendAnonymousFileEvent extends BaseWebhookEvent {
678
+ event_name: "oa_send_anonymous_file";
679
+ sender: WebhookSender;
680
+ recipient: WebhookRecipient;
681
+ message: AnonymousMessageWithAttachments & {
682
+ attachments: Array<MessageAttachment & {
683
+ type: "file";
684
+ payload: FilePayload;
685
+ }>;
686
+ };
687
+ }
688
+ /**
689
+ * OA sends anonymous sticker message event
690
+ */
691
+ export interface OASendAnonymousStickerEvent extends BaseWebhookEvent {
692
+ event_name: "oa_send_anonymous_sticker";
693
+ sender: WebhookSender;
694
+ recipient: WebhookRecipient;
695
+ message: AnonymousMessageWithAttachments & {
696
+ attachments: Array<MessageAttachment & {
697
+ type: "sticker";
698
+ payload: StickerPayload;
699
+ }>;
700
+ };
701
+ }
702
+ /**
703
+ * OA call user event
704
+ */
705
+ export interface OACallUserEvent extends BaseWebhookEvent {
706
+ event_name: "oa_call_user";
707
+ /** Official Account ID */
708
+ oa_id: string;
709
+ /** Call information */
710
+ call_id: string;
711
+ call_type: string;
712
+ init_time: string;
713
+ call_duration: string;
714
+ waiting_time: string;
715
+ talk_time: string;
716
+ status_code: string;
717
+ phone: string;
718
+ }
719
+ /**
720
+ * User call OA event
721
+ */
722
+ export interface UserCallOAEvent extends BaseWebhookEvent {
723
+ event_name: "user_call_oa";
724
+ /** Official Account ID */
725
+ oa_id: string;
726
+ /** User ID (for OA API) */
727
+ user_id: string;
728
+ /** Call information */
729
+ call_id: string;
730
+ call_type: string;
731
+ init_time: string;
732
+ call_duration: string;
733
+ waiting_time: string;
734
+ talk_time: string;
735
+ status_code: string;
736
+ }
737
+ /**
738
+ * OA sends template message event
739
+ */
740
+ export interface OASendTemplateEvent extends BaseWebhookEvent {
741
+ event_name: "oa_send_template";
742
+ sender: WebhookSender;
743
+ recipient: WebhookRecipient;
744
+ message: TemplateMessage;
745
+ }
746
+ /**
747
+ * User sends business card event
748
+ */
749
+ export interface UserSendBusinessCardEvent extends BaseWebhookEvent {
750
+ event_name: "user_send_business_card";
751
+ sender: WebhookSender;
752
+ recipient: WebhookRecipient;
753
+ message: BusinessCardMessage;
754
+ }
755
+ /**
756
+ * User feedback event
757
+ */
758
+ export interface UserFeedbackEvent extends BaseWebhookEvent {
759
+ event_name: "user_feedback";
760
+ message: FeedbackMessage;
761
+ }
762
+ /**
763
+ * Change OA daily quota event
764
+ */
765
+ export interface ChangeOADailyQuotaEvent extends BaseWebhookEvent {
766
+ event_name: "change_oa_daily_quota";
767
+ /** Official Account ID */
768
+ oa_id: string;
769
+ /** Quota change information */
770
+ quota: QuotaChange;
771
+ }
772
+ /**
773
+ * Change OA template tags event
774
+ */
775
+ export interface ChangeOATemplateTagsEvent extends BaseWebhookEvent {
776
+ event_name: "change_oa_template_tags";
777
+ /** Official Account ID */
778
+ oa_id: string;
779
+ /** Tag level change information */
780
+ tag_level: TagLevelChange;
781
+ }
782
+ /**
783
+ * Change template quality event
784
+ */
785
+ export interface ChangeTemplateQualityEvent extends BaseWebhookEvent {
786
+ event_name: "change_template_quality";
787
+ /** Official Account ID */
788
+ oa_id: string;
789
+ /** Template ID */
790
+ template_id: string;
791
+ /** Template quality */
792
+ quality: string;
793
+ }
794
+ /**
795
+ * Change template quota event
796
+ */
797
+ export interface ChangeTemplateQuotaEvent extends BaseWebhookEvent {
798
+ event_name: "change_template_quota";
799
+ /** Official Account ID */
800
+ oa_id: string;
801
+ /** Template ID */
802
+ template_id: string;
803
+ /** Quota change information */
804
+ quota: QuotaChange;
805
+ }
806
+ /**
807
+ * Journey timeout event
808
+ */
809
+ export interface JourneyTimeoutEvent extends BaseWebhookEvent {
810
+ event_name: "event_journey_time_out";
811
+ /** Official Account ID */
812
+ oa_id: string;
813
+ /** Journey ID */
814
+ journey_id: string;
815
+ /** Application ID */
816
+ app_id: string;
817
+ }
818
+ /**
819
+ * Journey acknowledged event
820
+ */
821
+ export interface JourneyAcknowledgedEvent extends BaseWebhookEvent {
822
+ event_name: "event_journey_acknowledged";
823
+ /** Official Account ID */
824
+ oa_id: string;
825
+ /** Journey ID */
826
+ journey_id: string;
827
+ /** Message ID */
828
+ msg_id: string;
829
+ /** Application ID */
830
+ app_id: string;
831
+ }
832
+ /**
833
+ * ZNS user received message event
834
+ */
835
+ export interface ZNSUserReceivedMessageEvent extends BaseWebhookEvent {
836
+ event_name: "user_received_message";
837
+ /** Application ID */
838
+ app_id: string;
839
+ /** ZNS delivery message */
840
+ message: ZNSDeliveryMessage;
841
+ }
842
+ /**
843
+ * Create group event
844
+ */
845
+ export interface CreateGroupEvent extends BaseWebhookEvent {
846
+ event_name: "create_group";
847
+ /** Official Account ID */
848
+ oa_id: string;
849
+ /** Group ID */
850
+ group_id: string;
851
+ /** Application ID */
852
+ app_id: string;
853
+ }
854
+ /**
855
+ * User join group event
856
+ */
857
+ export interface UserJoinGroupEvent extends BaseWebhookEvent {
858
+ event_name: "user_join_group";
859
+ /** Official Account ID */
860
+ oa_id: string;
861
+ /** Group ID */
862
+ group_id: string;
863
+ /** Application ID */
864
+ app_id: string;
865
+ /** User list */
866
+ users: string[];
867
+ }
868
+ /**
869
+ * User request join group event
870
+ */
871
+ export interface UserRequestJoinGroupEvent extends BaseWebhookEvent {
872
+ event_name: "user_request_join_group";
873
+ /** Official Account ID */
874
+ oa_id: string;
875
+ /** Group ID */
876
+ group_id: string;
877
+ /** Application ID */
878
+ app_id: string;
879
+ /** User list */
880
+ users: string[];
881
+ }
882
+ /**
883
+ * React request join group event
884
+ */
885
+ export interface ReactRequestJoinGroupEvent extends BaseWebhookEvent {
886
+ event_name: "react_request_join_group";
887
+ /** Official Account ID */
888
+ oa_id: string;
889
+ /** Group ID */
890
+ group_id: string;
891
+ /** Application ID */
892
+ app_id: string;
893
+ /** User list */
894
+ users: string[];
895
+ }
896
+ /**
897
+ * Reject request join group event
898
+ */
899
+ export interface RejectRequestJoinGroupEvent extends BaseWebhookEvent {
900
+ event_name: "reject_request_join_group";
901
+ /** Official Account ID */
902
+ oa_id: string;
903
+ /** Group ID */
904
+ group_id: string;
905
+ /** Application ID */
906
+ app_id: string;
907
+ /** User list */
908
+ users: string[];
909
+ }
910
+ /**
911
+ * Add group admin event
912
+ */
913
+ export interface AddGroupAdminEvent extends BaseWebhookEvent {
914
+ event_name: "add_group_admin";
915
+ /** Official Account ID */
916
+ oa_id: string;
917
+ /** Group ID */
918
+ group_id: string;
919
+ /** Application ID */
920
+ app_id: string;
921
+ /** User list */
922
+ users: string[];
923
+ }
924
+ /**
925
+ * Remove group admin event
926
+ */
927
+ export interface RemoveGroupAdminEvent extends BaseWebhookEvent {
928
+ event_name: "remove_group_admin";
929
+ /** Official Account ID */
930
+ oa_id: string;
931
+ /** Group ID */
932
+ group_id: string;
933
+ /** Application ID */
934
+ app_id: string;
935
+ /** User list */
936
+ users: string[];
937
+ }
938
+ /**
939
+ * Update group info event
940
+ */
941
+ export interface UpdateGroupInfoEvent extends BaseWebhookEvent {
942
+ event_name: "update_group_info";
943
+ /** Official Account ID */
944
+ oa_id: string;
945
+ /** Group ID */
946
+ group_id: string;
947
+ /** Application ID */
948
+ app_id: string;
949
+ }
950
+ /**
951
+ * User out group event
952
+ */
953
+ export interface UserOutGroupEvent extends BaseWebhookEvent {
954
+ event_name: "user_out_group";
955
+ /** Official Account ID */
956
+ oa_id: string;
957
+ /** Group ID */
958
+ group_id: string;
959
+ /** Application ID */
960
+ app_id: string;
961
+ /** User list */
962
+ users: string[];
963
+ }
964
+ /**
965
+ * OA send group text event
966
+ */
967
+ export interface OASendGroupTextEvent extends BaseWebhookEvent {
968
+ event_name: "oa_send_group_text";
969
+ /** Official Account ID */
970
+ oa_id: string;
971
+ sender: WebhookSender;
972
+ recipient: WebhookRecipient;
973
+ message: WebhookBaseMessage;
974
+ }
975
+ /**
976
+ * OA send group image event
977
+ */
978
+ export interface OASendGroupImageEvent extends BaseWebhookEvent {
979
+ event_name: "oa_send_group_image";
980
+ /** Official Account ID */
981
+ oa_id: string;
982
+ sender: WebhookSender;
983
+ recipient: WebhookRecipient;
984
+ message: WebhookMessageWithAttachments & {
985
+ attachments: Array<MessageAttachment & {
986
+ type: "image";
987
+ payload: ImagePayload;
988
+ }>;
989
+ };
990
+ }
991
+ /**
992
+ * OA send group link event
993
+ */
994
+ export interface OASendGroupLinkEvent extends BaseWebhookEvent {
995
+ event_name: "oa_send_group_link";
996
+ /** Official Account ID */
997
+ oa_id: string;
998
+ sender: WebhookSender;
999
+ recipient: WebhookRecipient;
1000
+ message: WebhookMessageWithAttachments & {
1001
+ attachments: Array<MessageAttachment & {
1002
+ type: "link";
1003
+ payload: LinkPayload;
1004
+ }>;
1005
+ };
1006
+ }
1007
+ /**
1008
+ * OA send group audio event
1009
+ */
1010
+ export interface OASendGroupAudioEvent extends BaseWebhookEvent {
1011
+ event_name: "oa_send_group_audio";
1012
+ /** Official Account ID */
1013
+ oa_id: string;
1014
+ sender: WebhookSender;
1015
+ recipient: WebhookRecipient;
1016
+ message: WebhookMessageWithAttachments & {
1017
+ attachments: Array<MessageAttachment & {
1018
+ type: "audio";
1019
+ payload: AudioPayload;
1020
+ }>;
1021
+ };
1022
+ }
1023
+ /**
1024
+ * OA send group location event
1025
+ */
1026
+ export interface OASendGroupLocationEvent extends BaseWebhookEvent {
1027
+ event_name: "oa_send_group_location";
1028
+ /** Official Account ID */
1029
+ oa_id: string;
1030
+ sender: WebhookSender;
1031
+ recipient: WebhookRecipient;
1032
+ message: WebhookMessageWithAttachments & {
1033
+ attachments: Array<MessageAttachment & {
1034
+ type: "location";
1035
+ payload: LocationPayload;
1036
+ }>;
1037
+ };
1038
+ }
1039
+ /**
1040
+ * OA send group video event
1041
+ */
1042
+ export interface OASendGroupVideoEvent extends BaseWebhookEvent {
1043
+ event_name: "oa_send_group_video";
1044
+ /** Official Account ID */
1045
+ oa_id: string;
1046
+ sender: WebhookSender;
1047
+ recipient: WebhookRecipient;
1048
+ message: WebhookMessageWithAttachments & {
1049
+ attachments: Array<MessageAttachment & {
1050
+ type: "video";
1051
+ payload: VideoPayload;
1052
+ }>;
1053
+ };
1054
+ }
1055
+ /**
1056
+ * OA send group business card event
1057
+ */
1058
+ export interface OASendGroupBusinessCardEvent extends BaseWebhookEvent {
1059
+ event_name: "oa_send_group_business_card";
1060
+ /** Official Account ID */
1061
+ oa_id: string;
1062
+ sender: WebhookSender;
1063
+ recipient: WebhookRecipient;
1064
+ message: BusinessCardMessage;
1065
+ }
1066
+ /**
1067
+ * OA send group sticker event
1068
+ */
1069
+ export interface OASendGroupStickerEvent extends BaseWebhookEvent {
1070
+ event_name: "oa_send_group_sticker";
1071
+ /** Official Account ID */
1072
+ oa_id: string;
1073
+ sender: WebhookSender;
1074
+ recipient: WebhookRecipient;
1075
+ message: WebhookMessageWithAttachments & {
1076
+ attachments: Array<MessageAttachment & {
1077
+ type: "sticker";
1078
+ payload: StickerPayload;
1079
+ }>;
1080
+ };
1081
+ }
1082
+ /**
1083
+ * OA send group GIF event
1084
+ */
1085
+ export interface OASendGroupGifEvent extends BaseWebhookEvent {
1086
+ event_name: "oa_send_group_gif";
1087
+ /** Official Account ID */
1088
+ oa_id: string;
1089
+ sender: WebhookSender;
1090
+ recipient: WebhookRecipient;
1091
+ message: WebhookMessageWithAttachments & {
1092
+ attachments: Array<MessageAttachment & {
1093
+ type: "gif";
1094
+ payload: GifPayload;
1095
+ }>;
1096
+ };
1097
+ }
1098
+ /**
1099
+ * OA send group file event
1100
+ */
1101
+ export interface OASendGroupFileEvent extends BaseWebhookEvent {
1102
+ event_name: "oa_send_group_file";
1103
+ /** Official Account ID */
1104
+ oa_id: string;
1105
+ sender: WebhookSender;
1106
+ recipient: WebhookRecipient;
1107
+ message: WebhookMessageWithAttachments & {
1108
+ attachments: Array<MessageAttachment & {
1109
+ type: "file";
1110
+ payload: FilePayload;
1111
+ }>;
1112
+ };
1113
+ }
1114
+ /**
1115
+ * User send group text event
1116
+ */
1117
+ export interface UserSendGroupTextEvent extends BaseWebhookEvent {
1118
+ event_name: "user_send_group_text";
1119
+ /** Official Account ID */
1120
+ oa_id: string;
1121
+ sender: WebhookSender;
1122
+ recipient: WebhookRecipient;
1123
+ message: WebhookBaseMessage;
1124
+ }
1125
+ /**
1126
+ * User send group link event
1127
+ */
1128
+ export interface UserSendGroupLinkEvent extends BaseWebhookEvent {
1129
+ event_name: "user_send_group_link";
1130
+ /** Official Account ID */
1131
+ oa_id: string;
1132
+ sender: WebhookSender;
1133
+ recipient: WebhookRecipient;
1134
+ message: WebhookMessageWithAttachments & {
1135
+ attachments: Array<MessageAttachment & {
1136
+ type: "link";
1137
+ payload: LinkPayload;
1138
+ }>;
1139
+ };
1140
+ }
1141
+ /**
1142
+ * User send group audio event
1143
+ */
1144
+ export interface UserSendGroupAudioEvent extends BaseWebhookEvent {
1145
+ event_name: "user_send_group_audio";
1146
+ /** Official Account ID */
1147
+ oa_id: string;
1148
+ sender: WebhookSender;
1149
+ recipient: WebhookRecipient;
1150
+ message: WebhookMessageWithAttachments & {
1151
+ attachments: Array<MessageAttachment & {
1152
+ type: "audio";
1153
+ payload: AudioPayload;
1154
+ }>;
1155
+ };
1156
+ }
1157
+ /**
1158
+ * User send group location event
1159
+ */
1160
+ export interface UserSendGroupLocationEvent extends BaseWebhookEvent {
1161
+ event_name: "user_send_group_location";
1162
+ /** Official Account ID */
1163
+ oa_id: string;
1164
+ sender: WebhookSender;
1165
+ recipient: WebhookRecipient;
1166
+ message: WebhookMessageWithAttachments & {
1167
+ attachments: Array<MessageAttachment & {
1168
+ type: "location";
1169
+ payload: LocationPayload;
1170
+ }>;
1171
+ };
1172
+ }
1173
+ /**
1174
+ * User send group video event
1175
+ */
1176
+ export interface UserSendGroupVideoEvent extends BaseWebhookEvent {
1177
+ event_name: "user_send_group_video";
1178
+ /** Official Account ID */
1179
+ oa_id: string;
1180
+ sender: WebhookSender;
1181
+ recipient: WebhookRecipient;
1182
+ message: WebhookMessageWithAttachments & {
1183
+ attachments: Array<MessageAttachment & {
1184
+ type: "video";
1185
+ payload: VideoPayload;
1186
+ }>;
1187
+ };
1188
+ }
1189
+ /**
1190
+ * User send group business card event
1191
+ */
1192
+ export interface UserSendGroupBusinessCardEvent extends BaseWebhookEvent {
1193
+ event_name: "user_send_group_business_card";
1194
+ /** Official Account ID */
1195
+ oa_id: string;
1196
+ sender: WebhookSender;
1197
+ recipient: WebhookRecipient;
1198
+ message: BusinessCardMessage;
1199
+ }
1200
+ /**
1201
+ * User send group sticker event
1202
+ */
1203
+ export interface UserSendGroupStickerEvent extends BaseWebhookEvent {
1204
+ event_name: "user_send_group_sticker";
1205
+ /** Official Account ID */
1206
+ oa_id: string;
1207
+ sender: WebhookSender;
1208
+ recipient: WebhookRecipient;
1209
+ message: WebhookMessageWithAttachments & {
1210
+ attachments: Array<MessageAttachment & {
1211
+ type: "sticker";
1212
+ payload: StickerPayload;
1213
+ }>;
1214
+ };
1215
+ }
1216
+ /**
1217
+ * User send group GIF event
1218
+ */
1219
+ export interface UserSendGroupGifEvent extends BaseWebhookEvent {
1220
+ event_name: "user_send_group_gif";
1221
+ /** Official Account ID */
1222
+ oa_id: string;
1223
+ sender: WebhookSender;
1224
+ recipient: WebhookRecipient;
1225
+ message: WebhookMessageWithAttachments & {
1226
+ attachments: Array<MessageAttachment & {
1227
+ type: "gif";
1228
+ payload: GifPayload;
1229
+ }>;
1230
+ };
1231
+ }
1232
+ /**
1233
+ * User send group file event
1234
+ */
1235
+ export interface UserSendGroupFileEvent extends BaseWebhookEvent {
1236
+ event_name: "user_send_group_file";
1237
+ /** Official Account ID */
1238
+ oa_id: string;
1239
+ sender: WebhookSender;
1240
+ recipient: WebhookRecipient;
1241
+ message: WebhookMessageWithAttachments & {
1242
+ attachments: Array<MessageAttachment & {
1243
+ type: "file";
1244
+ payload: FilePayload;
1245
+ }>;
1246
+ };
1247
+ }
1248
+ /**
1249
+ * Widget interaction accepted event
1250
+ */
1251
+ export interface WidgetInteractionAcceptedEvent extends BaseWebhookEvent {
1252
+ event_name: "widget_interaction_accepted";
1253
+ /** Official Account ID */
1254
+ oa_id: string;
1255
+ /** Widget interaction data */
1256
+ data: WidgetInteractionData;
1257
+ }
1258
+ /**
1259
+ * Widget failed to sync user external ID event
1260
+ */
1261
+ export interface WidgetFailedToSyncUserExternalIdEvent extends BaseWebhookEvent {
1262
+ event_name: "widget_failed_to_sync_user_external_id";
1263
+ /** Official Account ID */
1264
+ oa_id: string;
1265
+ /** Widget sync failure data */
1266
+ data: WidgetSyncFailureData;
1267
+ }
1268
+ /**
1269
+ * Change template status event
1270
+ */
1271
+ export interface ChangeTemplateStatusEvent extends BaseWebhookEvent {
1272
+ event_name: "change_template_status";
1273
+ /** Official Account ID */
1274
+ oa_id: string;
1275
+ /** Template ID */
1276
+ template_id: string;
1277
+ /** Status change information */
1278
+ status: TemplateStatusChange;
1279
+ /** Reason for status change */
1280
+ reason: string;
1281
+ /** Application ID */
1282
+ app_id: string;
1283
+ }
1284
+ /**
1285
+ * Permission revoked event
1286
+ */
1287
+ export interface PermissionRevokedEvent extends BaseWebhookEvent {
1288
+ event_name: "permission_revoked";
1289
+ /** Official Account ID */
1290
+ oa_id: string;
1291
+ /** Permission revoked data */
1292
+ data: PermissionRevokedData;
1293
+ /** Application ID */
1294
+ app_id: string;
1295
+ }
1296
+ /**
1297
+ * Extension purchased event
1298
+ */
1299
+ export interface ExtensionPurchasedEvent extends BaseWebhookEvent {
1300
+ event_name: "extension_purchased";
1301
+ /** Extension ID */
1302
+ extension_id: string;
1303
+ /** Official Account ID */
1304
+ oa_id: string;
1305
+ /** Extension subscription info */
1306
+ extension_sub_info: ExtensionSubscriptionInfo;
1307
+ }
1308
+ /**
1309
+ * Update user info event
1310
+ */
1311
+ export interface UpdateUserInfoEvent extends BaseWebhookEvent {
1312
+ event_name: "update_user_info";
1313
+ /** Official Account ID */
1314
+ oa_id: string;
1315
+ /** User ID (for OA API) */
1316
+ user_id: string;
1317
+ /** Update user info data */
1318
+ data: UpdateUserInfoData;
1319
+ /** Application ID */
1320
+ app_id: string;
1321
+ }
1322
+ /**
1323
+ * User sends location event
1324
+ */
1325
+ export interface UserSendLocationEvent extends BaseWebhookEvent {
1326
+ event_name: "user_send_location";
1327
+ sender: WebhookSender;
1328
+ recipient: WebhookRecipient;
1329
+ message: WebhookMessageWithAttachments & {
1330
+ attachments: Array<MessageAttachment & {
1331
+ type: "location";
1332
+ payload: LocationPayload;
1333
+ }>;
1334
+ };
1335
+ }
1336
+ /**
1337
+ * User sends image event
1338
+ */
1339
+ export interface UserSendImageEvent extends BaseWebhookEvent {
1340
+ event_name: "user_send_image";
1341
+ sender: WebhookSender;
1342
+ recipient: WebhookRecipient;
1343
+ message: WebhookMessageWithAttachments & {
1344
+ attachments: Array<MessageAttachment & {
1345
+ type: "image";
1346
+ payload: ImagePayload;
1347
+ }>;
1348
+ };
1349
+ }
1350
+ /**
1351
+ * User sends link event
1352
+ */
1353
+ export interface UserSendLinkEvent extends BaseWebhookEvent {
1354
+ event_name: "user_send_link";
1355
+ sender: WebhookSender;
1356
+ recipient: WebhookRecipient;
1357
+ message: WebhookMessageWithAttachments & {
1358
+ attachments: Array<MessageAttachment & {
1359
+ type: "link";
1360
+ payload: LinkPayload;
1361
+ }>;
1362
+ };
1363
+ }
1364
+ /**
1365
+ * User sends text event
1366
+ */
1367
+ export interface UserSendTextEvent extends BaseWebhookEvent {
1368
+ event_name: "user_send_text";
1369
+ sender: WebhookSender;
1370
+ recipient: WebhookRecipient;
1371
+ message: WebhookBaseMessage;
1372
+ }
1373
+ /**
1374
+ * User sends sticker event
1375
+ */
1376
+ export interface UserSendStickerEvent extends BaseWebhookEvent {
1377
+ event_name: "user_send_sticker";
1378
+ sender: WebhookSender;
1379
+ recipient: WebhookRecipient;
1380
+ message: WebhookMessageWithAttachments & {
1381
+ attachments: Array<MessageAttachment & {
1382
+ type: "sticker";
1383
+ payload: StickerPayload;
1384
+ }>;
1385
+ };
1386
+ }
1387
+ /**
1388
+ * User sends GIF event
1389
+ */
1390
+ export interface UserSendGifEvent extends BaseWebhookEvent {
1391
+ event_name: "user_send_gif";
1392
+ sender: WebhookSender;
1393
+ recipient: WebhookRecipient;
1394
+ message: WebhookMessageWithAttachments & {
1395
+ attachments: Array<MessageAttachment & {
1396
+ type: "gif";
1397
+ payload: GifPayload;
1398
+ }>;
1399
+ };
1400
+ }
1401
+ /**
1402
+ * User sends audio event
1403
+ */
1404
+ export interface UserSendAudioEvent extends BaseWebhookEvent {
1405
+ event_name: "user_send_audio";
1406
+ sender: WebhookSender;
1407
+ recipient: WebhookRecipient;
1408
+ message: WebhookMessageWithAttachments & {
1409
+ attachments: Array<MessageAttachment & {
1410
+ type: "audio";
1411
+ payload: AudioPayload;
1412
+ }>;
1413
+ };
1414
+ }
1415
+ /**
1416
+ * User received message event
1417
+ */
1418
+ export interface UserReceivedMessageEvent extends BaseWebhookEvent {
1419
+ event_name: "user_received_message";
1420
+ sender: WebhookSender;
1421
+ recipient: WebhookRecipient;
1422
+ message: WebhookBaseMessage;
1423
+ }
1424
+ /**
1425
+ * User seen message event
1426
+ */
1427
+ export interface UserSeenMessageEvent extends BaseWebhookEvent {
1428
+ event_name: "user_seen_message";
1429
+ sender: WebhookSender;
1430
+ recipient: WebhookRecipient;
1431
+ message: SeenMessage;
1432
+ }
1433
+ /**
1434
+ * User sends video event
1435
+ */
1436
+ export interface UserSendVideoEvent extends BaseWebhookEvent {
1437
+ event_name: "user_send_video";
1438
+ sender: WebhookSender;
1439
+ recipient: WebhookRecipient;
1440
+ message: WebhookMessageWithAttachments & {
1441
+ attachments: Array<MessageAttachment & {
1442
+ type: "video";
1443
+ payload: VideoPayload;
1444
+ }>;
1445
+ };
1446
+ }
1447
+ /**
1448
+ * User sends file event
1449
+ */
1450
+ export interface UserSendFileEvent extends BaseWebhookEvent {
1451
+ event_name: "user_send_file";
1452
+ sender: WebhookSender;
1453
+ recipient: WebhookRecipient;
1454
+ message: WebhookMessageWithAttachments & {
1455
+ attachments: Array<MessageAttachment & {
1456
+ type: "file";
1457
+ payload: FilePayload;
1458
+ }>;
1459
+ };
1460
+ }
1461
+ /**
1462
+ * User submit info event
1463
+ */
1464
+ export interface UserSubmitInfoEvent extends BaseWebhookEvent {
1465
+ event_name: "user_submit_info";
1466
+ sender: {
1467
+ id: string;
1468
+ };
1469
+ recipient: {
1470
+ id: string;
1471
+ };
1472
+ info: {
1473
+ name?: string;
1474
+ phone?: string;
1475
+ email?: string;
1476
+ address?: string;
1477
+ city?: string;
1478
+ district?: string;
1479
+ ward?: string;
1480
+ date_of_birth?: string;
1481
+ };
1482
+ }
1483
+ /**
1484
+ * User click button event
1485
+ */
1486
+ export interface UserClickButtonEvent extends BaseWebhookEvent {
1487
+ event_name: "user_click_chatnow" | "user_click_button";
1488
+ sender: {
1489
+ id: string;
1490
+ };
1491
+ recipient: {
1492
+ id: string;
1493
+ };
1494
+ button?: {
1495
+ title: string;
1496
+ payload: string;
1497
+ };
1498
+ }
1499
+ /**
1500
+ * OA send message event
1501
+ */
1502
+ export interface OASendMessageEvent extends BaseWebhookEvent {
1503
+ event_name: "oa_send_text" | "oa_send_image" | "oa_send_file" | "oa_send_sticker" | "oa_send_gif" | "oa_send_audio" | "oa_send_video" | "oa_send_list";
1504
+ sender: {
1505
+ id: string;
1506
+ };
1507
+ recipient: {
1508
+ id: string;
1509
+ };
1510
+ message: {
1511
+ text?: string;
1512
+ msg_id: string;
1513
+ attachments?: Array<{
1514
+ type: string;
1515
+ payload: {
1516
+ url?: string;
1517
+ title?: string;
1518
+ description?: string;
1519
+ };
1520
+ }>;
1521
+ };
1522
+ }
1523
+ /**
1524
+ * Anonymous user send message event
1525
+ */
1526
+ export interface AnonymousUserSendMessageEvent extends BaseWebhookEvent {
1527
+ event_name: "anonymous_send_text" | "anonymous_send_image" | "anonymous_send_sticker" | "anonymous_send_file";
1528
+ sender: {
1529
+ id: string;
1530
+ };
1531
+ recipient: {
1532
+ id: string;
1533
+ };
1534
+ message: {
1535
+ text?: string;
1536
+ msg_id: string;
1537
+ attachments?: Array<{
1538
+ type: string;
1539
+ payload: {
1540
+ url?: string;
1541
+ };
1542
+ }>;
1543
+ };
1544
+ }
1545
+ /**
1546
+ * ZNS message status event
1547
+ */
1548
+ export interface ZNSMessageStatusEvent extends BaseWebhookEvent {
1549
+ event_name: "zns_message_status";
1550
+ message_id: string;
1551
+ phone: string;
1552
+ status: "sent" | "delivered" | "read" | "failed";
1553
+ error_code?: number;
1554
+ error_message?: string;
1555
+ timestamp: string;
1556
+ }
1557
+ /**
1558
+ * Template status event
1559
+ */
1560
+ export interface TemplateStatusEvent extends BaseWebhookEvent {
1561
+ event_name: "template_status_update";
1562
+ template_id: string;
1563
+ template_name: string;
1564
+ status: "ENABLE" | "PENDING_REVIEW" | "REJECT" | "DISABLE" | "DELETE";
1565
+ reason?: string;
1566
+ quality?: "HIGH" | "MEDIUM" | "LOW" | "UNDEFINED";
1567
+ }
1568
+ /**
1569
+ * Group message events
1570
+ */
1571
+ export interface GroupUserJoinEvent extends BaseWebhookEvent {
1572
+ event_name: "group_user_join";
1573
+ group_id: string;
1574
+ user: {
1575
+ id: string;
1576
+ name: string;
1577
+ };
1578
+ }
1579
+ export interface GroupUserLeaveEvent extends BaseWebhookEvent {
1580
+ event_name: "group_user_leave";
1581
+ group_id: string;
1582
+ user: {
1583
+ id: string;
1584
+ name: string;
1585
+ };
1586
+ }
1587
+ export interface GroupSendMessageEvent extends BaseWebhookEvent {
1588
+ event_name: "group_send_text" | "group_send_image" | "group_send_sticker" | "group_send_file";
1589
+ group_id: string;
1590
+ sender: {
1591
+ id: string;
1592
+ name: string;
1593
+ };
1594
+ message: {
1595
+ text?: string;
1596
+ msg_id: string;
1597
+ attachments?: Array<{
1598
+ type: string;
1599
+ payload: {
1600
+ url?: string;
1601
+ };
1602
+ }>;
1603
+ };
1604
+ }
1605
+ /**
1606
+ * All user message-related webhook events
1607
+ */
1608
+ export type UserMessageWebhookEvent = UserSendLocationEvent | UserSendImageEvent | UserSendLinkEvent | UserSendTextEvent | UserSendStickerEvent | UserSendGifEvent | UserSendAudioEvent | UserSendVideoEvent | UserSendFileEvent | UserReceivedMessageEvent | UserSeenMessageEvent;
1609
+ /**
1610
+ * All OA message-related webhook events
1611
+ */
1612
+ export type OAMessageWebhookEvent = OASendTextEvent | OASendImageEvent | OASendGifEvent | OASendListEvent | OASendFileEvent | OASendStickerEvent | OASendAnonymousTextEvent | OASendAnonymousImageEvent | OASendAnonymousFileEvent | OASendAnonymousStickerEvent | OASendTemplateEvent;
1613
+ /**
1614
+ * All message-related webhook events
1615
+ */
1616
+ export type MessageWebhookEvent = UserMessageWebhookEvent | OAMessageWebhookEvent;
1617
+ /**
1618
+ * All user action webhook events
1619
+ */
1620
+ export type UserActionWebhookEvent = UserFollowEvent | UserUnfollowEvent | UserSubmitInfoEvent | UserClickChatNowEvent | UserReactedMessageEvent | UserReplyConsentEvent | UserSendBusinessCardEvent | UserFeedbackEvent;
1621
+ /**
1622
+ * All shop/business webhook events
1623
+ */
1624
+ export type ShopWebhookEvent = ShopHasOrderEvent;
1625
+ /**
1626
+ * All call-related webhook events
1627
+ */
1628
+ export type CallWebhookEvent = OACallUserEvent | UserCallOAEvent;
1629
+ /**
1630
+ * All ZNS-related webhook events
1631
+ */
1632
+ export type ZNSWebhookEvent = ChangeOADailyQuotaEvent | ChangeOATemplateTagsEvent | ChangeTemplateQualityEvent | ChangeTemplateQuotaEvent | JourneyTimeoutEvent | JourneyAcknowledgedEvent | ZNSUserReceivedMessageEvent | ChangeTemplateStatusEvent;
1633
+ /**
1634
+ * All widget-related webhook events
1635
+ */
1636
+ export type WidgetWebhookEvent = WidgetInteractionAcceptedEvent | WidgetFailedToSyncUserExternalIdEvent;
1637
+ /**
1638
+ * All group-related webhook events
1639
+ */
1640
+ export type GroupWebhookEvent = CreateGroupEvent | UserJoinGroupEvent | UserRequestJoinGroupEvent | ReactRequestJoinGroupEvent | RejectRequestJoinGroupEvent | AddGroupAdminEvent | RemoveGroupAdminEvent | UpdateGroupInfoEvent | UserOutGroupEvent | OASendGroupTextEvent | OASendGroupImageEvent | OASendGroupLinkEvent | OASendGroupAudioEvent | OASendGroupLocationEvent | OASendGroupVideoEvent | OASendGroupBusinessCardEvent | OASendGroupStickerEvent | OASendGroupGifEvent | OASendGroupFileEvent | UserSendGroupTextEvent | UserSendGroupLinkEvent | UserSendGroupAudioEvent | UserSendGroupLocationEvent | UserSendGroupVideoEvent | UserSendGroupBusinessCardEvent | UserSendGroupStickerEvent | UserSendGroupGifEvent | UserSendGroupFileEvent;
1641
+ /**
1642
+ * All system/admin webhook events
1643
+ */
1644
+ export type SystemWebhookEvent = AddUserToTagEvent | OAReactedMessageEvent | OASendConsentEvent | PermissionRevokedEvent | ExtensionPurchasedEvent | UpdateUserInfoEvent;
1645
+ /**
1646
+ * All anonymous user webhook events
1647
+ */
1648
+ export type AnonymousWebhookEvent = AnonymousSendTextEvent | AnonymousSendImageEvent | AnonymousSendFileEvent | AnonymousSendStickerEvent;
1649
+ /**
1650
+ * Legacy webhook events (keeping for backward compatibility)
1651
+ */
1652
+ export type LegacyWebhookEvent = UserSubmitInfoEvent | UserClickButtonEvent | OASendMessageEvent | AnonymousUserSendMessageEvent | ZNSMessageStatusEvent | TemplateStatusEvent | GroupUserJoinEvent | GroupUserLeaveEvent | GroupSendMessageEvent;
1653
+ /**
1654
+ * All webhook events union type
1655
+ */
1656
+ export type WebhookEvent = MessageWebhookEvent | UserActionWebhookEvent | ShopWebhookEvent | SystemWebhookEvent | AnonymousWebhookEvent | CallWebhookEvent | ZNSWebhookEvent | GroupWebhookEvent | WidgetWebhookEvent | LegacyWebhookEvent;
1657
+ /**
1658
+ * Webhook payload wrapper
1659
+ */
1660
+ export interface WebhookPayload {
1661
+ /**
1662
+ * Event data
1663
+ */
1664
+ data: WebhookEvent;
1665
+ /**
1666
+ * Event signature for verification
1667
+ */
1668
+ signature?: string;
1669
+ }
1670
+ /**
1671
+ * Webhook verification result
1672
+ */
1673
+ export interface WebhookVerification {
1674
+ /**
1675
+ * Whether the webhook is valid
1676
+ */
1677
+ valid: boolean;
1678
+ /**
1679
+ * Error message if invalid
1680
+ */
1681
+ error?: string;
1682
+ }
1683
+ /**
1684
+ * Webhook handler function type
1685
+ */
1686
+ export type WebhookHandler<T extends WebhookEvent = WebhookEvent> = (event: T) => Promise<void> | void;
1687
+ /**
1688
+ * Webhook event handlers map
1689
+ */
1690
+ export interface WebhookHandlers {
1691
+ user_send_text?: WebhookHandler<UserSendTextEvent>;
1692
+ user_send_image?: WebhookHandler<UserSendImageEvent>;
1693
+ user_send_location?: WebhookHandler<UserSendLocationEvent>;
1694
+ user_send_link?: WebhookHandler<UserSendLinkEvent>;
1695
+ user_send_sticker?: WebhookHandler<UserSendStickerEvent>;
1696
+ user_send_gif?: WebhookHandler<UserSendGifEvent>;
1697
+ user_send_audio?: WebhookHandler<UserSendAudioEvent>;
1698
+ user_send_video?: WebhookHandler<UserSendVideoEvent>;
1699
+ user_send_file?: WebhookHandler<UserSendFileEvent>;
1700
+ user_received_message?: WebhookHandler<UserReceivedMessageEvent>;
1701
+ user_seen_message?: WebhookHandler<UserSeenMessageEvent>;
1702
+ follow?: WebhookHandler<UserFollowEvent>;
1703
+ unfollow?: WebhookHandler<UserUnfollowEvent>;
1704
+ user_submit_info?: WebhookHandler<UserSubmitInfoEvent>;
1705
+ oa_send_text?: WebhookHandler<OASendTextEvent>;
1706
+ oa_send_image?: WebhookHandler<OASendImageEvent>;
1707
+ oa_send_gif?: WebhookHandler<OASendGifEvent>;
1708
+ oa_send_list?: WebhookHandler<OASendListEvent>;
1709
+ oa_send_file?: WebhookHandler<OASendFileEvent>;
1710
+ oa_send_sticker?: WebhookHandler<OASendStickerEvent>;
1711
+ user_click_chatnow?: WebhookHandler<UserClickChatNowEvent>;
1712
+ user_reacted_message?: WebhookHandler<UserReactedMessageEvent>;
1713
+ user_reply_consent?: WebhookHandler<UserReplyConsentEvent>;
1714
+ oa_reacted_message?: WebhookHandler<OAReactedMessageEvent>;
1715
+ oa_send_consent?: WebhookHandler<OASendConsentEvent>;
1716
+ anonymous_send_text?: WebhookHandler<AnonymousSendTextEvent>;
1717
+ anonymous_send_image?: WebhookHandler<AnonymousSendImageEvent>;
1718
+ anonymous_send_file?: WebhookHandler<AnonymousSendFileEvent>;
1719
+ anonymous_send_sticker?: WebhookHandler<AnonymousSendStickerEvent>;
1720
+ oa_send_anonymous_text?: WebhookHandler<OASendAnonymousTextEvent>;
1721
+ oa_send_anonymous_image?: WebhookHandler<OASendAnonymousImageEvent>;
1722
+ oa_send_anonymous_file?: WebhookHandler<OASendAnonymousFileEvent>;
1723
+ oa_send_anonymous_sticker?: WebhookHandler<OASendAnonymousStickerEvent>;
1724
+ oa_call_user?: WebhookHandler<OACallUserEvent>;
1725
+ user_call_oa?: WebhookHandler<UserCallOAEvent>;
1726
+ oa_send_template?: WebhookHandler<OASendTemplateEvent>;
1727
+ user_send_business_card?: WebhookHandler<UserSendBusinessCardEvent>;
1728
+ user_feedback?: WebhookHandler<UserFeedbackEvent>;
1729
+ change_oa_daily_quota?: WebhookHandler<ChangeOADailyQuotaEvent>;
1730
+ change_oa_template_tags?: WebhookHandler<ChangeOATemplateTagsEvent>;
1731
+ change_template_quality?: WebhookHandler<ChangeTemplateQualityEvent>;
1732
+ change_template_quota?: WebhookHandler<ChangeTemplateQuotaEvent>;
1733
+ change_template_status?: WebhookHandler<ChangeTemplateStatusEvent>;
1734
+ event_journey_time_out?: WebhookHandler<JourneyTimeoutEvent>;
1735
+ event_journey_acknowledged?: WebhookHandler<JourneyAcknowledgedEvent>;
1736
+ zns_user_received_message?: WebhookHandler<ZNSUserReceivedMessageEvent>;
1737
+ create_group?: WebhookHandler<CreateGroupEvent>;
1738
+ user_join_group?: WebhookHandler<UserJoinGroupEvent>;
1739
+ user_request_join_group?: WebhookHandler<UserRequestJoinGroupEvent>;
1740
+ react_request_join_group?: WebhookHandler<ReactRequestJoinGroupEvent>;
1741
+ reject_request_join_group?: WebhookHandler<RejectRequestJoinGroupEvent>;
1742
+ add_group_admin?: WebhookHandler<AddGroupAdminEvent>;
1743
+ remove_group_admin?: WebhookHandler<RemoveGroupAdminEvent>;
1744
+ update_group_info?: WebhookHandler<UpdateGroupInfoEvent>;
1745
+ user_out_group?: WebhookHandler<UserOutGroupEvent>;
1746
+ oa_send_group_text?: WebhookHandler<OASendGroupTextEvent>;
1747
+ oa_send_group_image?: WebhookHandler<OASendGroupImageEvent>;
1748
+ oa_send_group_link?: WebhookHandler<OASendGroupLinkEvent>;
1749
+ oa_send_group_audio?: WebhookHandler<OASendGroupAudioEvent>;
1750
+ oa_send_group_location?: WebhookHandler<OASendGroupLocationEvent>;
1751
+ oa_send_group_video?: WebhookHandler<OASendGroupVideoEvent>;
1752
+ oa_send_group_business_card?: WebhookHandler<OASendGroupBusinessCardEvent>;
1753
+ oa_send_group_sticker?: WebhookHandler<OASendGroupStickerEvent>;
1754
+ oa_send_group_gif?: WebhookHandler<OASendGroupGifEvent>;
1755
+ oa_send_group_file?: WebhookHandler<OASendGroupFileEvent>;
1756
+ user_send_group_text?: WebhookHandler<UserSendGroupTextEvent>;
1757
+ user_send_group_link?: WebhookHandler<UserSendGroupLinkEvent>;
1758
+ user_send_group_audio?: WebhookHandler<UserSendGroupAudioEvent>;
1759
+ user_send_group_location?: WebhookHandler<UserSendGroupLocationEvent>;
1760
+ user_send_group_video?: WebhookHandler<UserSendGroupVideoEvent>;
1761
+ user_send_group_business_card?: WebhookHandler<UserSendGroupBusinessCardEvent>;
1762
+ user_send_group_sticker?: WebhookHandler<UserSendGroupStickerEvent>;
1763
+ user_send_group_gif?: WebhookHandler<UserSendGroupGifEvent>;
1764
+ user_send_group_file?: WebhookHandler<UserSendGroupFileEvent>;
1765
+ widget_interaction_accepted?: WebhookHandler<WidgetInteractionAcceptedEvent>;
1766
+ widget_failed_to_sync_user_external_id?: WebhookHandler<WidgetFailedToSyncUserExternalIdEvent>;
1767
+ permission_revoked?: WebhookHandler<PermissionRevokedEvent>;
1768
+ extension_purchased?: WebhookHandler<ExtensionPurchasedEvent>;
1769
+ update_user_info?: WebhookHandler<UpdateUserInfoEvent>;
1770
+ shop_has_order?: WebhookHandler<ShopHasOrderEvent>;
1771
+ add_user_to_tag?: WebhookHandler<AddUserToTagEvent>;
1772
+ user_click_button?: WebhookHandler<UserClickButtonEvent>;
1773
+ oa_send_audio?: WebhookHandler<OASendMessageEvent>;
1774
+ oa_send_video?: WebhookHandler<OASendMessageEvent>;
1775
+ zns_message_status?: WebhookHandler<ZNSMessageStatusEvent>;
1776
+ template_status_update?: WebhookHandler<TemplateStatusEvent>;
1777
+ group_user_join?: WebhookHandler<GroupUserJoinEvent>;
1778
+ group_user_leave?: WebhookHandler<GroupUserLeaveEvent>;
1779
+ group_send_text?: WebhookHandler<GroupSendMessageEvent>;
1780
+ group_send_image?: WebhookHandler<GroupSendMessageEvent>;
1781
+ group_send_sticker?: WebhookHandler<GroupSendMessageEvent>;
1782
+ group_send_file?: WebhookHandler<GroupSendMessageEvent>;
1783
+ "*"?: WebhookHandler<WebhookEvent>;
1784
+ }
1785
+ /**
1786
+ * Webhook event names enum
1787
+ */
1788
+ export declare enum WebhookEventName {
1789
+ USER_SEND_LOCATION = "user_send_location",
1790
+ USER_SEND_IMAGE = "user_send_image",
1791
+ USER_SEND_LINK = "user_send_link",
1792
+ USER_SEND_TEXT = "user_send_text",
1793
+ USER_SEND_STICKER = "user_send_sticker",
1794
+ USER_SEND_GIF = "user_send_gif",
1795
+ USER_SEND_AUDIO = "user_send_audio",
1796
+ USER_SEND_VIDEO = "user_send_video",
1797
+ USER_SEND_FILE = "user_send_file",
1798
+ USER_RECEIVED_MESSAGE = "user_received_message",
1799
+ USER_SEEN_MESSAGE = "user_seen_message",
1800
+ FOLLOW = "follow",
1801
+ UNFOLLOW = "unfollow",
1802
+ USER_SUBMIT_INFO = "user_submit_info",
1803
+ OA_SEND_TEXT = "oa_send_text",
1804
+ OA_SEND_IMAGE = "oa_send_image",
1805
+ OA_SEND_GIF = "oa_send_gif",
1806
+ OA_SEND_LIST = "oa_send_list",
1807
+ OA_SEND_FILE = "oa_send_file",
1808
+ OA_SEND_STICKER = "oa_send_sticker",
1809
+ USER_CLICK_CHATNOW = "user_click_chatnow",
1810
+ USER_REACTED_MESSAGE = "user_reacted_message",
1811
+ USER_REPLY_CONSENT = "user_reply_consent",
1812
+ OA_REACTED_MESSAGE = "oa_reacted_message",
1813
+ OA_SEND_CONSENT = "oa_send_consent",
1814
+ ANONYMOUS_SEND_TEXT = "anonymous_send_text",
1815
+ ANONYMOUS_SEND_IMAGE = "anonymous_send_image",
1816
+ ANONYMOUS_SEND_FILE = "anonymous_send_file",
1817
+ ANONYMOUS_SEND_STICKER = "anonymous_send_sticker",
1818
+ OA_SEND_ANONYMOUS_TEXT = "oa_send_anonymous_text",
1819
+ OA_SEND_ANONYMOUS_IMAGE = "oa_send_anonymous_image",
1820
+ OA_SEND_ANONYMOUS_FILE = "oa_send_anonymous_file",
1821
+ OA_SEND_ANONYMOUS_STICKER = "oa_send_anonymous_sticker",
1822
+ OA_CALL_USER = "oa_call_user",
1823
+ USER_CALL_OA = "user_call_oa",
1824
+ OA_SEND_TEMPLATE = "oa_send_template",
1825
+ USER_SEND_BUSINESS_CARD = "user_send_business_card",
1826
+ USER_FEEDBACK = "user_feedback",
1827
+ CHANGE_OA_DAILY_QUOTA = "change_oa_daily_quota",
1828
+ CHANGE_OA_TEMPLATE_TAGS = "change_oa_template_tags",
1829
+ CHANGE_TEMPLATE_QUALITY = "change_template_quality",
1830
+ CHANGE_TEMPLATE_QUOTA = "change_template_quota",
1831
+ CHANGE_TEMPLATE_STATUS = "change_template_status",
1832
+ EVENT_JOURNEY_TIME_OUT = "event_journey_time_out",
1833
+ EVENT_JOURNEY_ACKNOWLEDGED = "event_journey_acknowledged",
1834
+ ZNS_USER_RECEIVED_MESSAGE = "user_received_message",
1835
+ CREATE_GROUP = "create_group",
1836
+ USER_JOIN_GROUP = "user_join_group",
1837
+ USER_REQUEST_JOIN_GROUP = "user_request_join_group",
1838
+ REACT_REQUEST_JOIN_GROUP = "react_request_join_group",
1839
+ REJECT_REQUEST_JOIN_GROUP = "reject_request_join_group",
1840
+ ADD_GROUP_ADMIN = "add_group_admin",
1841
+ REMOVE_GROUP_ADMIN = "remove_group_admin",
1842
+ UPDATE_GROUP_INFO = "update_group_info",
1843
+ USER_OUT_GROUP = "user_out_group",
1844
+ OA_SEND_GROUP_TEXT = "oa_send_group_text",
1845
+ OA_SEND_GROUP_IMAGE = "oa_send_group_image",
1846
+ OA_SEND_GROUP_LINK = "oa_send_group_link",
1847
+ OA_SEND_GROUP_AUDIO = "oa_send_group_audio",
1848
+ OA_SEND_GROUP_LOCATION = "oa_send_group_location",
1849
+ OA_SEND_GROUP_VIDEO = "oa_send_group_video",
1850
+ OA_SEND_GROUP_BUSINESS_CARD = "oa_send_group_business_card",
1851
+ OA_SEND_GROUP_STICKER = "oa_send_group_sticker",
1852
+ OA_SEND_GROUP_GIF = "oa_send_group_gif",
1853
+ OA_SEND_GROUP_FILE = "oa_send_group_file",
1854
+ USER_SEND_GROUP_TEXT = "user_send_group_text",
1855
+ USER_SEND_GROUP_LINK = "user_send_group_link",
1856
+ USER_SEND_GROUP_AUDIO = "user_send_group_audio",
1857
+ USER_SEND_GROUP_LOCATION = "user_send_group_location",
1858
+ USER_SEND_GROUP_VIDEO = "user_send_group_video",
1859
+ USER_SEND_GROUP_BUSINESS_CARD = "user_send_group_business_card",
1860
+ USER_SEND_GROUP_STICKER = "user_send_group_sticker",
1861
+ USER_SEND_GROUP_GIF = "user_send_group_gif",
1862
+ USER_SEND_GROUP_FILE = "user_send_group_file",
1863
+ WIDGET_INTERACTION_ACCEPTED = "widget_interaction_accepted",
1864
+ WIDGET_FAILED_TO_SYNC_USER_EXTERNAL_ID = "widget_failed_to_sync_user_external_id",
1865
+ PERMISSION_REVOKED = "permission_revoked",
1866
+ EXTENSION_PURCHASED = "extension_purchased",
1867
+ UPDATE_USER_INFO = "update_user_info",
1868
+ SHOP_HAS_ORDER = "shop_has_order",
1869
+ ADD_USER_TO_TAG = "add_user_to_tag"
1870
+ }
1871
+ /**
1872
+ * Attachment types enum
1873
+ */
1874
+ export declare enum AttachmentType {
1875
+ LOCATION = "location",
1876
+ IMAGE = "image",
1877
+ LINK = "link",
1878
+ STICKER = "sticker",
1879
+ GIF = "gif",
1880
+ AUDIO = "audio",
1881
+ VIDEO = "video",
1882
+ FILE = "file"
1883
+ }
1884
+ /**
1885
+ * Type guard to check if event is a message event
1886
+ */
1887
+ export declare function isMessageEvent(event: WebhookEvent): event is MessageWebhookEvent;
1888
+ /**
1889
+ * Type guard to check if event is a follow/unfollow event
1890
+ */
1891
+ export declare function isFollowEvent(event: WebhookEvent): event is UserFollowEvent | UserUnfollowEvent;
1892
+ /**
1893
+ * Type guard to check if event is a user action event
1894
+ */
1895
+ export declare function isUserActionEvent(event: WebhookEvent): event is UserActionWebhookEvent;
1896
+ /**
1897
+ * Type guard to check if event is a shop event
1898
+ */
1899
+ export declare function isShopEvent(event: WebhookEvent): event is ShopWebhookEvent;
1900
+ /**
1901
+ * Type guard to check if event is an OA message event
1902
+ */
1903
+ export declare function isOAMessageEvent(event: WebhookEvent): event is OAMessageWebhookEvent;
1904
+ /**
1905
+ * Type guard to check if event is an anonymous user event
1906
+ */
1907
+ export declare function isAnonymousEvent(event: WebhookEvent): event is AnonymousWebhookEvent;
1908
+ /**
1909
+ * Type guard to check if event is a call event
1910
+ */
1911
+ export declare function isCallEvent(event: WebhookEvent): event is CallWebhookEvent;
1912
+ /**
1913
+ * Type guard to check if event is a template event
1914
+ */
1915
+ export declare function isTemplateEvent(event: WebhookEvent): event is OASendTemplateEvent;
1916
+ /**
1917
+ * Type guard to check if event is a business card event
1918
+ */
1919
+ export declare function isBusinessCardEvent(event: WebhookEvent): event is UserSendBusinessCardEvent;
1920
+ /**
1921
+ * Type guard to check if event is a feedback event
1922
+ */
1923
+ export declare function isFeedbackEvent(event: WebhookEvent): event is UserFeedbackEvent;
1924
+ /**
1925
+ * Type guard to check if event is a ZNS event
1926
+ */
1927
+ export declare function isZNSEvent(event: WebhookEvent): event is ZNSWebhookEvent;
1928
+ /**
1929
+ * Type guard to check if event is a group event
1930
+ */
1931
+ export declare function isGroupEvent(event: WebhookEvent): event is GroupWebhookEvent;
1932
+ /**
1933
+ * Type guard to check if event is a journey event
1934
+ */
1935
+ export declare function isJourneyEvent(event: WebhookEvent): event is JourneyTimeoutEvent | JourneyAcknowledgedEvent;
1936
+ /**
1937
+ * Type guard to check if event is a quota/template change event
1938
+ */
1939
+ export declare function isQuotaTemplateEvent(event: WebhookEvent): event is ChangeOADailyQuotaEvent | ChangeOATemplateTagsEvent | ChangeTemplateQualityEvent | ChangeTemplateQuotaEvent | ChangeTemplateStatusEvent;
1940
+ /**
1941
+ * Type guard to check if event is a widget event
1942
+ */
1943
+ export declare function isWidgetEvent(event: WebhookEvent): event is WidgetWebhookEvent;
1944
+ /**
1945
+ * Type guard to check if event is a system event
1946
+ */
1947
+ export declare function isSystemEvent(event: WebhookEvent): event is SystemWebhookEvent;
1948
+ /**
1949
+ * Type guard to check if event is a permission event
1950
+ */
1951
+ export declare function isPermissionEvent(event: WebhookEvent): event is PermissionRevokedEvent;
1952
+ /**
1953
+ * Type guard to check if event is an extension event
1954
+ */
1955
+ export declare function isExtensionEvent(event: WebhookEvent): event is ExtensionPurchasedEvent;
1956
+ /**
1957
+ * Type guard to check if event is an update user info event
1958
+ */
1959
+ export declare function isUpdateUserInfoEvent(event: WebhookEvent): event is UpdateUserInfoEvent;
1960
+ /**
1961
+ * Type guard to check if event is a reaction event
1962
+ */
1963
+ export declare function isReactionEvent(event: WebhookEvent): event is UserReactedMessageEvent | OAReactedMessageEvent;
1964
+ /**
1965
+ * Type guard to check if event is a consent event
1966
+ */
1967
+ export declare function isConsentEvent(event: WebhookEvent): event is OASendConsentEvent | UserReplyConsentEvent;
1968
+ /**
1969
+ * Type guard to check if message has attachments
1970
+ */
1971
+ export declare function hasAttachments(message: WebhookBaseMessage): message is WebhookMessageWithAttachments;
1972
+ //# sourceMappingURL=webhook.d.ts.map