Eliminare un allegato di un'attività in Zoho Desk tramite API richiede una singola richiesta DELETE che punta agli identificatori specifici dell'attività e dell'allegato — non è necessario alcun corpo della richiesta.
Perché è importante
Quando si automatizzano i flussi di lavoro di Zoho Desk o si creano integrazioni, potrebbe essere necessario rimuovere programmaticamente file obsoleti o caricati per errore dalle attività. Mantenere puliti gli allegati delle attività tiene i record in ordine e impedisce agli agenti di agire su informazioni non aggiornate. Questo è particolarmente rilevante per i team che eseguono script o strumenti di back-office personalizzati tramite l'API di Zoho Desk.
> Nota: Beam Help è una risorsa di supporto esperto indipendente — non è il supporto ufficiale di Zoho.
---
Passo dopo passo
Passaggio 1. Verifica che gli scope OAuth siano configurati correttamente.
Prima di effettuare qualsiasi chiamata API, assicurati che il tuo token OAuth includa lo scope Desk.tasks.ALL o Desk.tasks.DELETE. Senza il corretto permesso a livello di attività, l'API rifiuterà la richiesta. Puoi verificare o aggiornare l'elenco degli scope nella configurazione del tuo client OAuth. [7]
Passaggio 2. Raccogli gli identificatori necessari.
Hai bisogno di due valori prima di chiamare l'endpoint:
taskId— l'identificatore univoco dell'attività che contiene l'allegato.attachmentId— l'identificatore univoco del file specifico che vuoi rimuovere.
Entrambi gli ID vengono restituiti quando elenchi o recuperi le attività e i relativi allegati tramite l'API di Zoho Desk. Conservali come stringhe, poiché l'endpoint li tratta come parametri di percorso. [1]
Passaggio 3. Invia la richiesta DELETE.
Esegui una richiesta HTTP DELETE al seguente endpoint, sostituendo i tuoi ID reali:
DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}
Includi il tuo token bearer OAuth nell'intestazione Authorization. Non è richiesto alcun corpo della richiesta. [1]
Utilizzando il pattern helper Python, la chiamata si presenta così:
response = desk_client.delete_task_attachment(
taskId="your_task_id",
attachmentId="your_attachment_id"
)
Una risposta positiva indica che l'allegato è stato rimosso definitivamente dall'attività. [1]
Passaggio 4. Gestisci la risposta.
Uno stato di successo 204 No Content o equivalente conferma l'eliminazione. Se ricevi un errore, verifica che entrambi gli ID siano corretti e che lo scope del token copra le eliminazioni delle attività. [1] [7]
---
Errori comuni
- Endpoint errato per la risorsa sbagliata. Zoho Desk espone endpoint separati per l'eliminazione degli allegati relativi ai ticket (
/api/v1/tickets/{ticketid}/attachments/{attachmentid}), ai thread dei ticket (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}), agli account (/api/v1/accounts/{accountId}/attachments/{attachmentId}), agli articoli dell'Help Center e alle bozze di transizione. [4] [5] [3] [6] [8] Utilizzare un endpoint per gli allegati dei ticket quando si intende eliminare un allegato di un'*attività* causerà un errore o punterà silenziosamente al record sbagliato — usa sempre/api/v1/tasks/{taskId}/attachments/{attachmentId}per gli allegati delle attività. [1]
- Scope OAuth insufficiente. Lo scope
Desk.tasks.DELETEoDesk.tasks.ALLdeve essere presente nel tuo token. Se hai concesso solo scope di lettura o scrittura, la chiamata di eliminazione verrà rifiutata. [7]
- Confusione tra
taskIdeattachmentId. Questi sono identificatori distinti. Passare un ID allegato dove è previsto un ID attività (o viceversa) produrrà un errore di risorsa non trovata. Verifica entrambi i valori prima di chiamare l'endpoint. [1]
- Confusione con l'endpoint degli allegati dei prodotti. Esiste un endpoint separato per eliminare gli allegati dei *prodotti* (
/api/v1/products/{productId}/attachments/{attachmentId}), che non ha nulla a che fare con le attività. [2] Non confondere i due.
---
Cosa verificare
- Percorso endpoint corretto: Verifica che la tua richiesta punti a
/api/v1/tasks/{taskId}/attachments/{attachmentId}e non a una variante per ticket, account o prodotti. [1] - Scope del token OAuth valido: Conferma che
Desk.tasks.ALLoDesk.tasks.DELETEsia incluso negli scope concessi al tuo client OAuth. [7] - ID accurati: Confronta sia
taskIdcheattachmentIdcon una nuova chiamata API di elenco per assicurarti che nessuno dei due sia cambiato o sia stato copiato in modo errato. [1]