skailan-contacts
Version:
Servicio de gestión de contactos para Skailan
44 lines • 2.15 kB
TypeScript
import { Contact } from '../entities/Contact';
import { IContactRepository } from '../repositories/IContactRepository';
import { IContactCommunicationPlatformRepository } from '../repositories/IContactCommunicationPlatformRepository';
export interface ConversationIntegrationService {
/**
* Crea o actualiza un contacto cuando llega una nueva conversación
*/
handleNewConversation(conversationData: NewConversationData): Promise<Contact>;
/**
* Busca un contacto por su ID en una plataforma específica
*/
findContactByPlatformId(platformId: string, platform: string, organizationId: string): Promise<Contact | null>;
/**
* Obtiene todas las plataformas de comunicación de un contacto
*/
getContactPlatforms(contactId: string, organizationId: string): Promise<any[]>;
/**
* Envía un mensaje a un contacto a través de una plataforma específica
*/
sendMessageToContact(contactId: string, platform: string, message: string, organizationId: string): Promise<any>;
}
export interface NewConversationData {
organizationId: string;
externalId: string;
name?: string;
platform: string;
platformUserId?: string;
platformUsername?: string;
contactEmail?: string;
contactPhone?: string;
metadata?: any;
}
export declare class ConversationIntegrationServiceImpl implements ConversationIntegrationService {
private contactRepository;
private platformRepository;
private conversationsServiceUrl;
constructor(contactRepository: IContactRepository, platformRepository: IContactCommunicationPlatformRepository, conversationsServiceUrl?: string);
handleNewConversation(conversationData: NewConversationData): Promise<Contact>;
findContactByPlatformId(platformId: string, platform: string, organizationId: string): Promise<Contact | null>;
getContactPlatforms(contactId: string, organizationId: string): Promise<any[]>;
sendMessageToContact(contactId: string, platform: string, message: string, organizationId: string): Promise<any>;
private triggerLeadCreation;
}
//# sourceMappingURL=ConversationIntegrationService.d.ts.map