WhatsApp API para empresas · Activación, aprendizaje y soporteDocumentación técnica para desarrolladores
Academia

Curso: WhatsApp API + CRM

Curso de WhatsApp API y CRM: modelo de datos, conversaciones, colas, pipeline, automatizaciones, Meta Ads, atribución y reporting.

Curso para diseñar un CRM realmente conectado con WhatsApp: modelo de datos, conversaciones, asignación, etapas, automatizaciones, atribución de Meta Ads, reporting y gobierno. El objetivo es que cada mensaje tenga contexto y cada conversación pueda convertirse en una acción comercial o de servicio medible.
Nivel

Intermedio

Carga estimada

8–11 horas

Temario

8 módulos completos

Cómo estudiar este curso

    Requisitos previos

    Necesitas conocer conceptos básicos de WhatsApp Business Platform y procesos de CRM. No hace falta programar, aunque el curso explica estructuras de datos para que negocio y tecnología hablen el mismo idioma.

    Módulo 1. Modelo de datos: contacto, conversación y mensaje

    Objetivo del módulo: Evitar el error de guardar todo WhatsApp en una única tabla o historial sin estructura.

    1.1 Contacto

    El contacto representa a una persona. Puede tener teléfono, nombre, email, organización, país, preferencias y consentimientos. El número WhatsApp es importante, pero la identidad no debe depender exclusivamente de él si tu negocio también usa email, documento, customer ID u otras claves.

    1.2 Conversación

    Una conversación agrupa una interacción operativa: canal, número empresarial, contacto, estado, cola, agente, timestamps y motivo. Puede reabrirse o crear una nueva sesión según tus reglas internas. Separarla del contacto permite medir cuántas interacciones requiere una persona.

    1.3 Mensaje

    El mensaje almacena dirección, wamid, tipo, contenido normalizado, plantilla, estado y fecha. Los estados deben llegar como eventos y conservar historial. No coloques toda la lógica del CRM dentro del JSON crudo de Meta; guarda el payload para auditoría, pero extrae campos útiles.

    EntidadClaveRelaciones
    Contactcontact_idmuchas conversaciones, oportunidades, consentimientos
    Conversationconversation_idun contacto, un canal/número, mensajes, agente
    Messagemessage_id + wamiduna conversación, estados
    Opportunityopportunity_idcontacto/empresa, etapa, valor
    Consentconsent_idcontacto, propósito, fuente, fecha

    Práctica del módulo

    Actividad: Dibuja un modelo entidad-relación con Contact, Conversation, Message, Opportunity y Consent. Añade WABA/Phone Number como canal si operas múltiples números.

    Comprueba lo aprendido

    ¿Por qué no usar el número como primary key universal?

    Puede cambiar, existir en varios contextos o no ser suficiente para unir identidad omnicanal. Usa un ID interno.

    ¿Por qué conservar payload crudo además de campos normalizados?

    Ayuda a auditoría y depuración futura sin obligar a consultar a Meta, mientras los campos normalizados facilitan consultas del negocio.

    Módulo 2. Identidad, consentimiento y deduplicación

    Objetivo del módulo: Mantener una vista coherente del cliente y evitar duplicados o envíos contradictorios.

    2.1 Normalización E.164

    Normaliza números antes de comparar. Guarda valor canónico y, si necesitas, el texto original separado. No confíes en espacios, guiones o prefijos introducidos por formularios. La deduplicación debe considerar contexto de país y otros identificadores.

    2.2 Resolución de identidad

    Cuando llega un mensaje, intenta resolver wa_id/teléfono a un contacto. Si no existe, crea uno provisional con fuente “WhatsApp inbound”. Si luego el usuario proporciona email o customer ID, aplica reglas de fusión auditables; no fusionar solo por nombres similares.

    2.3 Consentimiento como entidad

    Un contacto puede aceptar actualizaciones transaccionales y no promociones. Modelar consentimiento por propósito permite campañas más precisas. Registra baja como un evento y propágala a herramientas conectadas.

    Práctica del módulo

    Actividad: Escribe reglas de deduplicación en tres niveles: coincidencia exacta segura, coincidencia probable que requiere revisión y no coincidencia. Incluye teléfono, email y customer ID.

    Comprueba lo aprendido

    ¿Por qué no fusionar por nombre?

    Los nombres no son únicos y pueden cambiar; una fusión incorrecta mezcla conversaciones y datos de personas distintas.

    ¿Un campo marketing_opt_in=true basta?

    Es un inicio, pero para trazabilidad conviene guardar fuente, fecha, texto/propósito y estado de baja.

    Módulo 3. Bandeja, asignación, colas y SLA

    Objetivo del módulo: Diseñar la operación multiagente sobre el modelo CRM.

    3.1 Propietario de conversación

    La conversación debe tener un responsable actual y un historial de asignaciones. Esto permite saber quién debía responder en un momento concreto. Si existe autoasignación, registra la regla que produjo la decisión.

    3.2 Colas

    Las colas representan capacidad y especialidad: ventas, soporte, región, producto. Mantén prioridad, orden, fecha de entrada y SLA. Una conversación “sin asignar” no debería ser invisible; debe pertenecer a una cola monitoreada.

    3.3 SLA basado en eventos

    Calcula tiempos desde eventos: ingreso, primera respuesta humana, espera de cliente, reanudación y resolución. Pausar el SLA cuando esperas al usuario puede ser válido, pero documenta la regla para que las métricas sean comparables.

    Práctica del módulo

    Actividad: Modela tablas o campos para queue_id, assignee_id, assigned_at, first_response_at, waiting_customer_at y resolved_at. Escribe las reglas de cálculo de FRT.

    Comprueba lo aprendido

    ¿Por qué guardar historial de asignación?

    Porque el responsable actual no explica quién atendió antes ni dónde ocurrieron demoras.

    ¿Una conversación puede estar sin agente y seguir controlada?

    Sí, si está en una cola visible con prioridad/SLA y reglas de asignación.

    Módulo 4. Pipeline comercial y etapas

    Objetivo del módulo: Relacionar conversación con oportunidad sin convertir cada chat en un lead nuevo.

    4.1 Contacto vs. oportunidad

    Una persona puede comprar varias veces o tener oportunidades simultáneas. La oportunidad representa una intención comercial concreta con etapa, valor, producto, fecha y owner. No crees una nueva oportunidad por cada mensaje entrante; define eventos que justifican su creación.

    4.2 Etapas con criterio de entrada/salida

    “Interesado”, “calificado” y “propuesta” solo sirven si todos los vendedores entienden qué evidencia mueve al lead. Define criterio observable: datos mínimos, cita agendada, propuesta enviada, pago recibido. Esto mejora automatización y reporting.

    4.3 Próxima acción

    Toda oportunidad abierta debería tener next_action y fecha. WhatsApp facilita seguimiento, pero sin próxima acción el CRM se convierte en archivo histórico. Automatiza recordatorios internos; no envíes automáticamente al cliente sin revisar ventana, plantilla y consentimiento.

    Práctica del módulo

    Actividad: Diseña un pipeline de 6 etapas y escribe para cada una: condición de entrada, condición de salida, dato obligatorio y plantilla/mensaje posible si corresponde.

    Comprueba lo aprendido

    ¿Por qué no crear lead por cada conversación?

    Genera duplicados y distorsiona pipeline. La conversación es una interacción; la oportunidad es una intención comercial.

    ¿Qué hace una etapa automatizable?

    Tener criterios objetivos y datos disponibles para detectar la transición.

    Módulo 5. Automatizaciones y eventos

    Objetivo del módulo: Construir reglas basadas en eventos sin crear bucles ni acciones invisibles.

    5.1 Event-driven CRM

    Eventos útiles: mensaje recibido, conversación asignada, etapa cambiada, cita creada, pago confirmado, plantilla entregada, baja recibida. Cada evento puede disparar tareas, integraciones o notificaciones. No todas deben generar mensajes al cliente.

    5.2 Idempotencia de automatizaciones

    Si el mismo webhook o evento llega dos veces, la automatización no debe crear dos reservas o dos oportunidades. Usa event IDs, claves idempotentes y estados de ejecución. Registra quién/qué originó cada cambio.

    5.3 Reglas y humanos

    Las automatizaciones importantes deben ser visibles para los agentes. Si una regla cambia la etapa, deja un activity log. Si envía un mensaje, muestra el motivo y plantilla. Los humanos necesitan comprender el sistema para corregir excepciones.

    Práctica del módulo

    Actividad: Diseña cinco automatizaciones y para cada una escribe trigger, condiciones, acción, idempotency key, log y fallback. Incluye al menos una que no envíe mensaje.

    Comprueba lo aprendido

    ¿Qué causa un bucle común?

    Un evento generado por una automatización vuelve a cumplir el mismo trigger sin una condición/idempotencia que lo detenga.

    ¿Por qué registrar actor/origen?

    Permite distinguir cambios humanos, API, IA y reglas automáticas al auditar un caso.

    Módulo 6. Integración con Meta Ads y atribución

    Objetivo del módulo: Conservar la fuente publicitaria desde el primer contacto hasta el resultado del CRM.

    6.1 Modelo de touchpoint

    Crea un objeto o registro de touchpoint para fuente, campaña, conjunto/anuncio cuando esté disponible, landing, UTM, click identifiers y fecha. Relaciónalo con contacto y oportunidad. No sobrescribas permanentemente “source” con el último contacto; conserva historial.

    6.2 Click-to-WhatsApp

    Cuando una conversación proviene de un anuncio, captura el contexto que Meta entregue y asócialo al contacto/conversación. Si tu plataforma recibe referencias publicitarias en webhooks, persístelas antes de que se pierdan en capas de presentación.

    6.3 Eventos de conversión

    Define qué eventos del CRM representan resultados: lead calificado, cita, checkout, purchase. Envía a sistemas de medición solo datos compatibles con políticas y consentimiento aplicable. La atribución debe poder unir touchpoint→oportunidad→evento.

    Práctica del módulo

    Actividad: Diseña tablas marketing_touchpoints y conversion_events. Explica cómo atribuirías una compra a un anuncio sin eliminar otros touchpoints previos.

    Comprueba lo aprendido

    ¿Por qué conservar historial de fuentes?

    Porque una persona puede interactuar con varios anuncios/canales; sobrescribir impide analizar recorridos y modelos de atribución.

    ¿Qué es una conversión CRM?

    Un evento de negocio verificable en tu sistema, como una cita o venta, no simplemente un mensaje recibido.

    Módulo 7. Reporting y calidad de datos

    Objetivo del módulo: Crear dashboards confiables y detectar datos faltantes antes de tomar decisiones.

    7.1 Diccionario de métricas

    Define cada KPI: numerador, denominador, zona horaria, ventana y exclusiones. “Tasa de conversión” puede significar ventas/leads, ventas/conversaciones o ventas/oportunidades. Sin diccionario, dos dashboards pueden contradecirse sin que ninguno esté técnicamente roto.

    7.2 Integridad

    Monitorea porcentaje de contactos sin fuente, oportunidades sin owner, conversaciones sin motivo, mensajes sin wamid, consentimientos sin fecha y eventos de conversión sin valor. La calidad de datos debe tener métricas propias.

    7.3 Cohortes

    Analiza por fecha de entrada, campaña, país, equipo o producto. Las cohortes permiten distinguir si el desempeño cambió por calidad de leads, por vendedores o por estacionalidad.

    Práctica del módulo

    Actividad: Crea un data quality dashboard con cinco reglas y alerta cuando más del 2% de registros nuevos incumplan un campo crítico. Define quién corrige cada regla.

    Comprueba lo aprendido

    ¿Qué debe incluir la definición de un KPI?

    Fórmula, población, periodo, zona horaria, exclusiones y fuente de datos.

    ¿Por qué medir datos faltantes?

    Porque un KPI calculado sobre datos incompletos puede parecer preciso pero llevar a decisiones erróneas.

    Módulo 8. Arquitectura CRM final y gobierno

    Objetivo del módulo: Unir datos, eventos, operación y reporting en un diseño mantenible.

    8.1 Fuente de verdad

    Decide qué sistema es authoritative para contacto, oportunidad, consentimiento, pedidos y conversaciones. Dos sistemas que “mandan” sobre el mismo campo sin reglas generan sincronizaciones circulares.

    8.2 Integraciones

    Utiliza eventos o APIs con contratos claros. Registra external IDs y timestamps. En integraciones bidireccionales, define resolución de conflictos. No uses “último write gana” para datos sensibles sin entender las consecuencias.

    8.3 Retención y privacidad

    Define cuánto tiempo necesitas mensajes, media, logs y datos de marketing. Minimiza datos y controla acceso por rol. Un CRM conectado a WhatsApp puede contener información sensible de clientes; la conveniencia de tener “todo para siempre” debe equilibrarse con riesgo y obligaciones legales.

    Práctica del módulo

    Actividad: Dibuja una arquitectura con CRM, WhatsApp, Meta Ads, ERP/e-commerce y BI. Marca la fuente de verdad para 10 campos clave y qué sistema inicia cada sincronización.

    Comprueba lo aprendido

    ¿Qué es una fuente de verdad?

    El sistema considerado autoritativo para un dato concreto cuando existen varias copias.

    ¿Por qué definir resolución de conflictos?

    Porque integraciones bidireccionales pueden modificar el mismo dato y producir bucles o valores inconsistentes.

    Caso completo: del anuncio a la venta sin perder la historia

    Una persona ve un anuncio de un plan empresarial, toca “Enviar mensaje” y entra a WhatsApp. El reto del CRM es conservar la relación entre ese touchpoint, el contacto, la conversación, la oportunidad y la compra, incluso si la venta ocurre días después y participan varios asesores.

    1. Ingesta

    Al recibir el webhook, el sistema resuelve la cuenta/número empresarial y normaliza el remitente. Busca contacto por identificadores seguros. Si no existe, crea uno con una fuente inicial. Luego crea o reabre una conversación y persiste el contexto publicitario que esté disponible como touchpoint separado.

    2. Calificación

    Un bot o agente pregunta empresa, necesidad, usuarios y plazo. Esos datos no deben quedarse solamente dentro del texto del chat; los campos útiles pasan al CRM con metadata de origen. La conversación conserva el texto completo, pero el negocio puede consultar “leads con más de 10 usuarios” sin procesar mensajes cada vez.

    3. Creación de oportunidad

    Cuando el lead cumple criterios, se crea una oportunidad. La oportunidad conserva source_touchpoint_id o una relación many-to-many con touchpoints. El asesor recibe ownership. Un cambio de etapa escribe una actividad; no se limita a sobrescribir stage.

    4. Seguimiento fuera de ventana

    Si el asesor debe retomar dos días después, el CRM no debe permitir “texto libre porque sí”. La capa de mensajería evalúa ventana y selecciona una plantilla permitida, con consentimiento y propósito. La regla de CRM conoce la intención (“recordar propuesta”), no necesita duplicar toda la política de WhatsApp.

    5. Conversión

    Cuando se confirma compra, se registra un evento con order_id, valor, moneda, fecha y oportunidad. Ese evento puede alimentar BI y, cuando corresponda, sistemas publicitarios. El CRM conserva la trazabilidad desde adquisición hasta revenue.

    SQL conceptual para evitar duplicados

    contacts
      id PK
      phone_e164
      email_normalized
      customer_external_id
    
    conversations
      id PK
      contact_id FK
      wa_account_id FK
      status
      assignee_id
    
    opportunities
      id PK
      contact_id FK
      owner_id
      stage_key
      value
    
    marketing_touchpoints
      id PK
      contact_id FK
      campaign_id
      ad_id
      click_id
      occurred_at
    
    conversion_events
      id PK
      opportunity_id FK
      event_key UNIQUE
      event_name
      value
      occurred_at

    Este esquema es conceptual, no una receta universal. En un SaaS multiempresa necesitas tenant_id en las entidades y constraints compuestos que impidan cruces entre clientes.

    Auditoría de automatizaciones CRM

    ReglaRiesgoControl
    Crear oportunidad al primer mensajeDuplicados por conversaciones repetidasCondición por oportunidad abierta/caso de uso
    Asignar round-robinAgente ausente recibe leadsPresence/capacity + fallback
    Cambiar etapa por palabraFalso positivoEvento/criterio estructurado
    Enviar follow-up a X horasVentana/política/opt-inMessaging policy service
    Enviar conversión a AdsEvento duplicadoevent_id/idempotencia

    Evaluación CRM

    ¿Qué entidad representa la interacción actual por WhatsApp?

    Conversation. Contact representa a la persona y Opportunity el proceso comercial.

    ¿Dónde conviene guardar la fuente de campaña?

    Como touchpoint/historial relacionado, no solo en un campo que se sobrescribe cada vez.

    ¿Cómo evitar dos conversiones por el mismo pago?

    Usa una clave de evento única/idempotente basada en el evento de negocio.

    ¿Por qué una etapa necesita criterios?

    Para que vendedores, automatizaciones y BI interpreten el pipeline de la misma manera.

    ¿Qué debe ocurrir si un contacto pide baja?

    Actualizar una entidad/preferencia central y bloquear campañas que dependan de ese consentimiento.

    ¿Por qué separar payload de WhatsApp de campos de CRM?

    El payload sirve para auditoría; los campos normalizados permiten consultas, reglas y reporting estable.

    Proyecto final del curso

    Diseña un CRM para una empresa que capta leads desde Meta Ads, atiende por WhatsApp y vende por un equipo de 15 asesores.

    • Modelo Contact/Conversation/Message/Opportunity/Consent.
    • Normalización y deduplicación.
    • Colas, asignación y SLA.
    • Pipeline con criterios objetivos.
    • Automatizaciones idempotentes.
    • Touchpoints publicitarios.
    • Eventos de conversión.
    • Diccionario de KPI.
    • Reglas de calidad de datos.
    • Fuentes de verdad e integraciones.
    • Retención y roles de acceso.

    Competencias que debes dominar al terminar

    • Modelar conversaciones sin duplicar contactos.
    • Mantener consentimiento trazable.
    • Diseñar colas y SLA.
    • Crear pipeline con criterios claros.
    • Automatizar con eventos e idempotencia.
    • Relacionar Meta Ads con oportunidades.
    • Crear reporting y data quality.
    • Definir fuentes de verdad e integraciones.

    Fuentes oficiales para continuar estudiando

    Aplicación empresarial

    ¿Quieres llevar estos procesos a una operación real?

    Conocer Optimify

    Continúa aprendiendo

    Publicado: 19 de agosto de 2026Última revisión: 19 de agosto de 2026Responsable editorial: MensajAPI