Eliminar un archivo adjunto de una tarea en Zoho Desk mediante la API requiere una única solicitud DELETE dirigida a los identificadores específicos de la tarea y el adjunto — no se necesita cuerpo en la solicitud.
Por qué esto es importante
Cuando automatizas flujos de trabajo de Zoho Desk o construyes integraciones, puede que necesites eliminar mediante programación archivos desactualizados o cargados incorrectamente en las tareas. Limpiar los archivos adjuntos de las tareas mantiene los registros ordenados y evita que los agentes actúen sobre información obsoleta. Esto es especialmente relevante para los equipos que ejecutan scripts o herramientas personalizadas de back-office contra la API de Zoho Desk.
> Nota: Beam Help es un recurso de soporte experto independiente — no es el soporte oficial de Zoho.
---
Paso a paso
Paso 1. Confirma que tus scopes de OAuth están configurados.
Antes de realizar cualquier llamada a la API, asegúrate de que tu token de OAuth incluya el scope Desk.tasks.ALL o Desk.tasks.DELETE. Sin el permiso correcto a nivel de tarea, la API rechazará la solicitud. Puedes verificar o actualizar tu lista de scopes en la configuración de tu cliente OAuth. [7]
Paso 2. Reúne los identificadores necesarios.
Necesitas dos valores antes de llamar al endpoint:
taskId— el identificador único de la tarea que contiene el adjunto.attachmentId— el identificador único del archivo específico que deseas eliminar.
Ambos IDs se devuelven cuando listas o recuperas tareas y sus adjuntos a través de la API de Zoho Desk. Guárdalos como cadenas de texto, ya que el endpoint los trata como parámetros de ruta. [1]
Paso 3. Envía la solicitud DELETE.
Realiza un DELETE HTTP al siguiente endpoint, sustituyendo tus IDs reales:
DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}
Incluye tu token bearer de OAuth en el encabezado Authorization. No se requiere cuerpo en la solicitud. [1]
Usando el patrón de ayudante de Python, la llamada tiene este aspecto:
response = desk_client.delete_task_attachment(
taskId="your_task_id",
attachmentId="your_attachment_id"
)
Una respuesta exitosa indica que el adjunto ha sido eliminado permanentemente de la tarea. [1]
Paso 4. Gestiona la respuesta.
Un estado de éxito 204 No Content o equivalente confirma la eliminación. Si recibes un error, verifica que ambos IDs sean correctos y que el scope del token cubra las eliminaciones de tareas. [1] [7]
---
Errores comunes
- Endpoint incorrecto para el recurso equivocado. Zoho Desk expone endpoints de eliminación de adjuntos separados para tickets (
/api/v1/tickets/{ticketid}/attachments/{attachmentid}), hilos de tickets (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}), cuentas (/api/v1/accounts/{accountId}/attachments/{attachmentId}), artículos del Centro de Ayuda y borradores de transición. [4] [5] [3] [6] [8] Usar un endpoint de adjuntos de ticket cuando pretendes eliminar un adjunto de una *tarea* fallará o apuntará silenciosamente al registro incorrecto — utiliza siempre/api/v1/tasks/{taskId}/attachments/{attachmentId}para los adjuntos de tareas. [1]
- Scope de OAuth insuficiente. El scope
Desk.tasks.DELETEoDesk.tasks.ALLdebe estar presente en tu token. Si solo otorgaste scopes de lectura o escritura, la llamada de eliminación será rechazada. [7]
- Confusión entre
taskIdyattachmentId. Son identificadores distintos. Pasar un ID de adjunto donde se espera un ID de tarea (o viceversa) resultará en un error de no encontrado. Verifica ambos valores antes de llamar al endpoint. [1]
- Confusión con el endpoint de adjuntos de productos. Existe un endpoint separado para eliminar adjuntos de *productos* (
/api/v1/products/{productId}/attachments/{attachmentId}), que no está relacionado con las tareas. [2] No confundas ambos.
---
Qué verificar
- Ruta del endpoint correcta: Verifica que tu solicitud apunte a
/api/v1/tasks/{taskId}/attachments/{attachmentId}y no a una variante de ticket, cuenta o producto. [1] - Scope del token OAuth válido: Confirma que
Desk.tasks.ALLoDesk.tasks.DELETEesté incluido en los scopes otorgados a tu cliente OAuth. [7] - IDs precisos: Contrasta tanto
taskIdcomoattachmentIdcon una llamada de listado reciente a la API para asegurarte de que ninguno haya cambiado o sido copiado incorrectamente. [1]