← Volver al blog

Rastrear un campo de webhook de n8n que falta

Una lista de comprobación práctica para depurar y seguir un valor esperado desde la solicitud HTTP original, pasando por el nodo Webhook, las rutas JSON anidadas y las ejecuciones de producción, hasta los datos de ejecución conservados.

Persona rastreando un token de datos rosa a través de las secciones de una solicitud y de cajas anidadas.

Comprobado con las fuentes citadas el .

Empieza con una solicitud controlada

Cuando parezca que falta un campo de webhook, empieza por reducir la incertidumbre en el origen. Envía una solicitud controlada con un valor distintivo e inofensivo que sea fácil de reconocer, como una referencia temporal del tipo trace-4821. Confirma que el remitente esté llamando a la URL de webhook prevista y utilizando el método HTTP que espera el flujo de trabajo. Esta secuencia es una sugerencia editorial para solucionar problemas, no un método de diagnóstico validado, pero te proporciona una solicitud concreta que seguir en lugar de depender de un intento anterior ambiguo.

Conserva la solicitud completa mientras investigas. Una solicitud HTTP puede incluir metadatos descriptivos en sus encabezados y, opcionalmente, datos en su cuerpo. El valor que buscas también podría haber llegado mediante un parámetro de la URL o una cadena de consulta, según cómo haya construido la llamada el remitente. No empieces suponiendo que todos los campos se enviaron como JSON en el cuerpo.

Una primera comparación útil consiste en contrastar la solicitud sin procesar del remitente con lo que capturó el nodo Webhook. Comprueba por separado la URL de destino, el método, los encabezados y la carga útil. Si el valor distintivo no aparece en la solicitud sin procesar, el problema se produjo antes de que n8n recibiera ese intento. Si aparece, continúa rastreando dónde lo colocó el nodo Webhook.

Sources: S10, S1

Comprueba el formato antes de leer el cuerpo

Inspecciona el encabezado Content-Type antes de interpretar el cuerpo. Este encabezado indica al servidor receptor qué formato de contenido afirma haber enviado el cliente. Una carga útil JSON, el envío de un formulario y una solicitud multipart no deben tratarse como si fueran intercambiables. Los detalles del análisis pueden variar según la configuración del servidor, la versión de n8n y las opciones de la solicitud, así que describe lo que observes realmente en vez de presuponer un resultado concreto del analizador.

A continuación, compara la carga útil sin procesar con las secciones capturadas de la solicitud. Un orden de inspección práctico es headers, params, query y body, seguido de los datos binarios cuando la solicitud los utilice. Este orden es una lista de comprobación sugerida, no una secuencia demostrada universalmente. Su objetivo es hacer explícita la búsqueda: primero identifica la sección de la solicitud que contiene el valor y solo entonces escribe una expresión para acceder a él.

Por ejemplo, un remitente podría transmitir una referencia de cliente dentro de un cuerpo JSON anidado, adjuntar un valor de autorización a un encabezado o colocar un filtro en la cadena de consulta. Son posibilidades ilustrativas, no descripciones de tu flujo de trabajo. La distinción importante es que los metadatos y los datos de la solicitud ocupan ubicaciones diferentes, mientras que la implementación de Webhook expone los datos ordinarios de la solicitud en propiedades separadas: headers, params, query y body.

Sources: S10, S5, S1

Localiza el valor en la salida de Webhook

Contenedores anidados donde json contiene body, body contiene customer, customer contiene contact y contact contiene email, junto a secciones separadas de la solicitud.
Estructura ilustrativa de un campo que muestra por qué un valor anidado necesita una ruta que coincida con el elemento capturado.

Abre la salida capturada de Webhook y despliega su estructura en vez de buscar únicamente en el nivel superior. n8n transfiere los datos entre nodos como arrays de elementos, y el contenido ordinario de cada elemento está envuelto bajo json. Dentro de un elemento de Webhook, la solicitud se divide después en secciones como headers, params, query y body. Por tanto, un campo dentro de un cuerpo anidado necesita una ruta que refleje cada capa relevante.

Supongamos que el cuerpo capturado contiene visiblemente una estructura ilustrativa en la que customer contiene contact y contact contiene email. La referencia necesaria debe seguir ese anidamiento observado; buscar email directamente en la raíz del elemento apuntaría a una ubicación diferente. Considera este ejemplo únicamente como un modelo para leer la estructura. Tu expresión debe basarse en los nombres y el anidamiento que aparezcan en tu propia entrada capturada.

Comprueba las mayúsculas y minúsculas, la ortografía y las posiciones de los arrays tal como se muestran. Distingue también entre una clave ausente y otra cuyo valor esté vacío o sea null. Estos estados pueden exigir preguntas de seguimiento diferentes para el sistema remitente. En esta etapa, el objetivo no es reparar la carga útil, sino indicar con precisión qué contiene la salida de Webhook.

