La suppression d'une pièce jointe de thread dans Zoho Desk via l'API nécessite une requête DELETE ciblant la pièce jointe spécifique au sein du thread d'un ticket, en utilisant trois paramètres de chemin pour identifier précisément la ressource.
Pourquoi c'est important
Lors de la création d'intégrations ou de workflows d'automatisation sur Zoho Desk, vous pouvez avoir besoin de supprimer des pièces jointes de threads de tickets par programmation — par exemple, pour retirer des fichiers sensibles après traitement, appliquer des politiques de conservation des données, ou nettoyer des données de test. Connaître le bon endpoint et la structure des paramètres évite la suppression accidentelle d'une mauvaise ressource. Ce guide couvre spécifiquement l'endpoint limité au thread, et mentionne également la variante au niveau du ticket pour être complet. Comme toujours, Beam Help est un support expert indépendant pour Zoho — nous ne sommes pas le support officiel de Zoho.
Étape par étape
Étape 1. Rassemblez les trois identifiants requis avant d'effectuer tout appel API : le ticketid du ticket parent, le threadid du thread spécifique contenant la pièce jointe, et l'attachment_id du fichier que vous souhaitez supprimer. Les trois doivent être présents dans le chemin de la requête — l'omission de l'un d'eux ciblera une ressource différente ou retournera une erreur. [1]
Étape 2. Construisez votre requête DELETE vers l'endpoint de pièce jointe de thread. Le chemin complet suit ce modèle :
DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}
Remplacez chaque espace réservé par les ID de chaîne réels que vous avez collectés à l'étape 1. [1]
Étape 3. Envoyez la requête en utilisant votre client HTTP préféré ou le wrapper SDK de Zoho Desk. En Python, l'appel ressemble à ceci :
response = client.delete_attachment(
ticket_id="your_ticket_id",
thread_id="your_thread_id",
attachment_id="your_attachment_id"
)
La méthode émet un DELETE vers l'URL construite et retourne l'objet de réponse de l'API. [1]
Étape 4. Vérifiez le statut de la réponse HTTP. Une suppression réussie retourne généralement un code de statut 2xx. Si vous recevez une réponse 4xx, revérifiez les ID que vous avez fournis — une incohérence entre le threadid et le ticketid est une source courante d'erreurs 404.
Étape 5. Si votre cas d'usage implique la suppression d'une pièce jointe appartenant au ticket lui-même plutôt qu'à un thread spécifique, utilisez plutôt l'endpoint au niveau du ticket :
DELETE /api/v1/tickets/{ticketId}/attachments/{attachmentId}
Cette variante ne nécessite que ticketId et attachmentId — aucun thread_id n'est requis. [7]
Erreurs courantes
- Confusion entre les variantes d'endpoint. Zoho Desk expose plusieurs endpoints de suppression de pièces jointes pour différents types de ressources : threads [1], tickets [7], tâches [3], comptes [4], produits [6], articles du Help Center [8], et brouillons de transition [5]. Utiliser le mauvais endpoint pour votre type de ressource entraînera une erreur
404ou une erreur de permissions, même si l'ID de la pièce jointe est correct.
- Ordre incorrect des paramètres de chemin. L'endpoint de pièce jointe de thread requiert les paramètres dans l'ordre
ticketid → threadid → attachmentid. Inverserthreadidetattachment_iddans l'URL produira un chemin invalide. [1]
- Suppression accidentelle d'une pièce jointe de brouillon de transition. Si un ticket est en cours de transition (par exemple, en déplacement dans une étape de blueprint), ses pièces jointes de brouillon se trouvent sous un chemin distinct qui nécessite également un
transitionId. L'envoi d'une requête de suppression de thread standard n'affectera pas ces fichiers. [5]
Ce qu'il faut vérifier
- Confirmez que les trois ID sont corrects — vérifiez que le
threadidappartient bien auticketidque vous avez spécifié avant d'envoyer la requête. [1] - Vérifiez le code de statut de la réponse — assurez-vous d'avoir reçu une réponse
2xx; tout autre code signifie que la pièce jointe n'a pas été supprimée et vous devez inspecter le corps de l'erreur pour plus de détails. - Confirmez le bon endpoint pour votre ressource — si la pièce jointe se trouve sur une tâche, un compte ou un produit plutôt que sur un thread de ticket, utilisez l'endpoint correspondant (
/api/v1/tasks/,/api/v1/accounts/, ou/api/v1/products/) pour éviter une suppression échouée ou mal dirigée. [3][4][6]