La suppression d'une pièce jointe d'un produit dans Zoho Desk s'effectue via un unique appel API DELETE ciblant le produit et la pièce jointe concernés par leurs identifiants respectifs. Cet article vous guide à travers l'endpoint, les paramètres requis et un exemple Python prêt à l'emploi.
Pourquoi c'est important
Lorsque vous gérez votre catalogue de produits dans Zoho Desk, des fichiers obsolètes ou incorrects attachés à une fiche produit peuvent semer la confusion chez les agents et les clients. La suppression programmatique des pièces jointes périmées est essentielle pour les équipes qui automatisent la maintenance du catalogue ou intègrent Zoho Desk à des systèmes externes. Connaître le bon endpoint vous permet également d'éviter de supprimer accidentellement des pièces jointes liées à des tickets, des tâches ou d'autres types d'enregistrements — chacun utilisant un chemin API différent.
> Remarque : Beam Help est une ressource d'assistance experte indépendante, et non le support officiel de Zoho.
---
Étape par étape
Étape 1. Identifiez votre productId et votre attachmentId.
Avant d'effectuer tout appel API, vous avez besoin de deux informations : l'identifiant unique de la fiche produit (productId) et l'identifiant unique du fichier qui y est attaché (attachmentId). Ces deux valeurs sont des chaînes de caractères. Vous pouvez les récupérer depuis l'interface de Zoho Desk ou en interrogeant préalablement l'API des produits. [1]
Étape 2. Construisez la requête DELETE.
L'endpoint permettant de supprimer une pièce jointe d'un produit suit ce schéma :
DELETE /api/v1/products/{productId}/attachments/{attachmentId}
Remplacez {productId} et {attachmentId} par les valeurs de chaînes réelles collectées à l'étape 1. [1]
Étape 3. Authentifiez-vous et envoyez la requête.
L'API de Zoho Desk requiert un token OAuth 2.0 valide dans l'en-tête Authorization. Une fois votre token en place, émettez la requête DELETE. Aucun corps de requête n'est nécessaire — la ressource est entièrement identifiée par le chemin de l'URL. [1]
Étape 4. Utilisez l'assistant Python (optionnel).
Si votre intégration est basée sur Python, l'appel correspond à la méthode deleteanattachment présentée ci-dessous. Transmettez vos identifiants sous forme de chaînes et fournissez éventuellement un dictionnaire p pour tout paramètre de requête supplémentaire requis par votre configuration : [1]
def delete_an_attachment(self, productId: str, attachmentId: str, p: dict = None):
"""Delete an Attachment from a product record"""
return self.c.request(
"DELETE",
f"/api/v1/products/{productId}/attachments/{attachmentId}",
p,
None
)
Appellez-la ainsi :
result = client.delete_an_attachment(
productId="123456789",
attachmentId="987654321"
)
Étape 5. Confirmez la suppression.
Une réponse réussie retourne généralement un statut HTTP 200 ou 204 sans corps, indiquant que la pièce jointe a bien été supprimée. Si vous recevez une erreur, consultez la section de dépannage ci-dessous. [1]
---
Erreurs courantes
- Mauvais endpoint pour le type d'enregistrement. Zoho Desk expose des endpoints de suppression de pièces jointes distincts pour les tickets (
/api/v1/tickets/{ticketId}/attachments/{attachmentId}), les comptes (/api/v1/accounts/{accountId}/attachments/{attachmentId}), les tâches (/api/v1/tasks/{taskId}/attachments/{attachmentId}), les fils de tickets (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}), les brouillons de transition de tickets et les articles du Help Center. [^2,3,4,5,6,7,8] Utiliser un endpoint de pièce jointe de ticket avec un ID de produit — ou inversement — entraînera une erreur de ressource introuvable. Vérifiez toujours que vous ciblez/api/v1/products/…lorsque vous travaillez avec des fiches produits. [1]
- Identifiants inversés. Le
productIdet l'attachmentIddoivent apparaître aux positions correctes dans le chemin de l'URL. Les inverser provoquera l'échec de la requête ou, dans le pire des cas, ciblera une ressource non souhaitée. [1]
- Token OAuth expiré ou manquant. Le verbe
DELETErequiert la même session authentifiée que tout autre appel à l'API Zoho Desk. Assurez-vous que votre token n'a pas expiré et que le scope OAuth associé couvre la gestion des fiches produits. [1]
---
Points à vérifier
- Segments de chemin corrects : Vérifiez que l'URL est bien
/api/v1/products/{productId}/attachments/{attachmentId}— et non une variante ticket, tâche ou compte — avant d'exécuter l'appel. [1] - Identifiants valides : Confirmez que le
productIdet l'attachmentIdexistent bien dans votre portail Zoho Desk en les croisant avec la fiche produit dans l'interface ou via une requête GET préalable. [1] - Statut de la réponse HTTP : Une réponse
200ou204confirme le succès ; un404signifie qu'un ou les deux identifiants sont introuvables, et un401/403indique un problème d'authentification ou de permissions. [1]