L'accès à l'endpoint Advanced Analytics de Zoho Desk nécessite un client API correctement authentifié avec les bons scopes OAuth et un identifiant d'organisation résolu. Une fois ces prérequis en place, une simple requête GET permet de récupérer les données analytiques.
Pourquoi c'est important
Les analyses avancées de Zoho Desk exposent des métriques agrégées — volumes de tickets, performance des agents, conformité aux SLA — qui ne sont pas toujours visibles dans les vues de liste standard. Les développeurs et les administrateurs qui intègrent les données de Desk dans des tableaux de bord ou des outils de copilote IA ont besoin d'un chemin programmatique fiable pour extraire ces informations. Configurer correctement les scopes OAuth et la résolution de l'organisation dès le départ évite des échecs silencieux difficiles à déboguer par la suite. *(Remarque : Beam Help est un support expert indépendant pour Zoho — nous ne sommes pas le support officiel de Zoho.)*
---
Étape par étape
Étape 1. Vérifiez que vos scopes OAuth incluent l'ensemble complet des permissions Zoho Desk avant de demander un token. La liste des scopes requis couvre les tickets, les contacts, les tâches, les événements, les articles, les données de base sur l'organisation/les agents, les paramètres et la recherche — par exemple Desk.tickets.ALL, Desk.basic.READ, Desk.settings.ALL et Desk.search.READ, entre autres. [2]
Étape 2. Configurez vos variables d'environnement. Vous avez au minimum besoin de ZOHOCLIENTID, ZOHOCLIENTSECRET et ZOHO_DC (le suffixe du centre de données tel que com, eu, in, etc.). Ces valeurs sont lues au démarrage et utilisées pour construire chaque appel API. [8]
Étape 3. Initialisez une instance ZohoDeskClient en transmettant le domaine API, un token d'accès valide et l'identifiant d'organisation (orgid) de votre portail Desk. Le client accepte également un callback tokenrefresher afin que les tokens expirés soient renouvelés automatiquement sans interrompre les processus de longue durée. [3]
Étape 4. Résolvez le orgid si vous ne l'avez pas déjà enregistré. Lors de la première connexion, appelez api.getall_organizations() et lisez le champ id du premier élément de la liste data retournée. Persistez cette valeur afin que les appels suivants puissent ignorer l'étape de découverte. [3]
Étape 5. Encapsulez votre ZohoDeskClient dans une instance ZohoDeskApi. Cet objet de niveau supérieur expose des méthodes nommées qui correspondent aux endpoints individuels de l'API Desk, ce qui permet de garder votre code appelant propre et lisible. [3]
Étape 6. Appelez l'endpoint des analyses avancées :
result = api.get_advanced_analytics(p={})
En interne, cela émet une requête GET vers /api/v1/doc/advancedanalytics, en transmettant tous les paramètres de requête que vous fournissez via le dictionnaire p. [1]
Étape 7. Traitez la réponse. La méthode retourne ce que l'API Zoho Desk renvoie — généralement un objet JSON. Inspectez les clés de premier niveau pour localiser les métriques ou les données de rapport dont votre intégration a besoin. [1]
---
Erreurs courantes
- En-tête
orgidmanquant. Zoho Desk exige que l'identifiant d'organisation soit présent dans chaque requête. Siorgidest une chaîne vide, le client tentera une découverte automatique, mais si cet appel échoue également (par exemple en raison d'un scopeDesk.basic.READinsuffisant), toutes les requêtes suivantes retourneront des erreurs d'autorisation. Vérifiez toujours que l'identifiant d'organisation est renseigné avant de continuer. [3]
- Liste de scopes incomplète. L'omission d'un seul scope requis — tel que
Desk.basic.READ— peut entraîner l'échec silencieux de la recherche d'organisation, ce qui se répercute ensuite sur unorg_idmanquant lors de l'appel analytique. Vérifiez attentivement la chaîne de scopes complète dans la configuration de votre application OAuth. [2]
- Mauvais domaine de centre de données. La valeur
ZOHO_DCdoit correspondre à la région dans laquelle votre compte Desk a été créé (eu,in,com.au,jpoucom). Une incompatibilité produit des réponses 401 ou 404 qui ressemblent à des erreurs de token. [8]
- Expiration du token en cours de session. Si vous ne configurez pas le callback
tokenrefresher, les scripts de longue durée échoueront une fois le token d'accès expiré. Le refresher interroge lerefreshtokenstocké, appelleZohoOAuth.refreshtokens()et réécrit le nouvelaccesstokendans la base de données. [3]
---
Points à vérifier
- Les scopes sont complets : Vérifiez que votre application OAuth dans la console API Zoho inclut chaque scope de
ZOHODESKSCOPES, en particulierDesk.basic.READetDesk.settings.ALL. [2] - Le
orgidest persisté : Après la première découverte d'organisation réussie, confirmez que la valeurdeskorg_idest enregistrée dans votre store de connexions afin d'être réutilisée à chaque appel API suivant. [3] - L'endpoint retourne des données, pas un objet d'erreur : Un appel réussi à
GET /api/v1/doc/advancedanalyticsdoit retourner un payload JSON structuré ; si vous recevez une clé d'erreur à la place, réexaminez la validité de votre token et la configuration de vos scopes. [1]