L'eliminazione di una voce di tempo di un'attività in Zoho Desk tramite API richiede una singola richiesta DELETE autenticata che punta agli identificatori specifici dell'attività e della voce di tempo. Ecco tutto ciò che ti serve per farlo funzionare correttamente.
Perché è importante
Le voci di tempo registrate sulle attività in Zoho Desk influenzano i record di fatturazione, i report sulla produttività e i riepiloghi del carico di lavoro degli agenti. Se una voce è stata registrata per errore — durata sbagliata, attività sbagliata o duplicato — hai bisogno di un modo affidabile per rimuoverla a livello programmatico anziché cercarla nell'interfaccia utente. Questo è particolarmente utile quando si creano script di automazione o integrazioni che gestiscono il monitoraggio del tempo su larga scala.
Procedura passo dopo passo
Passaggio 1. Verifica che gli scope OAuth includano i permessi per le attività.
Prima di effettuare qualsiasi chiamata, verifica che il token OAuth di Zoho Desk connesso sia stato emesso con lo scope Desk.tasks.ALL o almeno Desk.tasks.DELETE. Senza questo, l'API rifiuterà la tua richiesta con un errore di autorizzazione. Questi scope devono essere dichiarati quando si generano per la prima volta le credenziali OAuth e non possono essere aggiunti retroattivamente senza una nuova autorizzazione. [2]
Passaggio 2. Raccogli i due identificatori richiesti.
Avrai bisogno esattamente di due valori:
taskId— l'identificatore univoco dell'attività a cui appartiene la voce di tempo.timeEntryId— l'identificatore univoco della specifica voce di tempo che vuoi rimuovere.
Entrambi gli ID vengono restituiti quando crei o elenchi le voci di tempo tramite l'API di Zoho Desk. Salvali al momento della creazione, oppure recuperali con una chiamata GET all'endpoint delle voci di tempo dell'attività prima di procedere. [1]
Passaggio 3. Invia la richiesta DELETE.
Esegui una richiesta HTTP DELETE al seguente endpoint, sostituendo i valori reali ai parametri del percorso:
DELETE /api/v1/tasks/{taskId}/timeEntries/{timeEntryId}
Un esempio con Python è il seguente:
# 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)
Il metodo invia una richiesta DELETE al percorso costruito e restituisce la risposta dell'API. [1]
Passaggio 4. Gestisci la risposta.
Un'eliminazione riuscita restituirà un HTTP 204 No Content o un payload di conferma a seconda della configurazione del portale Zoho Desk. Se la risposta contiene una chiave error, esamina il messaggio — le cause più comuni sono un ID non valido, uno scope insufficiente o la voce già eliminata in precedenza. [1]
---
> Nota: Beam Help è una risorsa di supporto esperto indipendente per i prodotti Zoho — non siamo il supporto ufficiale Zoho. Per problemi di fatturazione o a livello di account, contatta direttamente Zoho.
---
Errori comuni
- Endpoint errato per il tipo di record. Le voci di tempo possono esistere su attività, contatti e account — ognuno ha il proprio endpoint dedicato. Se chiami accidentalmente
DELETE /api/v1/contacts/{contactId}/timeEntries/{timeEntryId}oDELETE /api/v1/accounts/{accountId}/timeEntries/{timeEntryId}con un ID di voce di tempo basato su un'attività, la chiamata fallirà o punterà silenziosamente al record sbagliato. Abbina sempre l'endpoint al tipo di oggetto padre. [3][6]
- Token OAuth scaduto o mancante. Se il tuo token di accesso è scaduto, la richiesta verrà rifiutata prima di raggiungere la logica della voce di tempo. Implementa un controllo di aggiornamento del token prima di effettuare chiamate distruttive — una volta che un'eliminazione viene eseguita, non può essere annullata. [2]
taskIdetimeEntryIdpassati nell'ordine sbagliato. Entrambi i parametri sono stringhe semplici e l'SDK non ti avviserà se vengono scambiati. Verifica che l'ordine degli argomenti corrisponda a(taskId, timeEntryId)come definito nella firma del metodo. [1]
---
Cosa verificare
- Conferma dello scope: Verifica che il tuo token OAuth attivo includa
Desk.tasks.DELETEoDesk.tasks.ALLprima di eseguire l'eliminazione in produzione. [2] - Accuratezza degli ID: Confronta sia
taskIdchetimeEntryIdcon una risposta GET immediatamente prima dell'eliminazione per assicurarti di puntare al record corretto. [1] - Corrispondenza dell'endpoint: Conferma che la voce di tempo che vuoi rimuovere sia effettivamente collegata a un'attività — non a un contatto o un account — in modo da utilizzare il percorso API corretto. [3][6]