Curso N8n 102 Error en el tema: Sección 2 - Procesador de Webhook de Pedidos

Parece que el curso n8n102 está diseñado para hacer sufrir a los estudiantes. Primero, hay un error en la sección 1 en SendToPriorityQueue que aún no se ha resuelto, y ahora la parte de Webhook simplemente no se puede seguir porque la página de prueba requiere https mientras que el tutorial usa http. De nuevo atrapado en grande justo al inicio del ejercicio práctico. Aquí está la captura de pantalla del error 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, puedes usar ngrok.
Recuerda actualizar la URL del webhook después de eso

¿Qué es ngrok?

ngrok le proporciona a tu instalación de n8n un subdominio https público

Gracias, pero será otro aprendizaje en el que gastar tiempo. ¿No hay alguna solución para el tutorial/URL de la academia de N8N?

@Usman_Waheed si ngrok te parece demasiado, prueba localtunnel - un solo comando, sin cuenta:

npx localtunnel --port 5678

Te da una URL HTTPS pública instantáneamente. Pégala como tu base de webhook en n8n y el ejercicio del curso funciona. Mantén la terminal abierta mientras haces el ejercicio, ciérrala cuando termines.

Estoy completamente perdido en: Pégalo como tu base de webhook en n8n y el ejercicio del curso funciona.
Del comando npx obtuve la URL (y la terminal está abierta): https://blue-deer-press.loca.lt

¿pero dónde exactamente la pongo?, no veo ningún campo ‘Base URL’ en ningún lugar del nodo webhook ni en ningún lugar del ejercicio, ¿o debería poner esta URL en el cuadro de texto de la página de prueba (Webhook Tester - n8n Academy | N8N102)?

???

Hola @Usman_Waheed, para responder directamente a tu última pregunta, no pegas la URL de localtunnel en el nodo webhook mismo.

Aquí está exactamente qué hacer:

Paso 1: En n8n, ve a Settings → General y busca el campo “Webhook URL” o “n8n URL”. Reemplaza lo que haya allí con tu URL de localtunnel: https://blue-deer-press.loca.lt

Paso 2: Guarda, luego vuelve a tu nodo WebhookNewOrder y haz clic en “Copy Webhook URL” debería mostrar tu URL de localtunnel en lugar de localhost.

Paso 3: Pega esa URL de webhook copiada en la página de prueba del curso en learn.app.n8n.cloud/webhook/course/n8n102/webhook-tester como la URL objetivo.

Paso 4: Asegúrate de que tu workflow esté en modo “Listen for test event” haz clic en el nodo trigger y presiona ese botón antes de hacer clic en enviar en la página de prueba.

Una advertencia con localtunnel: a veces muestra una página de advertencia del navegador en la primera visita. Si las solicitudes no están pasando, abre primero https://blue-deer-press.loca.lt en tu navegador y acepta el mensaje, luego reintentar la prueba.

No hay ninguna configuración de ese tipo en ningún lugar, hice clic en todas ellas en esta captura de pantalla pero en ningún sitio dice ninguna configuración de Webhook URL, tampoco hay ninguna configuración «General». Mira esta captura de pantalla

Intenté con gemini para que me guiara en los pasos de ngrok, fue corto y fácil de hacer, gracias a eso mi prueba pasó permitiéndome continuar con el curso.

¿Cómo lo resolviste con ngrok?

Gemini envió estos pasos, y los seguí, y solucionó el problema:
Para obtener esa URL https:// y pasar este módulo de Academy, necesitas usar un servicio de tunelización gratuito de terceros. El estándar de la industria (y lo que n8n ahora recomienda oficialmente para desarrollo local) es ngrok.

Aquí está la forma más rápida de superar este obstáculo:

Paso 1: Mantén n8n en ejecución

Deja abierta tu ventana de símbolo del sistema actual. Tu instancia de n8n se ejecuta perfectamente en http://localhost:5678, y necesitamos que se mantenga activa para recibir los datos.

Paso 2: Configura ngrok

Vamos a crear un puente seguro y temporal desde Internet público directamente a tu puerto local 5678.

  1. Ve a ngrok.com y crea una cuenta gratuita.

  2. Descarga la versión de Windows y extrae el archivo .exe.

  3. Abre un símbolo del sistema nuevo en la carpeta donde extrajiste ngrok.

  4. Conecta tu cuenta pegando el comando de autenticación que se muestra en tu panel de ngrok (se ve así): ngrok config add-authtoken YOUR_AUTHTOKEN_HERE

  5. Inicia el túnel apuntando al puerto de n8n: ngrok http 5678

Paso 3: Construye tu nueva URL de webhook

Cuando ejecutes ese comando, ngrok mostrará una pantalla con una URL de reenvío que se parece a https://1234-abcd.ngrok-free.app.

No necesitas que la UI de n8n muestre físicamente esta URL para que la prueba funcione. Solo necesitas combinar tu nuevo dominio seguro de ngrok con la ruta específica de tu webhook.

  • Tu dominio de ngrok: https://1234-abcd.ngrok-free.app (reemplaza esto con tu URL real de ngrok)

  • Tu ruta de webhook: /webhook/course/n8n102/new-order

  • Tu URL de producción FINAL: https://1234-abcd.ngrok-free.app/webhook/course/n8n102/new-order

Paso 4: Pasa la evaluación de Academy

  1. Vuelve al Probador de webhook de n8n Academy.

  2. Pega tu URL de producción FINAL recién construida (la que comienza con https://) en el cuadro «Tu URL de webhook».

  3. Asegúrate de que tu nodo de webhook en n8n esté configurado en Escuchar evento de prueba.

  4. Haz clic en Ejecutar pruebas del paso 1 en la página de Academy.

¡El probador de Academy validará exitosamente el enlace HTTPS, enviará la carga útil a través de ngrok, y ngrok la entregará directamente en tu flujo de trabajo de n8n local!

Nota: Si realmente quisieras que n8n mostrara esta nueva URL dentro de la UI del nodo de webhook, tendrías que detener n8n y reiniciarlo pasando una variable de entorno (por ejemplo, set WEBHOOK_URL=https://your-ngrok-url.app && npx n8n start). Sin embargo, para pasar esta prueba de Academy, pegar manualmente la URL de ngrok combinada en el probador es mucho más rápido y logra exactamente lo mismo.