Sources: S1, S2

Construye y prueba la ruta JSON anidada exacta

Cuando puedas ver el valor, utiliza el mapeador del panel de entrada para arrastrar el campo hasta el parámetro correspondiente del nodo. n8n puede generar una expresión a partir de la ruta del campo entrante. Esto evita transcribir manualmente una referencia anidada larga, aunque aun así debes inspeccionar la expresión generada y probarla con el elemento capturado.

Compara la referencia generada con cualquier expresión que hayas escrito a mano. Avanza desde fuera hacia dentro: confirma el elemento actual, sus datos json, la sección de la solicitud y cada objeto o array anidado. Si falta una propiedad intermedia, no se puede llegar al campo final mediante esa ruta. Una pregunta de diagnóstico sugerida es: «¿En qué segmento exacto deja de coincidir la estructura observada con la expresión?». Se trata de una indicación editorial, no de un instrumento de evaluación validado.

Prueba la expresión con la misma solicitud controlada que utilizaste antes. Si el mapeador puede ver el valor, pero un nodo posterior no, compara la entrada real de ese nodo con la salida original de Webhook. Es posible que una transformación intermedia haya modificado la estructura del elemento. La documentación establece el modelo de elementos y el comportamiento del mapeador, pero no demuestra que esta secuencia sea óptima ni que reduzca el tiempo de depuración.

Sources: S2, S3

Compara las ejecuciones de prueba y producción

Comparación entre una solicitud de prueba en el banco de trabajo de un editor y una solicitud de producción almacenada en un archivador de ejecuciones.
Comparación conceptual de los lugares donde se inspeccionan las evidencias de webhooks de prueba y producción.

Una solicitud puede resultar difícil de encontrar simplemente porque estás mirando en el contexto de ejecución equivocado. La actividad del webhook de prueba aparece en el editor durante el procedimiento de prueba, mientras que la actividad del webhook de producción está disponible en la lista de ejecuciones. Si un sistema activo llamó a la URL de producción, no esperes que esa llamada aparezca como si fuera la prueba actual del editor.

Abre la ejecución de producción correspondiente e inspecciona allí la salida capturada del nodo Webhook. Compara su marca de tiempo y su valor distintivo con el registro de solicitudes del remitente y después contrasta sus headers, params, query y body. Evita utilizar una ejecución cercana solo porque parezca similar; las solicitudes repetidas pueden contener cargas útiles diferentes.

Cuando una ejecución anterior siga disponible, puede volver a cargarse en el lienzo para examinarla. Esto puede ayudarte a comparar los datos capturados con el flujo de trabajo actual. Recuerda que el flujo de trabajo actual podría diferir de la versión o configuración implicada en la ejecución anterior, así que basa cualquier conclusión en las pruebas visibles de esa ejecución en vez de tratarlas como demostración de lo que contenían todas las ejecuciones.

Sources: S6, S4

Ten en cuenta el guardado y la depuración de datos

Si no hay ninguna carga útil histórica disponible, comprueba si se guardaron los datos de ejecución y si las reglas de conservación o depuración los eliminaron. Los ajustes del flujo de trabajo pueden controlar qué datos de ejecución guarda n8n, mientras que la configuración de la instancia, la edición y las reglas de conservación pueden afectar a su disponibilidad. Estas condiciones y sus valores predeterminados pueden variar, así que verifica los ajustes del entorno que estés depurando.

Que falte el historial no demuestra que la solicitud nunca llegara. Significa que la ejecución histórica no está disponible en el lugar que comprobaste. Si resulta apropiado para el sistema y seguro para sus datos, reproduce la solicitud con un valor distintivo que no sea sensible y captura después la salida de Webhook resultante. Esa reproducción es un paso sugerido para solucionar problemas, no una prueba sobre la llamada original.

Termina con un breve registro de evidencias: el tipo de URL y el método utilizados, el Content-Type declarado, la sección de la solicitud que contiene el valor, la ruta exacta observada, el contexto de ejecución y si se conservaron los datos de ejecución. Esta lista de comprobación ayuda a mantener separadas las observaciones de las suposiciones. El comportamiento del webhook puede seguir variando según la versión, las opciones de cuerpo sin procesar o de datos binarios, las solicitudes multipart y la configuración de la instancia, así que documenta esos detalles cuando sean relevantes.

Sources: S5, S6, S8

Ponlo en práctica

Un saludo desde Valencia

Crea una dirección web que salude a quien la visite desde Valencia.

Inicial

Prueba un reto práctico

Para tu equipo

Programas de formación en n8n a medida para un equipo o departamento, en tu propia instancia de n8n y con tus herramientas y datos.

Formación para tu equipo