El <strong>webhook de WhatsApp</strong> es el corazón técnico de cualquier automatización seria con WhatsApp Business API. Sin él, tu aplicación no puede recibir mensajes en tiempo real, detectar cuando un usuario escribe, ni reaccionar a eventos como entregas, lecturas o cambios de estado. En 2026, con la WhatsApp Cloud API ya siendo el estándar oficial de Meta, configurar webhooks correctamente es el primer paso para construir cualquier sistema de automatización robusto sobre WhatsApp.

¿Prefieres omitir la configuración técnica?

Si no quieres implementar webhooks manualmente, plataformas como Funnelchat (Meta Business Partner oficial) abstraen toda la complejidad técnica de la API. Tú configuras las automatizaciones desde una interfaz visual y Funnelchat maneja los webhooks, la autenticación y el procesamiento de mensajes internamente.

¿Prefieres automatizar WhatsApp sin implementar webhooks?

Funnelchat gestiona toda la infraestructura técnica. Tú solo defines las automatizaciones. Prueba gratis 3 días.

Empezar sin código →

¿Qué es un webhook de WhatsApp y para qué sirve?

Un <strong>webhook</strong> es un endpoint HTTP de tu servidor al que WhatsApp (Meta) envía notificaciones en tiempo real cuando ocurren eventos. A diferencia de las APIs tradicionales donde tú haces peticiones (polling), con webhooks es Meta quien llama a tu servidor cuando hay algo nuevo — un mensaje entrante, una entrega confirmada, una lectura, etc. Este modelo es mucho más eficiente y es el único aprobado por Meta para la WhatsApp Business Platform.

Tipos de eventos que recibes por webhook

💬
messages

El evento más importante. Se dispara cuando un usuario te envía cualquier tipo de mensaje: texto, imagen, audio, video, documento, localización o contacto.

statuses

Actualizaciones de estado de los mensajes que TÚ enviaste: enviado, entregado, leído, o fallido. Fundamental para tracking de campañas.

👤
contacts

Información de perfil del contacto (nombre de usuario en WhatsApp) cuando inicia conversación.

🔔
errors

Notificaciones cuando hay errores en el envío de mensajes: número inválido, número bloqueado, plantilla rechazada, etc.

Requisitos previos para configurar un webhook de WhatsApp

Antes de configurar tu webhook de WhatsApp, necesitas tener listo lo siguiente:

  • <strong>Cuenta de Meta for Developers:</strong> Con una app de tipo Business creada en developers.facebook.com.
  • <strong>WhatsApp Business Account (WABA):</strong> Vinculada a tu app de Meta.
  • <strong>Número de teléfono configurado:</strong> El número que usarás para enviar/recibir mensajes vía API.
  • <strong>Servidor con URL pública HTTPS:</strong> Tu webhook debe ser accesible desde internet con certificado SSL válido. No funciona con localhost (a menos que uses ngrok para desarrollo).
  • <strong>Verify Token propio:</strong> Una cadena de texto que tú defines y que Meta usa para verificar que el endpoint es tuyo.
⚠️
Requisito crítico: HTTPS obligatorio

Meta rechaza cualquier URL de webhook que no use HTTPS con un certificado SSL válido (no auto-firmado). Para desarrollo local, usa ngrok (ngrok http 3000) para exponer tu servidor local con una URL HTTPS temporal. En producción, usa siempre un dominio con certificado válido.

Paso a paso: Configurar el webhook en Meta for Developers

El proceso de configuración tiene dos partes: primero verificar tu webhook ante Meta, luego suscribirte a los eventos que quieres recibir. Este es el flujo completo:

  1. 1<strong>Ve a developers.facebook.com</strong> → selecciona tu app → en el menú lateral busca WhatsApp → Configuration.
  2. 2<strong>En la sección Webhooks,</strong> haz clic en 'Edit'. Ingresa tu Callback URL (la URL HTTPS de tu servidor) y tu Verify Token (el string que tú definas).
  3. 3<strong>Meta enviará un GET request a tu URL</strong> con los parámetros hub.mode, hub.verify_token y hub.challenge. Tu servidor debe verificar que hub.verify_token coincide con el tuyo y responder con hub.challenge.
  4. 4<strong>Si la verificación es exitosa,</strong> Meta mostrará tu webhook como verificado. Ahora puedes suscribirte a los eventos (messages, statuses, etc.) haciendo clic en 'Subscribe' junto a cada evento.
  5. 5<strong>Suscríbete al número de teléfono específico</strong> desde la sección de configuración del número para que empiece a recibir eventos.

Ejemplo de código: Verificación del webhook en Node.js

Este es el código mínimo para manejar la verificación del webhook de WhatsApp en Node.js con Express:

💡
Verificación del Webhook — Node.js / Express

app.get('/webhook', (req, res) => { const mode = req.query['hub.mode']; const token = req.query['hub.verify_token']; const challenge = req.query['hub.challenge']; if (mode === 'subscribe' && token === process.env.VERIFY_TOKEN) { console.log('Webhook verificado'); res.status(200).send(challenge); } else { res.sendStatus(403); } });

Estructura del payload que recibe tu webhook

Cuando un usuario te envía un mensaje, Meta hace un POST a tu webhook con un JSON que contiene toda la información. Es fundamental entender esta estructura para procesar correctamente los mensajes entrantes:

Estructura de un mensaje de texto entrante

