Acceder al endpoint de análisis avanzados en Zoho Desk requiere un cliente de API correctamente autenticado con los scopes de OAuth adecuados y un ID de organización resuelto. Una vez cumplidos esos requisitos previos, una única solicitud GET recupera los datos de análisis.
Por qué esto es importante
Los análisis avanzados de Zoho Desk exponen métricas agregadas — volúmenes de tickets, rendimiento de agentes, cumplimiento de SLA — que no siempre son visibles en las vistas de lista estándar. Los desarrolladores y administradores que integran datos de Desk en dashboards o herramientas de copiloto de IA necesitan una ruta programática fiable para extraer esta información. Configurar correctamente los scopes de OAuth y la resolución de la organización desde el principio evita fallos silenciosos que son difíciles de depurar más adelante. *(Nota: Beam Help es soporte experto independiente para Zoho — no somos el soporte oficial de Zoho.)*
---
Paso a paso
Paso 1. Confirma que tus scopes de OAuth incluyen el conjunto completo de permisos de Zoho Desk antes de solicitar un token. La lista de scopes requeridos abarca tickets, contactos, tareas, eventos, artículos, datos básicos de organización/agente, configuración y búsqueda — por ejemplo Desk.tickets.ALL, Desk.basic.READ, Desk.settings.ALL y Desk.search.READ, entre otros. [2]
Paso 2. Configura tus variables de entorno. Como mínimo necesitas ZOHOCLIENTID, ZOHOCLIENTSECRET y ZOHO_DC (el sufijo del centro de datos, como com, eu, in, etc.). Estos valores se leen al inicio y se utilizan para construir cada llamada a la API. [8]
Paso 3. Inicializa una instancia de ZohoDeskClient pasando el dominio de la API, un token de acceso válido y el ID de organización (orgid) de tu portal de Desk. El cliente también acepta un callback tokenrefresher para que los tokens expirados se renueven automáticamente sin interrumpir procesos de larga duración. [3]
Paso 4. Resuelve el orgid si aún no lo tienes almacenado. En la primera conexión, llama a api.getall_organizations() y lee el campo id del primer elemento de la lista data devuelta. Persiste este valor para que las llamadas posteriores puedan omitir el paso de descubrimiento. [3]
Paso 5. Envuelve tu ZohoDeskClient en una instancia de ZohoDeskApi. Este objeto de nivel superior expone métodos con nombre que se corresponden con los endpoints individuales de la API de Desk, manteniendo limpio el código de llamada. [3]
Paso 6. Llama al endpoint de análisis avanzados:
result = api.get_advanced_analytics(p={})
Internamente, esto emite una solicitud GET a /api/v1/doc/advancedanalytics, reenviando cualquier parámetro de consulta que proporciones mediante el diccionario p. [1]
Paso 7. Gestiona la respuesta. El método devuelve lo que la API de Zoho Desk retorna — normalmente un objeto JSON. Inspecciona las claves de nivel superior para localizar las métricas o los datos del informe que necesita tu integración. [1]
---
Errores comunes
- Falta el encabezado
orgid. Zoho Desk requiere que el ID de organización esté presente en cada solicitud. Siorgides una cadena vacía, el cliente intentará el autodescubrimiento, pero si esa llamada también falla (por ejemplo, por un scopeDesk.basic.READinsuficiente), todas las solicitudes posteriores devolverán errores de autorización. Verifica siempre que el ID de organización esté completado antes de continuar. [3]
- Lista de scopes incompleta. Omitir incluso un scope requerido — como
Desk.basic.READ— puede provocar que la búsqueda de la organización falle silenciosamente, lo que a su vez genera unorg_idausente en la llamada de análisis. Comprueba minuciosamente la cadena de scopes completa en la configuración de tu aplicación OAuth. [2]
- Dominio del centro de datos incorrecto. El valor de
ZOHO_DCdebe coincidir con la región donde se creó tu cuenta de Desk (eu,in,com.au,jpocom). Una discrepancia produce respuestas 401 o 404 que son idénticas a los errores de token. [8]
- Expiración del token durante la sesión. Si no configuras el callback
tokenrefresher, los scripts de larga duración fallarán una vez que expire el token de acceso. El refresher consulta elrefreshtokenalmacenado, llama aZohoOAuth.refreshtokens()y escribe el nuevoaccesstokende vuelta en la base de datos. [3]
---
Qué verificar
- Los scopes están completos: Verifica que tu aplicación OAuth en la Consola de API de Zoho incluya todos los scopes de
ZOHODESKSCOPES, especialmenteDesk.basic.READyDesk.settings.ALL. [2] - El
orgidestá persistido: Tras el primer descubrimiento exitoso de la organización, confirma que el valordeskorg_idse ha guardado en tu almacén de conexiones para que se reutilice en cada llamada posterior a la API. [3] - El endpoint devuelve datos, no un objeto de error: Una llamada exitosa a
GET /api/v1/doc/advancedanalyticsdebe devolver un payload JSON estructurado; si en cambio recibes una clave de error, vuelve a examinar la validez de tu token y la configuración de scopes. [1]