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
TypeScript
/**
* 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