Per recuperare il timer attivo di un'attività in Zoho Desk è sufficiente una singola richiesta GET autenticata alla sotto-risorsa activeTimer dell'attività, che restituisce il timer attualmente in esecuzione per quell'attività.
Perché è importante
Quando il tuo team di supporto tiene traccia delle ore fatturabili o della conformità agli SLA tramite le attività di Zoho Desk, potresti dover verificare a livello programmatico se un timer è già in esecuzione prima di avviarne uno nuovo. Recuperare il timer attivo ti consente di mostrare dati di monitoraggio del tempo in tempo reale nelle dashboard, prevenire timer duplicati o inviare il tempo trascorso agli strumenti di reportistica a valle. Questo è diverso dal recuperare l'intera cronologia dei timer per un'attività, che utilizza un endpoint separato.
---
Procedura passo dopo passo
Passaggio 1. Verifica di disporre di una connessione API Zoho Desk valida con un access token OAuth attivo e il corretto orgId per il tuo portale. Senza questi elementi, ogni chiamata API verrà rifiutata prima di raggiungere la risorsa timer. [7]
Passaggio 2. Identifica il taskId dell'attività di cui vuoi esaminare il timer attivo. Si tratta dell'identificatore univoco che Zoho Desk assegna a ogni record di attività — puoi recuperarlo da una precedente chiamata di elenco attività o dall'URL dell'attività nell'interfaccia di Desk. [1]
Passaggio 3. Invia una richiesta GET al seguente endpoint, sostituendo il tuo ID attività reale:
GET /api/v1/tasks/{taskId}/activeTimer
Includi l'intestazione Authorization: Zoho-oauthtoken <access_token> e l'intestazione orgId richiesta da Zoho Desk. [1]
Passaggio 4. Facoltativamente, passa i parametri di query tramite il dizionario p se la tua integrazione deve filtrare o paginare la risposta. La firma dell'operazione accetta un parametro p opzionale a questo scopo. [1]
Passaggio 5. Se utilizzi il wrapper client Python con cui lavora il nostro team, la chiamata si presenta così:
result = api.get_active_timer_for_a_2(taskId="your_task_id_here")
Il metodo esegue internamente la richiesta GET e restituisce la risposta analizzata. [1]
Passaggio 6. Analizza il corpo della risposta. Un timer in esecuzione sarà presente nel payload; se nessun timer è attualmente attivo, la risposta restituirà in genere un oggetto dati vuoto o null anziché un errore.
---
Non confondere questi tre endpoint
Zoho Desk espone risorse activeTimer simili a livelli diversi — è facile chiamare quella sbagliata:
| Cosa vuoi ottenere | Endpoint |
|---|---|
| Timer attivo per un'attività | GET /api/v1/tasks/{taskId}/activeTimer [1] |
| Timer attivo per un ticket | GET /api/v1/tickets/{ticketId}/activeTimer [2] |
| Timer attivo per un agente | GET /api/v1/agents/{agentId}/activeTimer [4] |
Confondere taskId e ticketId è l'errore più comune — le attività e i ticket sono oggetti separati in Zoho Desk e i loro ID non sono intercambiabili. [1][2]
Esiste anche un endpoint correlato ma diverso che vale la pena conoscere:
GET /api/v1/tasks/{taskId}/timer
Questo recupera il record timer generale di un'attività anziché specificamente il timer *attivo* (attualmente in esecuzione). Usa activeTimer quando ti interessa solo ciò che è in esecuzione in questo momento. [6]
---
Errori comuni
- Tipo di risorsa errato. Passare un ID ticket all'endpoint dell'attività (o viceversa) restituirà un 404 o un record non correlato. Verifica sempre a quale tipo di oggetto appartiene il tuo ID prima di effettuare la chiamata. [1][2]
- Intestazione
orgIdmancante. Zoho Desk richiede l'ID organizzazione in ogni richiesta. Se la tua connessione è stata configurata senza persistereorgId, il client potrebbe tentare di rilevarlo automaticamente al primo utilizzo — assicurati che il rilevamento sia stato completato con successo prima di effettuare chiamate al timer. [7] - Access token scaduto. I token OAuth hanno una durata limitata. Dovrebbe essere presente un meccanismo di aggiornamento del token affinché le query al timer non falliscano silenziosamente a metà sessione. [7]
- Confusione tra
activeTimeretimer. L'endpoint/timerrestituisce dati timer più ampi;/activeTimerè limitato a ciò che è attualmente in esecuzione. Usare quello sbagliato potrebbe restituire dati obsoleti o storici invece dello stato in tempo reale. [6]
---
Cosa verificare
- Tipo di ID corretto: Conferma che l'ID che stai passando appartenga a un oggetto *attività*, non a un ticket o a un'altra entità, prima di chiamare
GET /api/v1/tasks/{taskId}/activeTimer. [1] - Intestazioni di autenticazione: Verifica che sia il tuo access token OAuth sia il tuo
orgIddi Zoho Desk siano presenti e aggiornati nelle intestazioni della richiesta. [7] - Dati di risposta vs. risposta vuota: Controlla se il payload restituito contiene un oggetto timer attivo o è vuoto — una risposta vuota significa che nessun timer è attualmente in esecuzione, il che è valido e non deve essere trattato come un errore. [1]
---
*Beam Help fornisce supporto esperto indipendente per i prodotti Zoho e non è il supporto ufficiale Zoho. Per problemi a livello di piattaforma, fai sempre riferimento alla documentazione e ai canali di supporto ufficiali di Zoho.*