Recebendo Mensagens via Webhook
Visão geral
Quando um usuário do WhatsApp envia uma mensagem para um dos seus números conectados, o Muchaw DEV roteia essa mensagem para a sua URL de webhook. Este guia mostra como configurar um servidor de webhook que recebe e processa esses eventos com segurança.
Passo 1 — Crie um webhook
Salve o secret da resposta — você precisará dele para verificar as requisições recebidas.
Passo 2 — Construa o handler do webhook
Sempre responda com 200 antes de processar. O Muchaw DEV aguarda até 10 segundos por uma resposta. Se seu processamento demorar mais, responda imediatamente e processe o evento de forma assíncrona.
Passo 3 — Exponha seu servidor publicamente
Para desenvolvimento local, use um tunnel como o ngrok:
Atualize a URL do seu webhook para a URL do ngrok.
Passo 4 — Teste o webhook
Resposta:
Estrutura do evento de webhook
Todos os eventos seguem o mesmo envelope:
O formato de data depende do tipo de evento. Para eventos message.*, é um objeto Message. Para eventos number.*, é um objeto Number.
Lidando com retries
O Muchaw DEV tenta novamente os eventos até 3 vezes com backoff exponencial. Seu handler deve ser idempotente — processar o mesmo evento duas vezes não deve causar efeitos colaterais (registros duplicados, envios duplicados, etc.).
Use event.data.id como chave de deduplicação:
Em produção, use Redis ou seu banco de dados para deduplicação.