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.0: Added SessionProxyService for managing proxy assignments to sessions with

206 lines 6.12 kB
/** * Main SDK client for automation-web API */ import { AutomationWebConfig } from '../types/common.types'; import { WebhookEvent, WebhookEventHandler, ZaloWebhookEventType } from '../types/webhook.types'; import { Message, Typing, Reaction, SeenMessage, DeliveredMessage, FriendEvent, GroupEvent, Undo } from '../types/webhook'; import { AuthService } from '../services/auth/auth.service'; import { MessagingService } from '../services/messaging/messaging.service'; import { AdvancedMessagingService } from '../services/advanced-messaging/advanced-messaging.service'; import { WebhookService } from '../services/webhook/webhook.service'; import { GroupService } from '../services/groups/groups.service'; import { FriendService } from '../services/friends/friends.service'; import { UserInfoService } from '../services/user-info/user-info.service'; import { ProfileService } from '../services/profile/profile.service'; import { SearchService } from '../services/search/search.service'; import { BulkService } from '../services/bulk/bulk.service'; import { SessionProxyService } from '../services/session-proxy/session-proxy.service'; /** * Main automation-web SDK client */ export declare class AutomationWebClient { private httpClient; private eventManager; private config; private _auth; private _messaging; private _advancedMessaging; private _webhook; private _groups; private _friends; private _userInfo; private _profile; private _search; private _bulk; private _sessionProxy; constructor(config: Partial<AutomationWebConfig>); /** * Get authentication service */ get auth(): AuthService; /** * Get messaging service */ get messaging(): MessagingService; /** * Get advanced messaging service */ get advancedMessaging(): AdvancedMessagingService; /** * Get groups service */ get groups(): GroupService; /** * Get friends service */ get friends(): FriendService; /** * Get user info service */ get userInfo(): UserInfoService; /** * Get profile service */ get profile(): ProfileService; /** * Get webhook service */ get webhook(): WebhookService; /** * Get search service */ get search(): SearchService; /** * Get bulk operations service */ get bulk(): BulkService; /** * Get session proxy service */ get sessionProxy(): SessionProxyService; /** * Register webhook event handler */ onEvent<T extends WebhookEvent = WebhookEvent>(eventType: ZaloWebhookEventType | string, handler: WebhookEventHandler<T>): this; /** * Register one-time webhook event handler */ onceEvent<T extends WebhookEvent = WebhookEvent>(eventType: ZaloWebhookEventType | string, handler: WebhookEventHandler<T>): this; /** * Remove webhook event handler */ offEvent<T extends WebhookEvent = WebhookEvent>(eventType: ZaloWebhookEventType | string, handler: WebhookEventHandler<T>): this; /** * Remove all handlers for event type */ removeAllEventListeners(eventType?: ZaloWebhookEventType | string): this; /** * Process incoming webhook event */ processWebhookEvent(event: WebhookEvent): Promise<void>; /** * Convenience methods for common events */ /** * Listen for message received events */ onMessageReceived(handler: WebhookEventHandler): this; /** * Listen for message sent events */ onMessageSent(handler: WebhookEventHandler): this; /** * Listen for typing events */ onTyping(handler: WebhookEventHandler): this; /** * Listen for message seen events */ onMessageSeen(handler: WebhookEventHandler): this; /** * Listen for message reaction events */ onMessageReaction(handler: WebhookEventHandler): this; /** * Listen for friend events */ onFriendAdded(handler: WebhookEventHandler): this; /** * Listen for group events */ onGroupMemberAdded(handler: WebhookEventHandler): this; /** * Listen for connection events */ onConnectionLost(handler: WebhookEventHandler): this; /** * Listen for error events */ onError(handler: WebhookEventHandler): this; /** * Listen for typed message events */ onTypedMessage(handler: (message: Message) => void): this; /** * Listen for typing events */ onTypedTyping(handler: (typing: Typing) => void): this; /** * Listen for typed reaction events */ onTypedReaction(handler: (reaction: Reaction) => void): this; /** * Listen for typed seen message events */ onTypedMessageSeen(handler: (seenMessage: SeenMessage) => void): this; /** * Listen for typed delivered message events */ onTypedMessageDelivered(handler: (deliveredMessage: DeliveredMessage) => void): this; /** * Listen for typed friend events */ onTypedFriendEvent(handler: (friendEvent: FriendEvent) => void): this; /** * Listen for typed group events */ onTypedGroupEvent(handler: (groupEvent: GroupEvent) => void): this; /** * Listen for typed undo events */ onTypedUndo(handler: (undo: Undo) => void): this; /** * Update SDK configuration */ updateConfig(newConfig: Partial<AutomationWebConfig>): void; /** * Get current configuration */ getConfig(): AutomationWebConfig; /** * Get SDK version */ getVersion(): string; /** * Test connection to automation-web API */ testConnection(): Promise<boolean>; /** * Get API health status */ getHealthStatus(): Promise<{ status: 'healthy' | 'unhealthy'; timestamp: string; version?: string; uptime?: number; }>; /** * Setup error handling */ private setupErrorHandling; /** * Cleanup resources */ destroy(): void; } //# sourceMappingURL=AutomationWebClient.d.ts.map