UNPKG

redai-automation-web-sdk

Version:

TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, advanced sticker search, and bulk operations. 100% compatible with automation-web backend. v1.8.1: Updated GroupInfo interface to match backend controller with complete gro

219 lines 9.9 kB
/** * Webhook Job Types * 100% khớp với automation-web/src/shared/types/zalo-webhook-events.types.ts * Cấu trúc job khi đưa vào queue */ /** * Thread Type enum */ export declare enum ZaloThreadType { USER = "user", GROUP = "group" } /** * Connection Status enum */ export declare enum ZaloConnectionStatus { CONNECTED = "connected", DISCONNECTED = "disconnected", RECONNECTING = "reconnecting", LOGGED_OUT = "logged_out" } /** * Event Type enum - Chuẩn hóa tất cả event types */ export declare enum ZaloWebhookEventType { TEXT_MESSAGE_SENT_TO_USER = "text-message-sent-to-user", TEXT_MESSAGE_SENT_TO_GROUP = "text-message-sent-to-group", TEXT_MESSAGE_RECEIVED_FROM_USER = "text-message-received-from-user", TEXT_MESSAGE_RECEIVED_FROM_GROUP = "text-message-received-from-group", IMAGE_MESSAGE_SENT_TO_USER = "image-message-sent-to-user", IMAGE_MESSAGE_SENT_TO_GROUP = "image-message-sent-to-group", IMAGE_MESSAGE_RECEIVED_FROM_USER = "image-message-received-from-user", IMAGE_MESSAGE_RECEIVED_FROM_GROUP = "image-message-received-from-group", VIDEO_MESSAGE_SENT_TO_USER = "video-message-sent-to-user", VIDEO_MESSAGE_SENT_TO_GROUP = "video-message-sent-to-group", VIDEO_MESSAGE_RECEIVED_FROM_USER = "video-message-received-from-user", VIDEO_MESSAGE_RECEIVED_FROM_GROUP = "video-message-received-from-group", VOICE_MESSAGE_SENT_TO_USER = "voice-message-sent-to-user", VOICE_MESSAGE_SENT_TO_GROUP = "voice-message-sent-to-group", VOICE_MESSAGE_RECEIVED_FROM_USER = "voice-message-received-from-user", VOICE_MESSAGE_RECEIVED_FROM_GROUP = "voice-message-received-from-group", FILE_MESSAGE_SENT_TO_USER = "file-message-sent-to-user", FILE_MESSAGE_SENT_TO_GROUP = "file-message-sent-to-group", FILE_MESSAGE_RECEIVED_FROM_USER = "file-message-received-from-user", FILE_MESSAGE_RECEIVED_FROM_GROUP = "file-message-received-from-group", STICKER_MESSAGE_SENT_TO_USER = "sticker-message-sent-to-user", STICKER_MESSAGE_SENT_TO_GROUP = "sticker-message-sent-to-group", STICKER_MESSAGE_RECEIVED_FROM_USER = "sticker-message-received-from-user", STICKER_MESSAGE_RECEIVED_FROM_GROUP = "sticker-message-received-from-group", LOCATION_MESSAGE_SENT_TO_USER = "location-message-sent-to-user", LOCATION_MESSAGE_SENT_TO_GROUP = "location-message-sent-to-group", LOCATION_MESSAGE_RECEIVED_FROM_USER = "location-message-received-from-user", LOCATION_MESSAGE_RECEIVED_FROM_GROUP = "location-message-received-from-group", GIF_MESSAGE_SENT_TO_USER = "gif-message-sent-to-user", GIF_MESSAGE_SENT_TO_GROUP = "gif-message-sent-to-group", GIF_MESSAGE_RECEIVED_FROM_USER = "gif-message-received-from-user", GIF_MESSAGE_RECEIVED_FROM_GROUP = "gif-message-received-from-group", LINK_MESSAGE_SENT_TO_USER = "link-message-sent-to-user", LINK_MESSAGE_SENT_TO_GROUP = "link-message-sent-to-group", LINK_MESSAGE_RECEIVED_FROM_USER = "link-message-received-from-user", LINK_MESSAGE_RECEIVED_FROM_GROUP = "link-message-received-from-group", DOODLE_MESSAGE_SENT_TO_USER = "doodle-message-sent-to-user", DOODLE_MESSAGE_SENT_TO_GROUP = "doodle-message-sent-to-group", DOODLE_MESSAGE_RECEIVED_FROM_USER = "doodle-message-received-from-user", DOODLE_MESSAGE_RECEIVED_FROM_GROUP = "doodle-message-received-from-group", RECOMMENDED_MESSAGE_SENT_TO_USER = "recommended-message-sent-to-user", RECOMMENDED_MESSAGE_SENT_TO_GROUP = "recommended-message-sent-to-group", RECOMMENDED_MESSAGE_RECEIVED_FROM_USER = "recommended-message-received-from-user", RECOMMENDED_MESSAGE_RECEIVED_FROM_GROUP = "recommended-message-received-from-group", OLD_MESSAGES = "old-messages", TYPING_BY_SELF_IN_USER = "typing-by-self-in-user", TYPING_BY_SELF_IN_GROUP = "typing-by-self-in-group", TYPING_BY_OTHER_IN_USER = "typing-by-other-in-user", TYPING_BY_OTHER_IN_GROUP = "typing-by-other-in-group", SEEN_MESSAGES_BY_SELF_IN_USER = "seen-messages-by-self-in-user", SEEN_MESSAGES_BY_SELF_IN_GROUP = "seen-messages-by-self-in-group", SEEN_MESSAGES_BY_OTHER_IN_USER = "seen-messages-by-other-in-user", SEEN_MESSAGES_BY_OTHER_IN_GROUP = "seen-messages-by-other-in-group", DELIVERED_MESSAGES_BY_SELF_IN_USER = "delivered-messages-by-self-in-user", DELIVERED_MESSAGES_BY_SELF_IN_GROUP = "delivered-messages-by-self-in-group", DELIVERED_MESSAGES_BY_OTHER_IN_USER = "delivered-messages-by-other-in-user", DELIVERED_MESSAGES_BY_OTHER_IN_GROUP = "delivered-messages-by-other-in-group", REACTION_BY_SELF_IN_USER = "reaction-by-self-in-user", REACTION_BY_SELF_IN_GROUP = "reaction-by-self-in-group", REACTION_BY_OTHER_IN_USER = "reaction-by-other-in-user", REACTION_BY_OTHER_IN_GROUP = "reaction-by-other-in-group", OLD_REACTIONS_BY_SELF_IN_USER = "old-reactions-by-self-in-user", OLD_REACTIONS_BY_SELF_IN_GROUP = "old-reactions-by-self-in-group", OLD_REACTIONS_BY_OTHER_IN_USER = "old-reactions-by-other-in-user", OLD_REACTIONS_BY_OTHER_IN_GROUP = "old-reactions-by-other-in-group", FRIEND_EVENT_ADD = "friend-event-add", FRIEND_EVENT_REMOVE = "friend-event-remove", FRIEND_EVENT_REQUEST = "friend-event-request", FRIEND_EVENT_UNDO_REQUEST = "friend-event-undo-request", FRIEND_EVENT_REJECT_REQUEST = "friend-event-reject-request", FRIEND_EVENT_SEEN_REQUEST = "friend-event-seen-request", FRIEND_EVENT_BLOCK = "friend-event-block", FRIEND_EVENT_UNBLOCK = "friend-event-unblock", FRIEND_EVENT_BLOCK_CALL = "friend-event-block-call", FRIEND_EVENT_UNBLOCK_CALL = "friend-event-unblock-call", FRIEND_EVENT_PIN_UNPIN = "friend-event-pin-unpin", FRIEND_EVENT_PIN_CREATE = "friend-event-pin-create", FRIEND_EVENT_UNKNOWN = "friend-event-unknown", GROUP_EVENT_JOIN_REQUEST = "group-event-join-request", GROUP_EVENT_JOIN = "group-event-join", GROUP_EVENT_LEAVE = "group-event-leave", GROUP_EVENT_REMOVE_MEMBER = "group-event-remove-member", GROUP_EVENT_BLOCK_MEMBER = "group-event-block-member", GROUP_EVENT_UPDATE_SETTING = "group-event-update-setting", GROUP_EVENT_UPDATE = "group-event-update", GROUP_EVENT_NEW_LINK = "group-event-new-link", GROUP_EVENT_ADD_ADMIN = "group-event-add-admin", GROUP_EVENT_REMOVE_ADMIN = "group-event-remove-admin", GROUP_EVENT_NEW_PIN_TOPIC = "group-event-new-pin-topic", GROUP_EVENT_UPDATE_PIN_TOPIC = "group-event-update-pin-topic", GROUP_EVENT_REORDER_PIN_TOPIC = "group-event-reorder-pin-topic", GROUP_EVENT_UPDATE_BOARD = "group-event-update-board", GROUP_EVENT_REMOVE_BOARD = "group-event-remove-board", GROUP_EVENT_UPDATE_TOPIC = "group-event-update-topic", GROUP_EVENT_UNPIN_TOPIC = "group-event-unpin-topic", GROUP_EVENT_REMOVE_TOPIC = "group-event-remove-topic", GROUP_EVENT_ACCEPT_REMIND = "group-event-accept-remind", GROUP_EVENT_REJECT_REMIND = "group-event-reject-remind", GROUP_EVENT_REMIND_TOPIC = "group-event-remind-topic", GROUP_EVENT_UPDATE_AVATAR = "group-event-update-avatar", GROUP_EVENT_UNKNOWN = "group-event-unknown", UNDO_BY_SELF_IN_USER = "undo-by-self-in-user", UNDO_BY_SELF_IN_GROUP = "undo-by-self-in-group", UNDO_BY_OTHER_IN_USER = "undo-by-other-in-user", UNDO_BY_OTHER_IN_GROUP = "undo-by-other-in-group", CONNECTION_STATUS_CONNECTED = "connection-status-connected", CONNECTION_STATUS_DISCONNECTED = "connection-status-disconnected", CONNECTION_STATUS_RECONNECTING = "connection-status-reconnecting", CONNECTION_STATUS_LOGGED_OUT = "connection-status-logged-out", UPLOAD_ATTACHMENT_IN_PROGRESS = "upload-attachment-in-progress", UPLOAD_ATTACHMENT_COMPLETED = "upload-attachment-completed", UPLOAD_ATTACHMENT_FAILED = "upload-attachment-failed", CIPHER_KEY_UPDATED_IN_USER = "cipher-key-updated-in-user", CIPHER_KEY_UPDATED_IN_GROUP = "cipher-key-updated-in-group", CIPHER_KEY_EXPIRED_IN_USER = "cipher-key-expired-in-user", CIPHER_KEY_EXPIRED_IN_GROUP = "cipher-key-expired-in-group", ERROR_SYSTEM = "error-system", ERROR_NETWORK = "error-network", ERROR_AUTHENTICATION = "error-authentication", ERROR_VALIDATION = "error-validation", ERROR_BUSINESS_LOGIC = "error-business-logic", ERROR_UNKNOWN = "error-unknown" } /** * Base webhook event interface - Cấu trúc job chuẩn */ export interface BaseZaloWebhookEvent { sessionId: string; userUuid: string; timestamp: number; eventType: ZaloWebhookEventType; metadata?: Record<string, any>; } /** * Job Priority enum */ export declare enum JobPriority { LOW = 1, NORMAL = 2, HIGH = 3, CRITICAL = 4 } /** * Job Status enum */ export declare enum JobStatus { WAITING = "waiting", ACTIVE = "active", COMPLETED = "completed", FAILED = "failed", DELAYED = "delayed", PAUSED = "paused" } /** * Queue Job Configuration */ export interface QueueJobConfig { priority?: JobPriority; delay?: number; attempts?: number; backoff?: { type: 'fixed' | 'exponential'; delay: number; }; removeOnComplete?: number | boolean; removeOnFail?: number | boolean; jobId?: string; } /** * Base Queue Job Interface - Cấu trúc job khi đưa vào queue */ export interface BaseQueueJob<T = any> { id?: string; name: string; data: T; opts?: QueueJobConfig; progress?: number; returnvalue?: any; failedReason?: string; stacktrace?: string[]; attemptsMade?: number; delay?: number; timestamp?: number; processedOn?: number; finishedOn?: number; } /** * Webhook Queue Job - Job cụ thể cho webhook events */ export interface WebhookQueueJob extends BaseQueueJob<BaseZaloWebhookEvent> { name: 'webhook-event'; data: BaseZaloWebhookEvent; } //# sourceMappingURL=webhook-job.types.d.ts.map