Eliminare un allegato di transizione in Zoho Desk richiede una chiamata API mirata che fa riferimento al ticket, alla specifica bozza di transizione e all'allegato che si desidera rimuovere — tre ID che lavorano insieme.
Perché è importante
Quando gli agenti lavorano attraverso le transizioni blueprint in Zoho Desk, possono allegare file a una bozza di transizione prima di inviarla. Se viene allegato un file errato o obsoleto, è necessario un modo pulito per rimuoverlo in modo programmatico senza influire sugli altri allegati o thread del ticket. Questo è particolarmente rilevante per i team che automatizzano i flussi di lavoro di supporto tramite la REST API di Zoho Desk.
> Nota: Beam Help è un servizio di supporto esperto indipendente per Zoho — non siamo il supporto ufficiale di Zoho.
---
Procedura passo dopo passo
Passaggio 1. Raccogli i tre identificatori richiesti prima di effettuare qualsiasi chiamata API: il ticketId del ticket in fase di transizione, il transitionId della bozza di transizione blueprint attiva e l'attachmentId del file specifico che desideri eliminare. [1]
Passaggio 2. Se non sei sicuro dell'attachmentId, recupera prima l'elenco degli allegati sulla bozza di transizione inviando una richiesta GET a /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments. La risposta includerà gli ID di tutti i file attualmente allegati a quella bozza. [7]
Passaggio 3. Una volta ottenuti tutti e tre gli ID, invia una richiesta DELETE al seguente endpoint:
DELETE /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}
Sostituisci {ticketId}, {transitionId} e {attachmentId} con i valori effettivi raccolti nei passaggi precedenti. [1]
Passaggio 4. Se stai lavorando in Python, la chiamata corrisponde all'operazione op16deleteattachmentof_transition. Un'implementazione minimale è la seguente: [1]
def op_16_delete_attachment_of_transition(self, ticketId: str, transitionId: str, attachmentId: str, p: dict = None):
return self.c.request(
"DELETE",
f"/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}",
p,
None
)
Passa il contesto delle credenziali/sessione tramite self.c e fornisci i tre ID stringa come argomenti. [1]
Passaggio 5. Conferma l'eliminazione rieseguendo la richiesta GET del Passaggio 2. Se l'elenco degli allegati non contiene più l'attachmentId di destinazione, l'operazione è riuscita. [7]
---
Errori comuni
- Endpoint errato per il tipo di allegato sbagliato. Zoho Desk espone diversi endpoint distinti per l'eliminazione degli allegati. Usa
/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}specificamente per gli allegati delle bozze di transizione. [1] Non confonderlo con l'endpoint generale degli allegati del ticket (/api/v1/tickets/{ticketId}/attachments/{attachmentId}) [6], l'endpoint degli allegati a livello di thread (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}) [2], o l'endpoint degli allegati delle attività (/api/v1/tasks/{taskId}/attachments/{attachmentId}). [5] Ognuno fa riferimento a una risorsa diversa.
transitionIdnon aggiornato o non valido. Le transizioni blueprint sono oggetti bozza legati a uno specifico stato del flusso di lavoro. Se la transizione è già stata inviata o annullata, iltransitionIdpotrebbe non essere più valido e la chiamata di eliminazione fallirà. Verifica sempre che la transizione sia ancora in stato di bozza prima di tentare l'eliminazione. [1]
attachmentIdmancante. Tentare il DELETE senza aver prima confermato l'attachmentIdtramite l'endpoint GET è una causa comune di errori 404. Usa l'endpoint di elenco per confermare che il file esiste sulla transizione prima di eliminarlo. [7]
---
Cosa verificare
- Tutti e tre gli ID sono corretti e aggiornati — conferma che
ticketId,transitionIdeattachmentIdsiano validi e che la bozza di transizione sia ancora aperta prima di emettere il DELETE. [1] - Viene utilizzato l'endpoint corretto — verifica di stare chiamando il percorso specifico per le transizioni, non una route di allegati a livello di ticket o di thread. [1][2][6]
- L'eliminazione è confermata — riesegui il GET su
/api/v1/tickets/{ticketId}/transitions/{transitionId}/attachmentse verifica che il file rimosso non compaia più nella risposta. [7]