Curso N8n 1.0.2 - Bug no tópico: Seção 2 - Processador de Webhook de Pedidos

Parece que o curso n8n102 foi criado para fazer os alunos sofrerem. Primeiro, há um bug na seção 1 no SendToPriorityQueue que ainda não foi resolvido e, agora, a parte do Webhook simplesmente não pode ser seguida porque a página de testes requer https enquanto o tutorial usa http, então estou preso no início do exercício prático. Aqui está a captura de tela do erro de json/workflow:

{
“nodes”: [
{
“parameters”: {
“httpMethod”: “POST”,
“path”: “course/n8n102/new-order”,
“authentication”: “headerAuth”,
“responseMode”: “responseNode”,
“options”: {
“allowedOrigins”: “*”
}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
0,
0
],
“id”: “5b647ab0-18c4-41a4-bb01-62fddb40e0d7”,
“name”: “WebhookNewOrder”,
“webhookId”: “cb64f5fc-8c9c-4d7d-abb7-7f3ca5eb7305”,
“credentials”: {
“httpHeaderAuth”: {
“id”: “vMHAPkPKaravjcEZ”,
“name”: “n8n Academy API Key”
}
}
},
{
“parameters”: {
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “strict”,
“version”: 3
},
“conditions”: [
{
“id”: “dd887f0b-a710-4f6d-ae7b-4135da5667a8”,
“leftValue”: “={{ $json.body.order_id }}”,
“rightValue”: “”,
“operator”: {
“type”: “string”,
“operation”: “notEmpty”,
“singleValue”: true
}
},
{
“id”: “a7140c1e-23cc-4dba-9662-0059886cdb53”,
“leftValue”: “={{ $json.body.customer_id }}”,
“rightValue”: “”,
“operator”: {
“type”: “string”,
“operation”: “notEmpty”,
“singleValue”: true
}
},
{
“id”: “438dee60-5bcf-4002-927e-280813e11b18”,
“leftValue”: “={{ $json.body.total }}”,
“rightValue”: “”,
“operator”: {
“type”: “number”,
“operation”: “notEmpty”,
“singleValue”: true
}
}
],
“combinator”: “and”
},
“options”: {}
},
“type”: “n8n-nodes-base.if”,
“typeVersion”: 2.3,
“position”: [
208,
0
],
“id”: “9fb45b77-fe7c-4240-848b-deadf5cf8bc7”,
“name”: “ValidateRequiredFields”
},
{
“parameters”: {
“respondWith”: “json”,
“responseBody”: “={\n "status": "accepted",\n "order_id": "{{ $(‘WebhookNewOrder’).item.json.body.order_id }}",\n "message": "Order received and queued for processing"\n}”,
“options”: {
“responseCode”: 200
}
},
“type”: “n8n-nodes-base.respondToWebhook”,
“typeVersion”: 1.5,
“position”: [
416,
-96
],
“id”: “b945dafb-6e2f-461a-8534-414b735b7ab8”,
“name”: “RespondSuccess”
},
{
“parameters”: {
“respondWith”: “json”,
“responseBody”: “={\n "status": "error",\n "message": "Missing required fields: order_id, customer_id, and total are required"\n}”,
“options”: {
“responseCode”: 400
}
},
“type”: “n8n-nodes-base.respondToWebhook”,
“typeVersion”: 1.5,
“position”: [
416,
96
],
“id”: “b23fadc8-b731-444d-bc84-10cb1f7d9f38”,
“name”: “RespondValidationError”
}
],
“connections”: {
“WebhookNewOrder”: {
“main”: [
[
{
“node”: “ValidateRequiredFields”,
“type”: “main”,
“index”: 0
}
]
]
},
“ValidateRequiredFields”: {
“main”: [
[
{
“node”: “RespondSuccess”,
“type”: “main”,
“index”: 0
}
],
[
{
“node”: “RespondValidationError”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “1b202188b62737e64678f469a8e86b98e8d2c2147255e95f1e4af4dc019b5e9d”
}
}

@Usman_Waheed , você pode usar ngrok.
Lembre-se de atualizar a URL do webhook depois disso

O que é ngrok?

ngrok fornece um subdomínio https público para sua instalação n8n

Obrigado, mas será outro aprendizado para dedicar tempo. Não há nenhuma correção do tutorial/URL da Academia N8N?

@Usman_Waheed se ngrok parecer muito complicado, tente localtunnel - um único comando, sem conta:

npx localtunnel --port 5678

Ele te dá uma URL HTTPS pública instantaneamente. Cole-a como sua base de webhook no n8n e o exercício do curso funciona. Mantenha o terminal aberto enquanto você faz o exercício, feche-o quando terminar.

Estou completamente perdido em: Cole como seu webhook base no n8n e o exercício do curso funciona.
A partir do meu comando npx obtive a URL (e o terminal está aberto): https://blue-deer-press.loca.lt

então exatamente onde devo colocar essa URL, não vejo nenhum campo ‘Base URL’ em lugar nenhum no nó webhook ou em lugar nenhum no exercício, ou devo colocar essa URL na caixa de texto da página de teste (Webhook Tester - n8n Academy | N8N102)

???

Oi @Usman_Waheed, para responder diretamente sua última pergunta, você não cola a URL do localtunnel diretamente no nó webhook.

Aqui está exatamente o que fazer:

Passo 1: No n8n, vá para Configurações → Geral e encontre o campo “Webhook URL” ou “n8n URL”. Substitua o que estiver lá pela sua URL do localtunnel: https://blue-deer-press.loca.lt

Passo 2: Salve e volte para seu nó WebhookNewOrder e clique em “Copy Webhook URL” — agora deve mostrar sua URL do localtunnel em vez de localhost.

Passo 3: Cole a URL do webhook copiada na página de teste do curso em learn.app.n8n.cloud/webhook/course/n8n102/webhook-tester como a URL de destino.

Passo 4: Certifique-se de que seu workflow está no modo “Listen for test event” — clique no nó trigger e pressione esse botão antes de clicar em enviar na página de teste.

Um aviso sobre localtunnel: às vezes ele mostra uma página de aviso do navegador na primeira visita. Se as requisições não estiverem passando, abra https://blue-deer-press.loca.lt no seu navegador primeiro e aceite a solicitação, depois tente novamente o teste.

Não há essas configurações em lugar nenhum, cliquei em todas elas nesta captura de tela, mas em nenhum lugar diz configurações de URL do Webhook, não há configurações de ‘Geral’ também. Veja esta captura de tela

Tentei com o gemini para me guiar nos passos do ngrok, foi curto e fácil de fazer, obrigado meu teste passou permitindo-me prosseguir com o curso.

Como você resolveu isso com ngrok?

O Gemini enviou essas etapas, e eu as segui, e resolveram o problema:
Para obter essa URL https:// e passar por este módulo da Academy, você precisa usar um serviço de tunelamento de terceiros gratuito. O padrão da indústria (e o que o n8n agora recomenda oficialmente para desenvolvimento local) é o ngrok.

Aqui está a maneira mais rápida de contornar esse obstáculo:

Etapa 1: Mantenha o n8n Funcionando

Deixe a janela de prompt de comando atual aberta. Sua instância do n8n está funcionando perfeitamente em http://localhost:5678, e precisamos que ela permaneça ativa para receber os dados.

Etapa 2: Configure o ngrok

Vamos criar um túnel seguro e temporário da internet pública diretamente para sua porta local 5678.

  1. Acesse ngrok.com e crie uma conta gratuita.

  2. Baixe a versão do Windows e extraia o arquivo .exe.

  3. Abra um novo prompt de comando na pasta onde você extraiu o ngrok.

  4. Conecte sua conta colando o comando de autenticação mostrado no seu painel ngrok (é assim): ngrok config add-authtoken YOUR_AUTHTOKEN_HERE

  5. Inicie o túnel apontando para a porta do n8n: ngrok http 5678

Etapa 3: Construa sua Nova URL de Webhook

Quando você executar esse comando, o ngrok exibirá uma tela com uma URL de Encaminhamento que se parece com https://1234-abcd.ngrok-free.app.

Você não precisa que a interface do n8n exiba fisicamente essa URL para o teste funcionar. Você apenas precisa combinar seu novo domínio ngrok seguro com o caminho específico do seu webhook.

  • Seu domínio ngrok: https://1234-abcd.ngrok-free.app (substitua isso pela sua URL ngrok real)

  • Seu caminho de webhook: /webhook/course/n8n102/new-order

  • Sua URL de Produção FINAL: https://1234-abcd.ngrok-free.app/webhook/course/n8n102/new-order

Etapa 4: Passe na Avaliação da Academy

  1. Volte para o Testador de Webhook da Academy do n8n.

  2. Cole sua URL de Produção FINAL recém-construída (aquela que começa com https://) na caixa „Sua URL de Webhook