Coincidencia de contactos
La coincidencia de contactos reconoce automáticamente que dos registros entrantes pertenecen a la misma persona real — incluso cuando llegan por canales distintos (número de WhatsApp, dirección de email, ID de Instagram). Objetivo: una sola ficha de cliente por persona, sin duplicados.
¿Qué es la coincidencia de contactos?
La coincidencia de contactos (a menudo «resolución de identidad» o «detección de duplicados») es la lógica que permite a una plataforma decidir: «Este mensaje entrante de WhatsApp desde +34 612 345 678 pertenece a la misma persona cuyo email [email protected] ya conocemos.» El resultado es una ficha de cliente, no un cementerio de medio-perfiles.
Por qué la coincidencia es esencial
Sin coincidencia se acaba aquí rápidamente:
- Anna está en la lista de email como [email protected]
- Anna es un contacto de WhatsApp en +34 612 …
- Anna se registró por el formulario newsletter como «Anna K.»
- Tres fichas, una sola persona real — sin coincidencia, las tres se contactan por separado.
Las consecuencias: mensajes de marketing duplicados, lifetime value mal calculado, historial de servicio fragmentado, problemas RGPD ante solicitudes de los interesados.
Señales de coincidencia
Las plataformas usan típicamente estos identificadores:
| Señal | Fuerza | Nota |
|---|---|---|
| Número de teléfono (formato E.164) | Muy fuerte | Único si se formatea de manera uniforme. |
| Dirección de email | Muy fuerte | Único, pero ocurren erratas. |
| ID de plataforma (WhatsApp ID, Telegram ID, handle Instagram) | Muy fuerte | Emitido por el proveedor, inmutable. |
| Nombre | Débil | Hay muchas Annas en el sistema — solo útil en combinación. |
Tres modos comparados
| Modo | Qué ocurre en colisión | Cuándo usar |
|---|---|---|
| Fusión automática (por defecto) | Se actualiza el contacto existente en lugar de crear uno nuevo. El contacto más antiguo permanece como principal; los campos faltantes se rellenan. | Por defecto para la mayoría de pymes. Entrega una ficha de cliente limpia sin trabajo manual. |
| Permitir duplicados | Se crean ambos contactos. La plataforma informa en la respuesta que pueden existir duplicados (lista de sugerencias). | Raro — p. ej. en marketplaces donde cada registro es una cuenta propia. |
| Bloquear duplicados | La plataforma rechaza la creación (HTTP 409) y devuelve el contacto existente. | Cuando quiere unicidad estricta — p. ej. en B2B sales. |
Reglas de fusión (qué ocurre al fusionar)
- El contacto más antiguo permanece como principal. Ambos IDs siguen resolviendo a la ficha superviviente.
- Los valores no vacíos ganan. En conflicto, la fecha de creación más antigua decide.
- Campos pegajosos:
is_blockedeis_archivedpermanecen «true» si cualquiera de los dos los tenía — una fusión nunca debe desbloquear silenciosamente un contacto. - El historial migra: Conversaciones, mensajes, notas, etiquetas, campos personalizados y métodos de contacto aterrizan todos en el superviviente.
- Nota del sistema en el log de auditoría: Qué se fusionó, qué entró en conflicto — totalmente documentado.
Qué ocurre con los IDs antiguos
Las integraciones externas, webhooks y CRMs referencian a menudo IDs de contacto antiguos. Tras una fusión, esos IDs antiguos no deben dar 404. Solución: la API resuelve de forma transparente el ID antiguo al superviviente, devuelve adicionalmente un campo merged_from y establece una cabecera X-Merged-Into. Las integraciones existentes no se rompen.
Caso límite de canal: primer contacto en un canal nuevo
Excepción importante: cuando llega un mensaje WhatsApp para un número de teléfono que ya conocemos — pero el contacto aún no tiene ID de WhatsApp —, eso no es un duplicado. Es un nuevo método de contacto en el contacto existente. La fusión automática se aplica independientemente del modo.
Fusión manual
No todos los duplicados se detectan automáticamente. Nombres fonéticamente similares, nombre/apellido invertidos, cuentas separadas a propósito — esos necesitan fusión manual. Una vista «Buscar duplicados» muestra candidatos agrupados por señal de coincidencia, con opción de fusión en lote.
Coincidencia de contactos en SendSeven
SendSeven soporta los tres modos (Fusión automática por defecto, Permitir, Bloquear), un override por solicitud mediante el campo duplicate_mode, fusión manual en la UI y vía la REST API (POST /contacts/{id}/merge). Las señales de coincidencia son teléfono, email, ID de plataforma y nombre (como señal débil en la lista de sugerencias). Todas las fusiones quedan registradas en el log de auditoría; los UUIDs antiguos permanecen resolubles.