Beam Help
Richiedi supporto

How-to · Zoho DESK

Come recuperare lo stato di un ticket in Zoho Desk

Recupera lo stato attuale di qualsiasi ticket di supporto.

Recuperare lo stato attuale di un ticket in Zoho Desk è semplice una volta che la connessione OAuth è configurata — una singola richiesta GET all'endpoint dello stato del ticket restituisce le informazioni necessarie.


Perché è importante


I team di supporto e i flussi di lavoro automatizzati hanno spesso bisogno di verificare se un ticket è aperto, in attesa, escalato o risolto prima di decidere l'azione successiva. L'accesso programmatico allo stato del ticket consente di creare dashboard, attivare notifiche o condizionare processi a valle senza dover navigare manualmente nell'interfaccia di Zoho Desk. In qualità di supporto esperto indipendente per Zoho (non supporto ufficiale Zoho), Beam Help ti guida attraverso i passaggi esatti descritti di seguito.


Procedura passo dopo passo


Passaggio 1. Verifica che gli scope OAuth includano l'accesso in lettura ai ticket.


Prima che qualsiasi chiamata API abbia successo, l'applicazione connessa deve essere autorizzata con gli scope OAuth corretti di Zoho Desk. Come minimo è necessario Desk.tickets.READ; le integrazioni più ampie includono in genere anche Desk.tickets.ALL per coprire le operazioni di scrittura in seguito. Questi scope devono essere richiesti durante il flusso di autorizzazione OAuth e memorizzati insieme al token di accesso. [2]


Passaggio 2. Ottieni un token di accesso valido (e aggiornalo quando scade).


La tua integrazione dovrebbe conservare un refreshtoken ottenuto durante la concessione OAuth iniziale. Quando l'accesstoken è scaduto, chiama l'endpoint token di Zoho utilizzando il refresh token per ottenerne uno nuovo. La risposta aggiornata conterrà un nuovo accesstoken e un valore expiresin (in genere 3600 secondi) che dovresti salvare in modo da sapere quando aggiornarlo di nuovo. [8]


Passaggio 3. Identifica l'ID organizzazione di Zoho Desk.


Ogni chiamata API di Zoho Desk richiede un header orgId. Se non lo hai ancora memorizzato, chiama l'endpoint delle organizzazioni dopo aver inizializzato il client Desk. La risposta restituisce un array data; prendi il campo id dal primo elemento come identificatore dell'organizzazione e salvalo in modo da non doverlo cercare ad ogni richiesta. [6]


Passaggio 4. Chiama l'endpoint dello stato del ticket.


Invia una richiesta GET autenticata a:


GET /api/v1/tickets/{ticket_id}/status

Sostituisci {ticket_id} con l'identificatore numerico o stringa del ticket che vuoi esaminare. Facoltativamente, passa i parametri di query nel dizionario p se hai bisogno di filtrare o paginare la risposta. Il pattern di chiamata in Python è il seguente: [3]


status = desk_api.get_ticket_status(ticket_id="123456")

Il corpo della risposta conterrà i dettagli dello stato attuale di quel ticket. [3]


Passaggio 5. (Facoltativo) Aggiorna lo stato se necessario.


Se il tuo flusso di lavoro richiede di modificare lo stato dopo averlo letto, utilizza invece l'endpoint PATCH complementare:


PATCH /api/v1/tickets/{ticket_id}/status

Passa i nuovi valori di stato desiderati all'interno del dizionario data. Si tratta di un'operazione separata dalla lettura e richiede Desk.tickets.UPDATE o Desk.tickets.ALL negli scope. [7] [2]


---


Errori comuni


  • Header orgId mancante. Zoho Desk rifiuta le richieste che non includono un ID organizzazione valido. Se ricevi una risposta 400 o 403, verifica che l'ID organizzazione sia stato individuato e allegato a ogni richiesta. [6]
  • Token di accesso scaduto non aggiornato. Se la logica di aggiornamento del token non controlla tokenexpiresat prima di ogni chiamata, riceverai errori 401. Confronta sempre il timestamp corrente con la scadenza memorizzata e aggiorna il token in modo proattivo. [8]
  • Scope insufficienti. Richiedere solo Desk.tickets.WRITE senza Desk.tickets.READ bloccherà la chiamata GET. Assicurati che Desk.tickets.READ (o Desk.tickets.ALL) sia presente nell'elenco degli scope autorizzati. [2]
  • Tipo di entità errato nei link di fallback. Se il livello UI costruisce link di navigazione e il tipo di entità non è esplicitamente "ticket", il fallback potrebbe indirizzare gli utenti alla home generica di Desk anziché all'elenco dei ticket — verifica attentamente i valori del tipo di entità in qualsiasi logica di costruzione dei link. [1]

---


Cosa verificare


  • Gli scope sono attivi: Conferma che Desk.tickets.READ appaia nell'elenco degli scope concessi per il tuo client OAuth prima di effettuare la prima chiamata. [2]
  • Il token è aggiornato: Verifica che tokenexpiresat sia nel futuro e che la routine di aggiornamento aggiorni sia accesstoken che tokenexpires_at nella memoria persistente dopo ogni aggiornamento. [8]
  • ID ticket corretto: Conferma che il ticket_id che stai passando corrisponda a un ticket esistente nella tua organizzazione; un ID errato restituirà un 404 anziché un oggetto stato. [3]

Sources cited

  1. [1] server.py: build_zoho_links
  2. [2] config.py
  3. [3] GET /api/v1/tickets/{ticket_id}/status
  4. [4] server.py: browser_status
  5. [5] server.py: me
  6. [6] server.py: get_zoho_api
  7. [7] PATCH /api/v1/tickets/{ticket_id}/status
  8. [8] zoho_oauth.py
Stato Ticket Zoho Desk | Beam Help — Beam Help