En n8n, si te encuentras con el error “ERROR: JSON parameter need to be a valid JSON” en un nodo HTTP Request de n8n, pero el mismo JSON funciona correctamente en Postman, aquí tienes algunas posibles causas y soluciones.
Posibles causas del error
- Formato incorrecto del JSON: El problema más común es la estructura del JSON. Asegúrate de que el JSON esté bien formado y que no tenga doble envoltura de llaves (
{{ }}
). - Uso incorrecto de expresiones en n8n: Si estás usando expresiones en n8n, revisa que la salida de la expresión sea un JSON válido.
- Cabeceras incorrectas: La cabecera
Content-Type: application/json
debe estar correctamente definida. - Autenticación fallida: Si la API requiere un token de autenticación, asegúrate de que está correctamente incluido en el encabezado de la solicitud.
- Diferencias en el manejo de JSON entre Postman y n8n: Postman maneja automáticamente algunos errores menores en JSON, mientras que n8n requiere un formato estricto.
Soluciones recomendadas
1. Verifica el JSON en n8n
Asegúrate de que el cuerpo de tu solicitud sea un objeto JSON válido, sin dobles llaves:
{
"number": "5541997692169",
"text": "Top, APIGRATIS!"
}
Si usas una expresión, encierra el JSON en JSON.stringify()
para asegurar que el formato sea correcto:
{{ JSON.stringify({
"number": "5541997692169",
"text": "Top, APIGRATIS!"
}) }}
2. Revisa la cabecera HTTP
Asegúrate de que Content-Type
esté bien configurado:
{
"Content-Type": "application/json"
}
Si usas expresiones, prueba este formato:
{{ JSON.stringify({ 'Content-Type': 'application/json', 'Authorization': 'Bearer TU_TOKEN' }) }}
3. Verifica la autenticación
Si recibes un error 401 - Authorization failed
, asegúrate de que la API espera un token Bearer y que este se está enviando correctamente en el encabezado:
{
"Authorization": "Bearer TU_TOKEN"
}
Prueba la autenticación enviando la solicitud a Webhook.site para verificar qué está enviando realmente n8n.
4. Usa herramientas externas para depuración
Si el error persiste, intenta enviar la solicitud desde n8n a un servicio como Webhook.site y revisa si la estructura y el encabezado del JSON son correctos.
Conclusión
Este error suele estar relacionado con una estructura JSON incorrecta o con problemas en las cabeceras. Siguiendo estos pasos, deberías poder solucionar el problema y hacer que tu solicitud funcione correctamente en n8n.
Sacado del foro de N8N