Beam Help
Demander de l'aide

How-to · Zoho DESK

Comment obtenir le dernier fil de discussion dans Zoho Desk

Récupérez le fil de discussion le plus récent d'une conversation de ticket.

Récupérer le fil de discussion le plus récent d'un ticket Zoho Desk ne nécessite qu'un seul appel API — une fois votre connexion et vos scopes OAuth correctement configurés, vous pouvez obtenir le dernier fil pour n'importe quel ticket via son identifiant.


Pourquoi c'est important


Lorsque vous créez des automatisations, des chatbots ou des tableaux de bord de reporting sur Zoho Desk, vous n'avez souvent besoin que de la réponse la plus récente du client ou de l'agent, plutôt que de l'historique complet du fil. Récupérer directement le dernier fil évite de paginer à travers toutes les réponses et réduit la charge inutile sur l'API. Cela est particulièrement utile pour les workflows de triage qui doivent afficher rapidement le dernier message.


Étape par étape


Étape 1. Vérifiez que votre connexion OAuth Zoho Desk est active et que votre token inclut les scopes appropriés. Vous avez au minimum besoin de Desk.tickets.READ autorisé pour votre intégration. Un ensemble de scopes recommandé complet couvre également Desk.tickets.ALL, Desk.tickets.WRITE et les permissions de ticket associées. [4]


Étape 2. Assurez-vous que votre client Desk est initialisé avec un orgid valide. Lors de la construction du client API, le orgid est transmis avec le domaine API et le token d'accès. Si aucun orgid n'est encore enregistré, le système peut le découvrir automatiquement en appelant l'endpoint des organisations et en conservant le premier résultat. Sans un orgid valide, tous les appels à l'API Zoho Desk échoueront. [^1, ^6]


Étape 3. Assurez-vous que votre token d'accès est à jour avant d'appeler l'endpoint. Les tokens doivent être rafraîchis de manière proactive — une bonne règle est de les renouveler environ deux minutes avant leur expiration afin d'éviter les erreurs 401 en cours de requête. Le processus de rafraîchissement lit le refreshtoken stocké, l'échange contre un nouvel accesstoken et met à jour les identifiants enregistrés. [8]


Étape 4. Appelez l'endpoint du dernier fil via une requête GET vers :


GET /api/v1/tickets/{ticket_id}/threads/latest

Remplacez {ticket_id} par l'identifiant numérique ou textuel du ticket que vous interrogez. Vous pouvez également transmettre des paramètres de requête optionnels via le dictionnaire p (par exemple, pour filtrer ou sélectionner des champs). [2]


En Python, en utilisant le wrapper ZohoDeskApi, cela ressemble à :


result = api.get_latest_thread(ticket_id="123456", p={})

La méthode émet une requête GET vers le chemin ci-dessus et retourne la réponse analysée contenant l'objet du dernier fil. [2]


Étape 5. Traitez la réponse. L'objet retourné contiendra les données du fil correspondant à la réponse la plus récente sur ce ticket. Si le ticket ne possède pas encore de fils, attendez-vous à un résultat vide ou nul et gérez ce cas de manière appropriée dans votre code. [2]


Erreurs courantes


  • orgid manquant : Zoho Desk exige l'identifiant d'organisation sur chaque requête. Si votre enregistrement de connexion ne contient pas deskorgid, le client tentera de le découvrir automatiquement — mais si cet appel de découverte échoue également (par exemple en raison d'un token expiré), tous les appels suivants renverront une erreur. Vérifiez toujours que orgid est renseigné avant d'effectuer des appels de ticket. [^1, ^6]

  • Scopes OAuth insuffisants : Si votre token OAuth a été généré sans Desk.tickets.READ (ou Desk.tickets.ALL), l'API retournera une erreur de permissions. Réautorisez la connexion avec la liste complète des scopes recommandés. [4]

  • Tokens d'accès périmés : Les tokens expirés provoqueront des réponses 401. La couche de connexion devrait rafraîchir les tokens automatiquement, mais si le refreshtoken lui-même est invalide ou révoqué, le rafraîchissement ne retournera aucun accesstoken et l'appel API ne pourra pas aboutir. [8]

  • apptype incorrect : Lors de l'initialisation du client API, vous devez passer explicitement apptype="desk". Passer "crm" instanciera le client CRM à la place, qui n'expose pas les endpoints de tickets Desk. [1]

Ce qu'il faut vérifier


  • Vérifiez que deskorgid est enregistré dans votre connexion et que la propriété org_id du client Desk n'est pas vide avant d'effectuer des appels à l'API de tickets. [^1, ^6]
  • Confirmez que les scopes OAuth de votre token actif incluent au moins Desk.tickets.READ. [4]
  • Après avoir appelé l'endpoint, vérifiez que l'objet fil retourné n'est pas nul et contient les champs attendus (expéditeur, contenu, horodatage) avant de le transmettre en aval. [2]

---


*Beam Help fournit une assistance experte indépendante pour les produits Zoho et ne constitue pas le support officiel de Zoho. Référez-vous toujours à la documentation officielle de Zoho pour la référence API faisant autorité.*

Sources cited

  1. [1] server.py: get_zoho_api
  2. [2] GET /api/v1/tickets/{ticket_id}/threads/latest
  3. [3] server.py: chat_plan_stream
  4. [4] config.py
  5. [5] server.py: chat_stream
  6. [6] server.py: me
  7. [7] server.py: get_zoho_connection
Obtenir le dernier fil | Beam Help — Beam Help