{ "object": "whatsapp_business_account", "entry": [{ "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [{ "value": { "messaging_product": "whatsapp", "metadata": { "phone_number_id": "...", "display_phone_number": "+52..." }, "contacts": [{ "profile": { "name": "Nombre" }, "wa_id": "521234567890" }], "messages": [{ "from": "521234567890", "id": "wamid.xxx", "timestamp": "1748935200", "text": { "body": "Hola, quiero información" }, "type": "text" }] }, "field": "messages" }] }] }

Procesar mensajes entrantes: lógica de negocio

Una vez que recibes el payload, debes extraer la información relevante y decidir cómo responder. El flujo básico de procesamiento es:

  1. 1<strong>Verificar que el body no está vacío</strong> y que contiene el campo 'entry'. Meta también puede enviar pings de verificación que solo necesitas responder con 200.
  2. 2<strong>Extraer el tipo de mensaje</strong> (text, image, audio, interactive, etc.) del campo messages[0].type para saber cómo procesarlo.
  3. 3<strong>Identificar al remitente</strong> con messages[0].from — este es el número de WhatsApp del usuario en formato internacional sin el +.
  4. 4<strong>Procesar según el tipo:</strong> Si es texto, lee messages[0].text.body. Si es interactivo (botón o lista), lee messages[0].interactive.button_reply o list_reply.
  5. 5<strong>Responder inmediatamente con HTTP 200</strong> — aunque tu lógica de negocio tome tiempo, debes responder 200 de inmediato para evitar que Meta reintente el webhook. Procesa la lógica de forma asíncrona.
  6. 6<strong>Enviar la respuesta al usuario</strong> usando la API de envío de mensajes de Meta con el phone_number_id correspondiente.

¿Mucho código para tu caso? Funnelchat lo hace sin programar

Para la mayoría de negocios, no tiene sentido implementar webhooks desde cero. Funnelchat te da toda la potencia de la API de WhatsApp con una interfaz visual. Superagentes IA incluidos.

Probar Funnelchat 3 días gratis →

Buenas prácticas para webhooks de WhatsApp en producción

Implementar un webhook que funcione en desarrollo es relativamente sencillo. Hacerlo de forma robusta en producción requiere considerar varios factores adicionales:

Checklist de producción para webhooks de WhatsApp

Respuesta inmediata (< 5 segundos)

Meta espera un HTTP 200 en menos de 5 segundos. Si tu lógica toma más, responde 200 inmediatamente y procesa con una queue (Redis/Bull, SQS, etc.).

🔁
Idempotencia en el procesamiento

Meta puede reenviar el mismo evento si no recibe respuesta. Guarda los IDs de mensaje procesados y verifica si ya los atendiste antes de procesarlos nuevamente.

🔒
Validar la firma del payload

Meta firma cada payload con tu App Secret. Valida el header X-Hub-Signature-256 para asegurarte de que el webhook viene realmente de Meta y no de un actor malicioso.

📊
Logging completo

Guarda todos los payloads entrantes durante al menos 7 días. Cuando algo falla, este historial es invaluable para debuggear.

🚨
Alertas de salud del webhook

Implementa un health check y alertas si tu webhook no recibe eventos en períodos esperados. Meta notifica en Business Manager cuando hay problemas de entrega.

Errores comunes al configurar webhooks de WhatsApp

Errores frecuentes en webhooks de WhatsApp y sus soluciones
ErrorCausa probableSolución
Webhook no verificadoURL no accesible o HTTPS inválidoVerificar que la URL responde con el challenge correctamente
No llegan eventosNo hay suscripción activaSuscribir el número de teléfono específico en el panel
Eventos duplicadosTimeout causando reintentos de MetaResponder 200 inmediatamente + idempotencia por wamid
Payload vacío en messagesEs un evento de status, no mensajeVerificar entry[0].changes[0].value.messages antes de acceder
Error 403 en verificaciónVerify token no coincideRevisar que el env var sea exactamente igual al token en Meta
Webhooks dejan de llegarApp deshabilitada o token expiradoRevisar estado de la app y renovar tokens en Business Manager

Automatiza WhatsApp con Funnelchat — sin gestionar webhooks

Funnelchat maneja toda la infraestructura técnica. Tú te enfocas en hacer crecer tu negocio. Meta Business Partner oficial con +10,000 clientes en 53 países.

Probar gratis 3 días →

Preguntas frecuentes sobre webhooks de WhatsApp

Preguntas frecuentes

Conclusión: webhooks como base de la automatización en WhatsApp

El <strong>webhook de WhatsApp</strong> es la pieza técnica fundamental de cualquier integración seria con la WhatsApp Business API. Configurarlo correctamente — con HTTPS, verify token, procesamiento asíncrono e idempotencia — es el primer paso para construir automatizaciones robustas. Para equipos técnicos que quieren control total, implementarlo directamente en la API de Meta es perfectamente viable. Para la mayoría de negocios, sin embargo, plataformas como Funnelchat abstraen toda esta complejidad y permiten enfocarse en lo que importa: las automatizaciones y la estrategia, no la infraestructura.

Automatiza WhatsApp sin preocuparte por webhooks ni infraestructura

Funnelchat — Meta Business Partner oficial — te da acceso a toda la potencia de la API de WhatsApp con una interfaz visual. Superagentes IA, Flows, broadcasts y más. Prueba gratis 3 días.

Empezar gratis — sin tarjeta →