Estoy intentando conectar n8n a la API de Zoho usando OAuth 2.0 integrado
Después de probar y descartar. Me informaron que n8n no actualiza el token con el tipo de concesión correcto
«Hemos verificado el problema reportado con nuestro equipo de backend, y nuestros desarrolladores han identificado que el problema ocurre porque el parámetro grant_type no está configurado en refresh_token.»
Este es un comportamiento conocido de cómo n8n maneja OAuth2, pero generalmente es un problema de configuración en lugar de un error. n8n sí admite el tipo de concesión refresh_token, pero la API de Zoho es notoriamente estricta sobre cómo se formatea la solicitud de actualización (específicamente requiere que grant_type esté en el cuerpo de la solicitud y no en la cadena de consulta, y requiere credenciales de cliente específicas).
Dependiendo de qué bloque de credenciales estés utilizando, aquí te mostramos cómo resolver esto. Mira cuál aplica:
1)Si estás utilizando el nodo Zoho integrado, asegúrate de haber seleccionado la API de Zoho correcta (por ejemplo, Zoho CRM, Zoho Books) ya que tienen alcances diferentes.
2)Si estás utilizando el nodo HTTP Request con OAuth2 genérico, configura la credencial exactamente así:
Tipo de concesión:Authorization Code
URL de autorización:https://accounts.zoho.com/oauth/v2/auth
URL de token de acceso:https://accounts.zoho.com/oauth/v2/token
ID de cliente:[Tu ID de cliente de Zoho]
Secreto de cliente:[Tu secreto de cliente de Zoho]
Alcance: (Asegúrate de tener los alcances exactos requeridos, por ejemplo, ZohoCRM.modules.ALL)
Parámetros de consulta de URI de autenticación: Agrega access_type=offline y prompt=consent.
CRÍTICO: Sin access_type=offline, Zoho no emitirá un token de actualización, y n8n no podrá actualizar la sesión, lo que provocará el error que recibiste.
Hola @taamtera
n8n sí admite el grant de refresh_token, por lo que esta no es una característica faltante. El endpoint de token de Zoho es la excepción: su propia documentación lista grant_type, client_id, client_secret y refresh_token como parámetros de cadena de consulta para /oauth/v2/token y declara que el endpoint no los acepta enviados como un objeto body, por eso el equipo backend de Zoho no ve grant_type en la llamada de actualización.
La ruta confiable es dejar de depender de la actualización automática de la credencial y ejecutarla tú mismo. Obtén el refresh token una vez, almacénalo, luego actualiza con un nodo HTTP Request POSTing a la URL de cuentas de tu centro de datos con los parámetros en la cadena de consulta:
n8n soporta la concesión refresh-token. El cliente OAuth actual construye el cuerpo de la solicitud de token con refresh_token y grant_type: refresh_token. La credencial Zoho integrada utiliza el flujo de código de autorización, solicita access_type=offline, envía autenticación de cliente en el cuerpo y expone la URL de token de Zoho específica de la región.
No intentes seleccionar refresh_token como Grant Type inicial de la credencial. Es el paso de actualización dentro de una credencial de código de autorización, no una opción de configuración separada.
El detalle que falta es tu versión de n8n y el tipo de credencial exacto. Si se trata de la credencial Zoho integrada, confirma que su URL de token de acceso coincida con tu centro de datos de Zoho. Reconecta la credencial para que n8n almacene un token de actualización offline nuevo, luego reinténtalo.
Si Zoho aún registra una solicitud de token sin grant_type en la versión actual de n8n, ese es un bug reproducible. Incluye la versión, el tipo de credencial, el host del endpoint de token, más un registro de solicitud Zoho redactado en el informe. No incluyas tokens ni secretos de cliente.