Migração 100% grátis + 1 mês grátis com cupom MIGRAR1MES · novos clientes em planos até R$ 200/mês Migrar agora

Receber mensagens (webhook)

Configure o webhook da sua WhatsApp API para receber as mensagens que chegam em tempo real no n8n, Make ou no seu sistema — com filtro anti-loop.

Para sua automação reagir a mensagens que chegam, ela precisa receber um webhook: cada vez que entra uma mensagem, a API faz um POST com os dados dela para uma URL que você escolhe (do n8n, do Make ou do seu sistema).

Cliente manda mensagem  ──▶  WhatsApp API  ──▶  POST na sua URL (webhook)  ──▶  sua automação responde

Jeito fácil: ligar pelo painel

A forma mais simples — sem comando nenhum:

  1. Pegue a URL de webhook do seu destino:

    • n8n: crie um fluxo com o nó Webhook e copie a “Test URL” / “Production URL”. Veja Integrar no n8n.
    • Make: crie um cenário com o módulo Webhooks › Custom webhook e copie o endereço. Veja Integrar no Make.
    • Sistema próprio: use a URL pública (HTTPS) que recebe POST.
  2. No painel: Meus serviços → WhatsApp API → Gerenciar → seção Webhook.

  3. Marque Habilitar webhook, cole sua URL e clique em Salvar webhook.

O que chega no webhook

Quando uma mensagem entra, sua URL recebe um POST em JSON com os dados da mensagem. Os campos mais usados:

CampoO que é
messageidid da mensagem (use pra responder/reagir)
chatid / senderquem enviou (ex.: 5511999999999@s.whatsapp.net)
messageTypetipo (conversation, imageMessage, audioMessage…)
texto texto da mensagem (quando for texto)
fromMetrue se foi você quem enviou
messageTimestampdata/hora

Como ver o payload de verdade (recomendado)

Baixar mídia recebida (áudio, imagem, documento)

Quando chega uma mídia, o webhook traz o id da mensagem — mas o arquivo em si você baixa com POST /message/download:

curl -X POST https://rollin.uazapi.com/message/download \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN" \
  -d '{ "id": "ID_DA_MENSAGEM_RECEBIDA" }'

A resposta traz um fileURL (link para baixar) e o mimetype. Para transcrever um áudio em texto, mande "transcribe": true:

curl -X POST https://rollin.uazapi.com/message/download \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN" \
  -d '{ "id": "ID_DA_MENSAGEM_RECEBIDA", "transcribe": true }'

Boas práticas (evite perder mensagens)

Problemas comuns

SintomaCausaSolução
Webhook nunca chegaURL não é HTTPS públicapublique em HTTPS; teste com webhook.site
Chega em duplicidadereconexão / reenvioignore repetidos pelo messageid
Recebo minhas próprias mensagensfiltro anti-loop desligadomantenha wasSentByApi ligado (padrão)
n8n não capturafluxo não está “ouvindo”clique em Listen for test event antes de mandar a mensagem

Próximos passos

Última atualização: