Migração 100% grátis na contratação semestral · nossa equipe migra tudo de qualquer provedor · novos clientes Migrar agora
Agente de IA no WhatsApp na API Oficial da Meta · somos Tech Provider aprovado · orçamento sob consulta Pedir orçamento
VPS com OpenClaw pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
VPS com Hermes Agent pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
Hospedagem com 30 dias de garantia · Não gostou? Devolvemos 100%, sem perguntas. Ver hospedagem

Webhooks en EvolutionAPI

Cómo configurar y recibir webhooks de EvolutionAPI con reintentos, idempotencia y seguridad en producción, con ejemplos de payload reales.

EvolutionAPI envía eventos vía webhook HTTP POST a una URL que tú defines. El webhook es la forma en que tu automatización (n8n, tu propia API, etc.) sabe que llegó un mensaje.

Eventos disponibles

EventoCuándo se dispara
MESSAGES_UPSERTMensaje recibido o enviado
MESSAGES_UPDATECambió el estado (entregado, leído)
CONNECTION_UPDATESe conectó/desconectó
PRESENCE_UPDATE”Escribiendo…” / en línea
QRCODE_UPDATEDNuevo QR para vincular

Configurar el webhook global

Configúralo al momento de crear la instancia:

curl -X POST https://sua-evolution.rollinhost.com.br/instance/create \
  -H "Content-Type: application/json" \
  -H "apikey: SUA_API_KEY" \
  -d '{
    "instanceName": "atendimento",
    "qrcode": true,
    "webhook": {
      "url": "https://seu-n8n.exemplo.com/webhook/whats-in",
      "events": ["MESSAGES_UPSERT", "CONNECTION_UPDATE"],
      "webhook_by_events": false
    }
  }'

Estructura del payload

{
  "event": "messages.upsert",
  "instance": "atendimento",
  "data": {
    "key": {
      "remoteJid": "5511999999999@s.whatsapp.net",
      "fromMe": false,
      "id": "3EB0..."
    },
    "pushName": "João Silva",
    "message": {
      "conversation": "Oi, gostaria de saber sobre os planos"
    },
    "messageTimestamp": 1735689600
  }
}

Reintentos e idempotencia

Buenas prácticas:

  1. Devuelve siempre 200 rápidamente (< 5s) y procesa en una cola
  2. Idempotencia por data.key.id: los webhooks pueden llegar duplicados en una reconexión
  3. Persiste el raw event antes de procesarlo (si hay un bug, lo reprocesas)

Seguridad

EvolutionAPI no firma los webhooks por defecto. Para garantizar que la solicitud vino de ella:

  • Restringe por IP en el firewall (solo la IP del servidor de Evolution)
  • Usa una URL con path secreto (/webhook/abc123-supersecreto)
  • Valida un apikey personalizado en el header (configúralo en n8n para verificarlo)

Próximos pasos

Última actualización: