Beam Help
Demander de l'aide

How-to · Zoho DESK

Comment supprimer les pièces jointes d'une tâche dans Zoho Desk

Supprimez une pièce jointe spécifique d'une tâche.

La suppression d'une pièce jointe de tâche dans Zoho Desk via l'API nécessite une seule requête DELETE ciblant les identifiants spécifiques de la tâche et de la pièce jointe — aucun corps de requête n'est nécessaire.


Pourquoi c'est important


Lorsque vous automatisez des workflows Zoho Desk ou créez des intégrations, vous pouvez avoir besoin de supprimer par programmation des fichiers obsolètes ou incorrectement téléchargés depuis des tâches. Le nettoyage des pièces jointes de tâches maintient les enregistrements en ordre et évite que les agents n'agissent sur des informations périmées. Cela est particulièrement pertinent pour les équipes qui exécutent des scripts ou des outils back-office personnalisés via l'API Zoho Desk.


> Remarque : Beam Help est une ressource d'assistance experte indépendante — et non le support officiel de Zoho.


---


Étape par étape


Étape 1. Vérifiez que vos scopes OAuth sont en place.


Avant d'effectuer tout appel API, assurez-vous que votre token OAuth inclut le scope Desk.tasks.ALL ou Desk.tasks.DELETE. Sans la permission appropriée au niveau des tâches, l'API rejettera la requête. Vous pouvez vérifier ou mettre à jour votre liste de scopes dans la configuration de votre client OAuth. [7]


Étape 2. Rassemblez les identifiants requis.


Vous avez besoin de deux valeurs avant d'appeler l'endpoint :


  • taskId — l'identifiant unique de la tâche qui contient la pièce jointe.
  • attachmentId — l'identifiant unique du fichier spécifique que vous souhaitez supprimer.

Ces deux identifiants sont retournés lorsque vous listez ou récupérez des tâches et leurs pièces jointes via l'API Zoho Desk. Stockez-les sous forme de chaînes de caractères, car l'endpoint les traite comme des paramètres de chemin. [1]


Étape 3. Envoyez la requête DELETE.


Émettez une requête HTTP DELETE vers l'endpoint suivant, en remplaçant les identifiants par les vôtres :


DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}

Inclure votre token bearer OAuth dans l'en-tête Authorization. Aucun corps de requête n'est requis. [1]


En utilisant le modèle d'aide Python, l'appel ressemble à ceci :


response = desk_client.delete_task_attachment(
    taskId="your_task_id",
    attachmentId="your_attachment_id"
)

Une réponse réussie indique que la pièce jointe a été définitivement supprimée de la tâche. [1]


Étape 4. Gérez la réponse.


Un statut de succès 204 No Content ou équivalent confirme la suppression. Si vous recevez une erreur, vérifiez que les deux identifiants sont corrects et que le scope du token couvre les suppressions de tâches. [1] [7]


---


Erreurs courantes


  • Mauvais endpoint pour la mauvaise ressource. Zoho Desk expose des endpoints de suppression de pièces jointes distincts pour les tickets (/api/v1/tickets/{ticketid}/attachments/{attachmentid}), les fils de tickets (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}), les comptes (/api/v1/accounts/{accountId}/attachments/{attachmentId}), les articles du Help Center et les brouillons de transition. [4] [5] [3] [6] [8] Utiliser un endpoint de pièce jointe de ticket lorsque vous souhaitez supprimer une pièce jointe de *tâche* entraînera soit un échec, soit un ciblage silencieux du mauvais enregistrement — utilisez toujours /api/v1/tasks/{taskId}/attachments/{attachmentId} pour les pièces jointes de tâches. [1]

  • Scope OAuth insuffisant. Le scope Desk.tasks.DELETE ou Desk.tasks.ALL doit être présent dans votre token. Si vous n'avez accordé que des scopes de lecture ou d'écriture, l'appel de suppression sera rejeté. [7]

  • Confusion entre taskId et attachmentId. Ce sont des identifiants distincts. Passer un identifiant de pièce jointe là où un identifiant de tâche est attendu (ou vice versa) entraînera une erreur de type « non trouvé ». Vérifiez les deux valeurs avant d'appeler l'endpoint. [1]

  • Confusion avec l'endpoint des pièces jointes de produits. Il existe un endpoint distinct pour supprimer les pièces jointes des *produits* (/api/v1/products/{productId}/attachments/{attachmentId}), qui n'a aucun rapport avec les tâches. [2] Ne confondez pas les deux.

---


Ce qu'il faut vérifier


  • Chemin d'endpoint correct : Vérifiez que votre requête cible /api/v1/tasks/{taskId}/attachments/{attachmentId} et non une variante ticket, compte ou produit. [1]
  • Scope du token OAuth valide : Confirmez que Desk.tasks.ALL ou Desk.tasks.DELETE est inclus dans les scopes accordés à votre client OAuth. [7]
  • Identifiants exacts : Comparez taskId et attachmentId avec un appel API de liste récent pour vous assurer qu'aucun n'a changé ou n'a été mal copié. [1]

Sources cited

  1. [1] DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}
  2. [2] DELETE /api/v1/products/{productId}/attachments/{attachmentId}
  3. [3] DELETE /api/v1/accounts/{accountId}/attachments/{attachmentId}
  4. [4] DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}
  5. [5] DELETE /api/v1/tickets/{ticket_id}/attachments/{attachment_id}
  6. [6] DELETE /api/v1/helpcenter/{helpcenter_id}/articles/{article_id}/attachments/{attachment_id}
  7. [7] config.py
  8. [8] DELETE /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}
Supprimer une pièce jointe de tâche | Beam Help — Beam Help