La suppression d'une entrée de temps de tâche dans Zoho Desk via l'API nécessite une seule requête DELETE authentifiée ciblant les identifiants spécifiques de la tâche et de l'entrée de temps. Voici tout ce dont vous avez besoin pour que cela fonctionne correctement.
Pourquoi c'est important
Les entrées de temps enregistrées pour des tâches dans Zoho Desk ont un impact sur les enregistrements de facturation, les rapports de productivité et les résumés de charge de travail des agents. Si une entrée a été enregistrée par erreur — durée incorrecte, mauvaise tâche ou doublon — vous avez besoin d'un moyen fiable de la supprimer par programmation plutôt que de la rechercher dans l'interface utilisateur. Cela est particulièrement utile lors de la création de scripts d'automatisation ou d'intégrations qui gèrent le suivi du temps à grande échelle.
Étape par étape
Étape 1. Vérifiez que vos scopes OAuth incluent les permissions de tâche.
Avant d'effectuer tout appel, vérifiez que votre token OAuth Zoho Desk connecté a été émis avec le scope Desk.tasks.ALL ou au minimum Desk.tasks.DELETE. Sans cela, l'API rejettera votre requête avec une erreur d'autorisation. Ces scopes doivent être déclarés lors de la première génération de vos identifiants OAuth et ne peuvent pas être ajoutés rétroactivement sans une nouvelle autorisation. [2]
Étape 2. Collectez les deux identifiants requis.
Vous aurez besoin de exactement deux valeurs :
taskId— l'identifiant unique de la tâche à laquelle appartient l'entrée de temps.timeEntryId— l'identifiant unique de l'entrée de temps spécifique que vous souhaitez supprimer.
Les deux identifiants sont retournés lorsque vous créez ou listez des entrées de temps via l'API Zoho Desk. Conservez-les au moment de la création, ou récupérez-les avec un appel GET vers l'endpoint des entrées de temps de la tâche avant de continuer. [1]
Étape 3. Envoyez la requête DELETE.
Émettez un DELETE HTTP vers l'endpoint suivant, en substituant vos valeurs réelles aux paramètres de chemin :
DELETE /api/v1/tasks/{taskId}/timeEntries/{timeEntryId}
Voici un exemple en Python :
# Assuming `api` is your initialised ZohoDeskApi client
result = api.delete_task_time_entry(
taskId="your_task_id_here",
timeEntryId="your_time_entry_id_here"
)
print(result)
La méthode envoie une requête DELETE vers le chemin construit et retourne la réponse de l'API. [1]
Étape 4. Gérez la réponse.
Une suppression réussie retournera un HTTP 204 No Content ou un payload de confirmation selon la configuration de votre portail Zoho Desk. Si la réponse contient une clé error, inspectez le message — les causes courantes sont un identifiant invalide, un scope insuffisant, ou l'entrée ayant déjà été supprimée. [1]
---
> Remarque : Beam Help est une ressource d'assistance experte indépendante pour les produits Zoho — nous ne sommes pas le support officiel de Zoho. Pour les problèmes de facturation ou au niveau du compte, contactez Zoho directement.
---
Erreurs courantes
- Mauvais endpoint pour le type d'enregistrement. Les entrées de temps peuvent exister sur des tâches, des contacts et des comptes — chacun possède son propre endpoint dédié. Si vous appelez accidentellement
DELETE /api/v1/contacts/{contactId}/timeEntries/{timeEntryId}ouDELETE /api/v1/accounts/{accountId}/timeEntries/{timeEntryId}avec un identifiant d'entrée de temps basé sur une tâche, l'appel échouera ou ciblera silencieusement le mauvais enregistrement. Faites toujours correspondre l'endpoint au type d'objet parent. [3][6]
- Token OAuth expiré ou manquant. Si votre token d'accès a expiré, la requête sera rejetée avant d'atteindre la logique d'entrée de temps. Implémentez une vérification de renouvellement du token avant d'effectuer des appels destructifs — une fois qu'une suppression est effectuée, elle ne peut pas être annulée. [2]
- Passage de
taskIdettimeEntryIddans le mauvais ordre. Les deux paramètres sont de simples chaînes de caractères et le SDK ne vous avertira pas s'ils sont inversés. Vérifiez que l'ordre des arguments correspond à(taskId, timeEntryId)tel que défini dans la signature de la méthode. [1]
---
Ce qu'il faut vérifier
- Confirmation du scope : Vérifiez que votre token OAuth actif inclut
Desk.tasks.DELETEouDesk.tasks.ALLavant d'exécuter la suppression en production. [2] - Exactitude des identifiants : Comparez
taskIdettimeEntryIdavec une réponse GET immédiatement avant la suppression pour vous assurer de cibler le bon enregistrement. [1] - Correspondance de l'endpoint : Confirmez que l'entrée de temps que vous souhaitez supprimer est bien attachée à une tâche — et non à un contact ou un compte — afin d'utiliser le bon chemin API. [3][6]