👥 Contactos
Los Contactos son los registros de clientes en PulseHub. Cada conversación está vinculada a un contacto, y cada mensaje entrante coincide con un contacto existente o crea uno nuevo.
Campos del Contacto
| Campo | Descripción |
|---|---|
name | Nombre para mostrar — extraído de los datos del proveedor o ingresado manualmente |
email | Dirección de email — usada para coincidir remitentes de email entrante |
phone | Número de teléfono — usado para coincidir remitentes de WhatsApp y SMS |
tags | Array JSON de cadenas de etiquetas para segmentación |
notes | Campo de texto libre para notas del agente |
external_ids | Objeto JSON que mapea tipos de canal a IDs específicos del proveedor |
Coincidencia de Contactos (Auto-Deduplicación)
Cuando llega un nuevo mensaje entrante:
- Si sender_phone está presente: coincide por
contacts.phone - Si no, si sender_email está presente: coincide por
contacts.email - Si no: coincide por ruta JSON de
external_ids - Si no hay coincidencia: crea un nuevo contacto
Cuando se encuentra una coincidencia, PulseHub actualiza el campo external_ids para unificar al cliente entre canales.
Etiquetas
- Etiquetas de contacto describen a la persona:
[vip, enterprise, newsletter] - Etiquetas de conversación describen el problema:
[urgent, billing, bug-report]
Ambas se almacenan como arrays JSON.
Referencia de IDs Externos
| Clave | Origen |
|---|---|
whatsapp | Número de teléfono del remitente |
telegram_chat_id | chat.id de Telegram |
viber | sender.id de Viber |
facebook | PSID de Facebook |
instagram | PSID de Instagram |
sms | Número de teléfono del remitente |