Beam Help
Richiedi supporto

How-to · Zoho DESK

Come eliminare gli allegati dei thread in Zoho Desk

Rimuovi file dai thread delle conversazioni dei ticket in modo programmatico.

L'eliminazione di un allegato di un thread in Zoho Desk tramite API richiede una richiesta DELETE che punta all'allegato specifico all'interno del thread di un ticket, utilizzando tre parametri di percorso per identificare con precisione la risorsa.


Perché è importante


Quando si creano integrazioni o flussi di lavoro di automazione su Zoho Desk, potrebbe essere necessario rimuovere programmaticamente gli allegati dai thread dei ticket — ad esempio, per eliminare file sensibili dopo l'elaborazione, applicare policy di conservazione dei dati o ripulire dati di test. Conoscere l'endpoint corretto e la struttura dei parametri evita l'eliminazione accidentale della risorsa sbagliata. Questa guida tratta specificamente l'endpoint con scope di thread e menziona anche la variante a livello di ticket per completezza. Come sempre, Beam Help è un supporto esperto indipendente per Zoho — non siamo il supporto ufficiale Zoho.


Procedura passo dopo passo


Passaggio 1. Raccogli i tre identificatori richiesti prima di effettuare qualsiasi chiamata API: il ticketid del ticket padre, il threadid del thread specifico che contiene l'allegato e l'attachment_id del file che vuoi rimuovere. Tutti e tre devono essere presenti nel percorso della richiesta — omettere anche solo uno di essi punterà a una risorsa diversa o restituirà un errore. [1]


Passaggio 2. Costruisci la tua richiesta DELETE verso l'endpoint degli allegati del thread. Il percorso completo segue questo schema:


DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}

Sostituisci ogni segnaposto con gli ID stringa effettivi raccolti nel Passaggio 1. [1]


Passaggio 3. Invia la richiesta utilizzando il client HTTP preferito o il wrapper SDK di Zoho Desk. In Python, la chiamata si presenta così:


response = client.delete_attachment(
    ticket_id="your_ticket_id",
    thread_id="your_thread_id",
    attachment_id="your_attachment_id"
)

Il metodo invia una DELETE all'URL costruito e restituisce l'oggetto risposta dell'API. [1]


Passaggio 4. Controlla lo stato della risposta HTTP. Un'eliminazione riuscita restituisce tipicamente un codice di stato 2xx. Se ricevi una risposta 4xx, verifica gli ID forniti — una mancata corrispondenza tra threadid e ticketid è una causa comune di errori 404.


Passaggio 5. Se il tuo caso d'uso prevede la rimozione di un allegato che appartiene al ticket stesso anziché a un thread specifico, utilizza invece l'endpoint a livello di ticket:


DELETE /api/v1/tickets/{ticketId}/attachments/{attachmentId}

Questa variante richiede solo ticketId e attachmentId — non è necessario alcun thread_id. [7]


Errori comuni


  • Confondere le varianti di endpoint. Zoho Desk espone diversi endpoint per l'eliminazione degli allegati per diversi tipi di risorse: thread [1], ticket [7], attività [3], account [4], prodotti [6], articoli dell'Help Center [8] e bozze di transizione [5]. Utilizzare l'endpoint sbagliato per il tipo di risorsa restituirà un 404 o un errore di autorizzazione, anche se l'ID allegato è corretto.

  • Ordine errato dei parametri di percorso. L'endpoint degli allegati del thread richiede i parametri nell'ordine ticketid → threadid → attachmentid. Invertire threadid e attachment_id nell'URL produrrà un percorso non valido. [1]

  • Eliminazione accidentale di un allegato di una bozza di transizione. Se un ticket è in fase di transizione (ad esempio, in movimento attraverso una fase di blueprint), i suoi allegati in bozza si trovano in un percorso separato che richiede anche un transitionId. L'invio di una richiesta standard di eliminazione del thread non influirà su quei file. [5]

Cosa verificare


  • Conferma che tutti e tre gli ID siano corretti — verifica che il threadid appartenga effettivamente al ticketid specificato prima di inviare la richiesta. [1]
  • Verifica il codice di stato della risposta — assicurati di aver ricevuto una risposta 2xx; qualsiasi altro codice significa che l'allegato non è stato eliminato e dovresti esaminare il corpo dell'errore per i dettagli.
  • Conferma l'endpoint corretto per la tua risorsa — se l'allegato si trova su un'attività, un account o un prodotto anziché su un thread di ticket, utilizza l'endpoint corrispondente (/api/v1/tasks/, /api/v1/accounts/ o /api/v1/products/) per evitare un'eliminazione fallita o indirizzata erroneamente. [3][4][6]

Sources cited

  1. [1] DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}
  2. [2] DELETE /api/v1/tickets/{ticket_id}/attachments/{attachment_id}
  3. [3] DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}
  4. [4] DELETE /api/v1/accounts/{accountId}/attachments/{attachmentId}
  5. [5] DELETE /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}
  6. [6] DELETE /api/v1/products/{productId}/attachments/{attachmentId}
  7. [7] DELETE /api/v1/tickets/{ticketId}/attachments/{attachmentId}
  8. [8] DELETE /api/v1/helpcenter/{helpcenter_id}/articles/{article_id}/attachments/{attachment_id}
Elimina Allegati Thread | Beam Help — Beam Help