UNPKG

skailan-conversations

Version:

Servicio de conversaciones y mensajería para Skailan

100 lines 2.89 kB
export interface ChannelConfig { [key: string]: any; } export interface TelegramConfig extends ChannelConfig { botToken: string; webhookUrl?: string; allowedUpdates?: string[]; } export interface WhatsAppConfig extends ChannelConfig { accessToken: string; phoneNumberId: string; webhookVerifyToken: string; } export interface FacebookConfig extends ChannelConfig { pageAccessToken: string; pageId: string; webhookVerifyToken: string; } export type ChannelType = 'telegram' | 'whatsapp' | 'facebook' | 'instagram' | 'email' | 'sms'; export type ChannelStatus = 'pending_setup' | 'active' | 'inactive' | 'error' | 'maintenance'; export declare class Channel { id: string; organizationId: string; type: ChannelType; config: ChannelConfig; status: ChannelStatus; createdAt: Date; updatedAt: Date; constructor(id: string, organizationId: string, type: ChannelType, config: ChannelConfig, status: ChannelStatus, createdAt: Date, updatedAt: Date); /** * Valida que la configuración del canal sea correcta según su tipo */ private validate; /** * Valida la configuración específica según el tipo de canal */ private validateConfig; private validateTelegramConfig; private validateWhatsAppConfig; private validateFacebookConfig; /** * Activa el canal */ activate(): void; /** * Desactiva el canal */ deactivate(): void; /** * Marca el canal como en error */ markAsError(): void; /** * Marca el canal como en mantenimiento */ setMaintenance(): void; /** * Verifica si el canal está activo */ isActive(): boolean; /** * Verifica si el canal está configurado correctamente */ isConfigured(): boolean; /** * Actualiza la configuración del canal */ updateConfig(newConfig: ChannelConfig): void; /** * Obtiene la configuración específica según el tipo */ getTelegramConfig(): TelegramConfig; getWhatsAppConfig(): WhatsAppConfig; getFacebookConfig(): FacebookConfig; /** * Verifica si el canal puede enviar mensajes */ canSendMessages(): boolean; /** * Verifica si el canal puede recibir mensajes */ canReceiveMessages(): boolean; /** * Crea una nueva instancia de Channel desde datos primitivos */ static create(id: string, organizationId: string, type: ChannelType, config: ChannelConfig, status?: ChannelStatus): Channel; /** * Reconstruye una instancia de Channel desde datos de la base de datos */ static fromData(data: { id: string; organizationId: string; type: string; config: any; status: string; createdAt: Date; updatedAt: Date; }): Channel; } //# sourceMappingURL=Channel.d.ts.map