Resumen
Un Contact es el registro unificado de una persona, y el objeto central de Customer Data. CXF resuelve a la misma persona entre canales y dispositivos en un solo contact mediante identifiers, le da estructura con Profiles y lo agrupa bajo una Organization. Los contacts también llevan taxonomies, tags, relationships, workflows, ownership, archive y pertenencia a segments. Para el panorama completo, consulta el overview de Customer Data.Dónde encontrarlo
Los contacts están en Customer Data → Contacts.Tipos de contact
El tipo de un contact se calcula automáticamente a partir de sus identifiers, su nombre y el flag de vendor — no lo defines a mano:| Tipo | Qué significa |
|---|---|
| Ghost | Anónimo o sin identificar — solo un token anónimo, o sin nombre. Se crea cuando alguien interactúa antes de identificarse. |
| Lead | Tiene nombre y al menos un email o teléfono, pero ninguno validado aún. |
| Contact | Tiene nombre y al menos un email o teléfono validado. |
| Vendor | Un contact marcado como vendor (un proveedor), sin importar la validación. |
Identifiers
Un identifier es un valor que identifica a un contact — un email, un teléfono, un UUID, un token OAuth, etc. La resolución de identidad consolida los múltiples identifiers de una persona en un solo contact, para tener un registro 360° en lugar de fragmentos. Cada identifier lleva:| Property | Descripción |
|---|---|
semantic_type | El tipo de identifier — email, phone, oauth, uuid, … |
identifier | El valor en sí (p. ej. [email protected]). |
slug | Una etiqueta dentro de su tipo — Main, Work, Personal. Reemplaza un único flag “main”. |
is_validated | Si el valor fue verificado, y cómo/cuándo (OTP, magic link, manual). |
source | De dónde vino (datos de event, import, manual). |
outreach | Si es un método de contacto por el que puedes comunicarte. |
El slug de un identifier es único por semantic type por contact — un contact no
puede tener dos emails Work, pero sí un email Work y un teléfono Work. Cada
tipo tiene un slug Main (que no se puede quitar); el email y el teléfono
principales del contact se resuelven desde él. El catálogo de slugs se configura en
Settings → Customer Data → Manage Identifiers.
Properties
| Property | Tipo | Requerido | Descripción |
|---|---|---|---|
given_name | string | Condicional | Nombre — requerido para que un contact sea más que un ghost. |
last_name | string | Condicional | Apellido — requerido para que un contact sea más que un ghost. |
identifiers | array | No | Los identifiers del contact. |
email | string | Auto | Email principal, resuelto desde el identifier de email Main. |
phone | string | Auto | Teléfono principal, resuelto desde el identifier de teléfono Main. |
is_vendor | boolean | No | Marca al contact como vendor. |
type | enum | Auto | Calculado: ghost, lead, contact o vendor. |
organization_id | reference | No | La organization a la que pertenece el contact. |
profiles | array | No | Profiles adoptados — definen los attributes del contact. |
segments | array | Auto | Los segments que el contact cumple actualmente. |
Cómo se crean los contacts
- Ghost — se crea automáticamente cuando un visitante anónimo interactúa (un funnel, un chat widget, un canal web). El ghost se trackea con un token anónimo.
- Lead / registro completo — un alta pública crea un lead (nombre + email/teléfono, sin validar aún) o un registro completo (con contraseña). Validar un identifier promueve un lead a contact.
- Admin — un usuario crea un contact directamente desde el dashboard.
Comportamiento y reglas
- El tipo se deriva, no se define — se recalcula a partir del nombre, los identifiers y el flag de vendor del contact.
- La validación promueve — un lead se vuelve contact cuando uno de sus identifiers se valida (OTP o magic link).
- Pertenece a una organization — definir
organization_idagrupa al contact; renombrar la organization actualiza el nombre de organization denormalizado del contact. - Limpieza de ghosts — los ghost contacts se pueden eliminar automáticamente tras un periodo de inactividad, configurable en Customer Data Settings.
Seeds
Los contacts viajan entre entornos como Seeds estructurales. Un contact lleva su nombre, identifiers, valores de attributes, profiles adoptados (por slug) y una referencia a su organization (resuelta con un reference helper):default); profiles lista los profiles que
adopta, por slug.
Gobernanza y permisos
Un super admin o un Master puede gestionar cualquier contact. Los contacts llevan Ownership, así que un Journey Manager gestiona los contacts que posee.Acceso por API
Los contacts tienen CRUD completo por la User API. Los flujos públicos de cara al contacto — captura de leads, registro y validación de identifiers — corren por la Contact API.Relacionado
Profiles
El esquema de attributes que adopta un contact.
Organizations
La empresa o cuenta a la que pertenece un contact.
Segments
Audiencias dinámicas en las que puede caer un contact.
Document Templates
Documentos estructurados adjuntos a un contact.