La suppression d'une pièce jointe de transition dans Zoho Desk nécessite un appel API ciblé qui référence le ticket, le brouillon de transition spécifique et la pièce jointe à supprimer — trois identifiants qui fonctionnent ensemble.
Pourquoi c'est important
Lorsque les agents travaillent sur des transitions de blueprint dans Zoho Desk, ils peuvent joindre des fichiers à un brouillon de transition avant de le soumettre. Si un fichier incorrect ou obsolète est joint, vous avez besoin d'un moyen propre de le supprimer par programmation sans affecter les autres pièces jointes ou fils du ticket. Cela est particulièrement pertinent pour les équipes qui automatisent les workflows de support via l'API REST de Zoho Desk.
> 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. Rassemblez les trois identifiants requis avant d'effectuer tout appel API : le ticketId du ticket en cours de transition, le transitionId du brouillon de transition de blueprint actif, et l'attachmentId du fichier spécifique que vous souhaitez supprimer. [1]
Étape 2. Si vous n'êtes pas sûr de l'attachmentId, récupérez d'abord la liste des pièces jointes du brouillon de transition en envoyant une requête GET à /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments. La réponse inclura les identifiants de tous les fichiers actuellement joints à ce brouillon. [7]
Étape 3. Une fois que vous disposez des trois identifiants, envoyez une requête DELETE vers le point de terminaison suivant :
DELETE /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}
Remplacez {ticketId}, {transitionId} et {attachmentId} par les valeurs réelles collectées lors des étapes précédentes. [1]
Étape 4. Si vous travaillez en Python, l'appel correspond à l'opération op16deleteattachmentof_transition. Une implémentation minimale ressemble à ceci : [1]
def op_16_delete_attachment_of_transition(self, ticketId: str, transitionId: str, attachmentId: str, p: dict = None):
return self.c.request(
"DELETE",
f"/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}",
p,
None
)
Transmettez votre contexte d'identification/session via self.c, et fournissez les trois identifiants de type chaîne en arguments. [1]
Étape 5. Confirmez la suppression en réexécutant la requête GET de l'étape 2. Si la liste des pièces jointes ne contient plus l'attachmentId cible, l'opération a réussi. [7]
---
Erreurs courantes
- Mauvais point de terminaison pour le mauvais type de pièce jointe. Zoho Desk expose plusieurs points de terminaison distincts pour la suppression de pièces jointes. Utilisez
/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}spécifiquement pour les pièces jointes de brouillons de transition. [1] Ne confondez *pas* cela avec le point de terminaison général des pièces jointes de ticket (/api/v1/tickets/{ticketId}/attachments/{attachmentId}) [6], le point de terminaison des pièces jointes au niveau du fil (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}) [2], ou le point de terminaison des pièces jointes de tâche (/api/v1/tasks/{taskId}/attachments/{attachmentId}). [5] Chacun cible une ressource différente.
transitionIdobsolète ou invalide. Les transitions de blueprint sont des objets brouillon liés à un état de workflow spécifique. Si la transition a déjà été soumise ou annulée, letransitionIdpeut ne plus être valide, et l'appel de suppression échouera. Vérifiez toujours que la transition est encore à l'état de brouillon avant de tenter la suppression. [1]
attachmentIdmanquant. Tenter le DELETE sans avoir préalablement confirmé l'attachmentIdvia le point de terminaison GET est une source courante d'erreurs 404. Utilisez le point de terminaison de liste pour confirmer que le fichier existe sur la transition avant de le supprimer. [7]
---
Ce qu'il faut vérifier
- Les trois identifiants sont corrects et à jour — confirmez que
ticketId,transitionIdetattachmentIdsont valides et que le brouillon de transition est toujours ouvert avant d'émettre le DELETE. [1] - Le bon point de terminaison est ciblé — vérifiez que vous appelez le chemin spécifique aux transitions, et non une route de pièces jointes au niveau du ticket ou du fil. [1][2][6]
- La suppression est confirmée — réexécutez le GET sur
/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachmentset vérifiez que le fichier supprimé n'apparaît plus dans la réponse. [7]