WhatsApp Webhook
Este workflow gerencia o ciclo completo de recebimento de mensagens do WhatsApp:
- Valida o webhook com o Facebook (requisito da Meta)
- Recebe mensagens de múltiplos números WhatsApp
- Armazena logs para auditoria e análise
- Roteia cada mensagem para a inbox correta no Chatwoot
O Que Este Fluxo Faz
Fluxo 1: Validação do Webhook (GET)
- Trigger: Webhook GET
/meta - Função: Responde ao desafio de verificação do Facebook
- Resposta: Retorna o parâmetro
hub.challengerecebido - Uso: Executado uma vez durante a configuração inicial no Facebook Business Manager
Fluxo 2: Recebimento de Mensagens (POST)
- Recebe webhook do WhatsApp Business API no endpoint
/meta - Armazena no banco MySQL (tabela
webhook):payload: JSON completo da mensagemorigin: Número de telefone ou ID da conta WhatsApp Businesstype: "whatsapp"external_id: ID da mensagem do WhatsAppcreated_at: Timestamp
- Identifica o número de destino via Switch baseado no ID da conta WhatsApp Business (
entry[0].id)- ⚠️ Importante: O identificador usado é o ID da conta WhatsApp Business (ex:
1323147952771978), não o número de telefone - Este ID é obtido em: https://developers.facebook.com/ > Seu App > WhatsApp > Configuração > ID da conta do WhatsApp Business
- ⚠️ Importante: O identificador usado é o ID da conta WhatsApp Business (ex:
- Roteia para Chatwoot enviando POST para a URL específica de cada inbox:
- Formato:
https://chatwoot.zamply.com.br/webhooks/whatsapp/+55XXXXXXXXXXX - Body: Payload original do WhatsApp
- Formato:
Fluxo 3: Mensagens de Pedidos (Order Messages)
- Trigger: Mensagens do tipo
order(pedidos do catálogo) - Ação: Executa workflow separado para processamento especial de pedidos
- Modo: Assíncrono (não aguarda conclusão)
Setup
1. Configurar Webhook no Facebook Business Manager
- Acesse Meta for Developers > WhatsApp > Configuração
- Configure a URL do webhook:
https://n8n-queue.incibrasil.com.br/webhook/meta - Ao validar, o Facebook enviará um GET com
hub.challenge - Este workflow responderá automaticamente com o valor correto
2. Adicionar Novo Número WhatsApp
Para adicionar um novo número ao roteamento:
-
No nó Switch, clique em "Add Routing Rule"
-
Configure a condição:
- Campo:
{{ $('Whatsapp Messages').item.json.body.entry[0].id }} - Operador:
equals - Valor: ID da conta WhatsApp Business (obtido no Facebook)
- Nome da saída: Número no formato
+55 XX XXXX XXXX
- Campo:
-
Adicione um nó HTTP Request:
- Método: POST
- URL:
https://chatwoot.zamply.com.br/webhooks/whatsapp/+55XXXXXXXXXXX - Body Type: JSON
- JSON Body:
{{ $('Whatsapp Messages').item.json.body }}
-
Conecte a saída do Switch ao novo nó HTTP Request
Observações Importantes
- ✅ Este workflow deve estar sempre ativo (marcado como ativo no N8N)
- ✅ É um dos fluxos principais do sistema (tag:
principal_flow) - ⚠️ Mudanças neste workflow afetam todos os números WhatsApp configurados
- ⚠️ O ID da conta (
entry[0].id) é diferente do número de telefone - ⚠️ Cada número WhatsApp precisa ter uma inbox correspondente no Chatwoot