@Federico_Gentile esse 404 significa que um GET realmente chegou ao nó mesmo que ele esteja configurado para POST, então algo está mudando o método, não a configuração do nó.
Duas causas comuns com ngrok:
Testar abrindo a URL no navegador. A barra de endereços sempre envia GET. Um POST tem que vir de curl/Postman ou Telegram.
Um redirect que rebaixa o método. Se você chamar a URL http:// do ngrok (ou clicar em um redirect de barra final), o 301/302 para https transforma seu POST em GET. Use a URL https do ngrok diretamente e configure WEBHOOK_URL=https://seu-dominio-ngrok para que o n8n emita https.
Como você está enviando a requisição com falha: navegador, curl ou Telegram setWebhook?
Muito obrigado pela resposta. Até agora estou enviando a solicitação pela barra de pesquisa do navegador, então essa pode ser uma razão. Se eu quiser testá-lo corretamente, o que você recomendaria usar então?
@Federico_Gentile isso, é isso aí, a barra de busca envia um GET então sempre vai bater naquele erro.
Para testar, envia um POST de verdade. O mais rápido é curl:
curl -X POST -H "Content-Type: application/json" -d '{"hello":"world"}' https://your-ngrok-domain/webhook-test/9390c7f6-894b-4948-9579-8d9ec556dc7b
Uma pegadinha com a Test URL: clica em “Listen for test event” primeiro, ela só captura um único request enquanto tá escutando ativamente. Postman também funciona, é só configurar o método para POST.
Para a configuração real do Telegram, muda para a Production URL, ativa o workflow e depois aponta o setWebhook do Telegram para aquela URL https. O Telegram manda updates como POST, então vai funcionar igual ao teu Telegram Trigger já faz.
O erro está acontecendo porque o Telegram está tentando acessar a URL do seu webhook com uma solicitação GET, enquanto seu nó Webhook do n8n está configurado para aceitar apenas solicitações POST.
Algumas coisas para verificar:
Certifique-se de que você está usando a URL de Produção (ou a URL de Teste ativa enquanto estiver ouvindo) do n8n e não abrindo a URL diretamente em um navegador. Navegadores enviam solicitações GET por padrão.
Verifique se o webhook do Telegram está registrado corretamente:
No n8n, clique em “Ouvir evento de teste” se estiver usando a URL de Teste. Webhooks de teste só funcionam enquanto o fluxo de trabalho estiver ouvindo ativamente.
Confirme que o caminho do Telegram Bot Trigger/Webhook corresponde exatamente ao caminho configurado no n8n e que o ngrok está encaminhando solicitações para a porta correta do n8n.
Se você visitar manualmente a URL do webhook em um navegador e vir:
{
"code": 404,
"message": "This webhook is not registered for GET requests. Did you mean to make a POST request?"
}
esse é um comportamento esperado, porque o endpoint aceita apenas solicitações POST.