Descreva o problema/erro/pergunta
Por favor, compartilhe seu fluxo de trabalho
(Selecione os nós na sua tela e use os atalhos do teclado CMD+C/CTRL+C e CMD+V/CTRL+V para copiar e colar o fluxo de trabalho.)
Compartilhe a saída retornada pelo último nó
Informações sobre sua configuração do n8n
- Versão do n8n:
- Banco de dados (padrão: SQLite):
- Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main):
- Executando n8n via (Docker, npm, n8n cloud, aplicativo desktop):
- Sistema operacional:
Bem, você não forneceu muitas informações aqui, mas a causa mais comum desse erro exato é o formato da sua resposta — o Meta precisa do hub.challenge enviado de volta como texto simples, não JSON. Então verifique seu nó Respond to Webhook e certifique-se de que “Respond With” está definido como Text, não JSON, com o corpo sendo apenas {{$json.query["hub.challenge"]}} e nada envolvendo isso. Se estiver definido como JSON, isso sozinho causaria esse problema.
Além disso: certifique-se de que seu fluxo de trabalho está ativo e usando a URL de produção (não a de teste, já que o Meta não estará ouvindo você clicar em “test event”). Certifique-se de que está configurado para aceitar GET. Certifique-se de que o token corresponde exatamente, sem espaços ou caracteres especiais estranhos. E verifique o log de execução para garantir que seus nós realmente ficaram verdes quando o Meta tenta verificar.
Mas se você já tiver tudo isso certo, me diga qual é o “Respond With” definido atualmente e qual é a expressão “Response Body”, e provavelmente consigo identificar de lá.
dSavage cobriu bem os principais suspeitos. Uma pequena adição: depois que você corrigir o formato Respond With e refizer o teste, observe a aba Executions em tempo real (filtre para “All” em vez de apenas “Latest”) enquanto a verificação do Meta é disparada — é fácil perder a execução se ela rodar e se completar instantaneamente antes de você atualizar. Se ainda não vir nada aparecer lá, verifique novamente se a URL do workflow que você registrou no Meta corresponde exatamente à URL do webhook de produção, incluindo barras finais ou a falta delas.
Obrigado pela sua resposta, vou verificar suas sugestões
Atenciosamente,
Stanley
Oi @Stanley_Wilson,
Este erro geralmente ocorre quando o Meta tenta enviar um desafio de verificação GET para seu webhook n8n, mas o n8n não responde com o token hub.challenge esperado durante o handshake.
Aqui estão algumas coisas rápidas para verificar:
- Status do Workflow e Tipo de URL:
- Se você está usando a URL do Webhook de Produção, certifique-se de que o workflow está ativado no canto superior direito antes de clicar em “Verify and Save” (Verificar e Salvar) no Meta.
- Se você está testando com a URL do Webhook de Teste, clique em “Listen for Test Event” (Ouça o Evento de Teste) no n8n primeiro e depois clique imediatamente em “Verify and Save” (Verificar e Salvar) no Meta dentro da janela de tempo limite.
-
Verificar Correspondência do Token:
Verifique novamente se a string “Verify Token” (Token de Verificação) no painel do Meta corresponde 100% (caractere por caractere, sensível a maiúsculas e minúsculas) com o token configurado dentro do seu nó Trigger/nó Webhook no n8n.
-
Configuração do Nó Trigger:
Se você está usando um nó Webhook padrão (em vez do nó Trigger oficial do WhatsApp/Meta), certifique-se de que o nó está configurado para lidar com requisições GET para a etapa de verificação e retorna {{ $json.query['hub.challenge'] }} como texto.
Se você já verificou esses itens e ainda está falhando, fique à vontade para compartilhar uma captura de tela da configuração do seu nó trigger no n8n ou me enviar uma mensagem direta — posso ajudar você a solucionar o fluxo de payload diretamente!
Confirme se o fluxo de trabalho está ativo e se o chamador usa a URL de produção em vez da URL de teste temporária. Se o n8n está atrás de um proxy, verifique WEBHOOK_URL e os headers de host encaminhado e protocolo, pois uma URL base pública incorreta pode registrar o endpoint errado.