Rimuovere un tag da un ticket di Zoho Desk tramite API è una semplice operazione DELETE che richiede sia l'ID del ticket sia l'ID del tag specifico. Questo articolo illustra l'endpoint esatto, i parametri richiesti e gli scope OAuth necessari per eseguire l'operazione correttamente.
Perché è importante
I tag in Zoho Desk aiutano i team a categorizzare e filtrare i ticket, ma tag obsoleti o errati possono distorcere i report e la logica di instradamento. Se stai sviluppando un'automazione, uno script di migrazione o un flusso di lavoro di pulizia, avrai bisogno di un metodo affidabile per rimuovere singoli tag dai ticket in modo programmatico. Questo è utile anche quando si sincronizzano i metadati dei ticket tra Zoho Desk e un sistema esterno. Tieni presente che Beam Help è un servizio di supporto esperto indipendente — non siamo il supporto ufficiale di Zoho.
Procedura passo dopo passo
Passaggio 1. Verifica che gli scope OAuth siano configurati correttamente.
Prima di effettuare qualsiasi chiamata API, assicurati che l'applicazione connessa abbia gli scope OAuth di Zoho Desk corretti autorizzati. Come minimo hai bisogno di Desk.tickets.ALL oppure della combinazione di Desk.tickets.READ e Desk.tickets.DELETE nella configurazione degli scope. [2]
Passaggio 2. Raccogli gli identificatori necessari.
Prima di chiamare l'endpoint hai bisogno di due informazioni:
ticketId— l'identificatore univoco del ticket da cui vuoi rimuovere il tag.tagId— l'identificatore univoco del tag specifico che vuoi staccare.
Entrambi i valori sono stringhe. Puoi recuperare il ticketId da qualsiasi chiamata alla lista o al dettaglio dei ticket, e il tagId dai metadati del tag associato a quel ticket. [1]
Passaggio 3. Chiama l'endpoint di rimozione del tag.
Invia una richiesta DELETE al seguente percorso, sostituendo i valori reali:
DELETE /api/v1/tickets/{ticketId}/tags/{tagId}
Un parametro opzionale p (un dizionario) può essere passato per eventuali parametri di query aggiuntivi richiesti dalla tua integrazione. [1]
Passaggio 4. Implementa la chiamata in Python.
Se stai utilizzando un client Zoho Desk basato su Python, la firma del metodo è la seguente:
def remove_tags_from_ticket(self, ticketId: str, tagId: str, p: dict = None):
return self.c.request("DELETE", f"/api/v1/tickets/{ticketId}/tags/{tagId}", p, None)
Passa ticketId e tagId come argomenti stringa posizionali. Il corpo della richiesta è None per un'operazione DELETE — solo il percorso URL contiene le informazioni identificative. [1]
Passaggio 5. Verifica la risposta.
Un'eliminazione riuscita restituirà uno stato HTTP 200 o 204. Se ricevi un 404, verifica che sia il ticketId sia il tagId siano corretti e che il tag sia effettivamente associato a quel ticket. Se ricevi un 401 o 403, rivedi la configurazione degli scope OAuth dal Passaggio 1. [2]
Passaggio 6. (Facoltativo) Conferma aggiungendo tag quando necessario.
Se il tuo flusso di lavoro deve anche aggiungere tag a un ticket, l'operazione complementare è una POST allo stesso percorso base senza il segmento tagId:
POST /api/v1/tickets/{ticketId}/tags
Questo endpoint accetta un dizionario data nel corpo della richiesta contenente i dettagli del tag. [6]
Errori comuni
- Livello di scope errato. Utilizzare solo
Desk.tickets.READbloccherà le operazioni DELETE. Assicurati cheDesk.tickets.DELETEoDesk.tickets.ALLsia incluso nella stringa degli scope OAuth. [2] - Confondere la rimozione dei tag con l'eliminazione di template o allegati. L'API di Zoho Desk dispone di endpoint DELETE separati per i template dei ticket (
/api/v1/ticketTemplates/{templateId}) e per gli allegati dei ticket (/api/v1/tickets/{ticketId}/attachments/{attachmentId}). Si tratta di risorse completamente diverse — non confondere i percorsi degli endpoint. [4][5] tagIdmancante nel percorso. L'identificatore del tag deve comparire nel percorso URL stesso, non nel corpo della richiesta né come parametro di query. Inviare una DELETE a/api/v1/tickets/{ticketId}/tagssenza il segmentotagIdnon farà riferimento a un tag specifico. [1]
Cosa verificare
- Conferma che lo scope
Desk.tickets.DELETEoDesk.tickets.ALLsia presente e autorizzato nella configurazione OAuth prima di eseguire la richiesta. [2] - Verifica che il
tagIdche stai passando appartenga effettivamente al ticket di destinazione — tentare di rimuovere un tag non associato a quel ticket restituirà un errore. [1] - Dopo che la chiamata DELETE restituisce uno stato di successo, recupera facoltativamente la lista dei tag del ticket per confermare che il tag non sia più presente, assicurandoti che la logica a valle rifletta lo stato aggiornato. [6]