Eliminar un archivo adjunto de un producto en Zoho Desk se realiza mediante una única llamada a la API DELETE que apunta al producto y al adjunto específicos por sus respectivos IDs. Este artículo te guía a través del endpoint, los parámetros necesarios y un fragmento de Python listo para usar.
Por qué es importante
Al gestionar tu catálogo de productos en Zoho Desk, los archivos desactualizados o incorrectos adjuntos a un registro de producto pueden generar confusión tanto para los agentes como para los clientes. Eliminar adjuntos obsoletos de forma programática es esencial para los equipos que automatizan el mantenimiento del catálogo o integran Zoho Desk con sistemas externos. Conocer el endpoint correcto también te ayuda a evitar eliminar accidentalmente adjuntos de tickets, tareas u otros tipos de registros, cada uno de los cuales utiliza una ruta de API diferente.
> Nota: Beam Help es un recurso de soporte experto independiente, no el soporte oficial de Zoho.
---
Paso a paso
Paso 1. Identifica tu productId y tu attachmentId.
Antes de realizar cualquier llamada a la API, necesitas dos datos: el identificador único del registro de producto (productId) y el identificador único del archivo adjunto (attachmentId). Ambos son cadenas de texto. Puedes obtenerlos desde la interfaz de Zoho Desk o consultando primero la API de productos. [1]
Paso 2. Construye la solicitud DELETE.
El endpoint para eliminar un adjunto de un producto sigue este patrón:
DELETE /api/v1/products/{productId}/attachments/{attachmentId}
Reemplaza {productId} y {attachmentId} con los valores de cadena reales que obtuviste en el Paso 1. [1]
Paso 3. Autentícate y envía la solicitud.
La API de Zoho Desk requiere un token OAuth 2.0 válido en el encabezado Authorization. Una vez que tu token esté configurado, emite la solicitud DELETE. No se necesita cuerpo en la solicitud: el recurso queda completamente identificado por la ruta de la URL. [1]
Paso 4. Usa el helper de Python (opcional).
Si tu integración está basada en Python, la llamada se corresponde con el método deleteanattachment que se muestra a continuación. Pasa tus IDs como cadenas de texto y, opcionalmente, proporciona un diccionario p para cualquier parámetro de consulta adicional que requiera tu configuración: [1]
def delete_an_attachment(self, productId: str, attachmentId: str, p: dict = None):
"""Delete an Attachment from a product record"""
return self.c.request(
"DELETE",
f"/api/v1/products/{productId}/attachments/{attachmentId}",
p,
None
)
Llámalo de esta forma:
result = client.delete_an_attachment(
productId="123456789",
attachmentId="987654321"
)
Paso 5. Confirma la eliminación.
Una respuesta exitosa normalmente devolverá un estado HTTP 200 o 204 sin cuerpo, lo que indica que el adjunto ha sido eliminado. Si recibes un error, consulta la sección de solución de problemas a continuación. [1]
---
Errores comunes
- Endpoint incorrecto para el tipo de registro. Zoho Desk expone endpoints de eliminación de adjuntos separados para tickets (
/api/v1/tickets/{ticketId}/attachments/{attachmentId}), cuentas (/api/v1/accounts/{accountId}/attachments/{attachmentId}), tareas (/api/v1/tasks/{taskId}/attachments/{attachmentId}), hilos de tickets (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}), borradores de transición de tickets y artículos del Centro de Ayuda. [^2,3,4,5,6,7,8] Usar un endpoint de adjuntos de tickets con un ID de producto, o viceversa, resultará en un error de recurso no encontrado. Confirma siempre que estás apuntando a/api/v1/products/…cuando trabajes con registros de productos. [1]
- IDs intercambiados. El
productIdy elattachmentIddeben aparecer en las posiciones correctas en la ruta de la URL. Invertirlos hará que la solicitud falle o, en el peor de los casos, apunte a un recurso no deseado. [1]
- Token OAuth caducado o ausente. El verbo
DELETErequiere la misma sesión autenticada que cualquier otra llamada a la API de Zoho Desk. Asegúrate de que tu token no haya expirado y de que el alcance OAuth asociado cubra la gestión de registros de productos. [1]
---
Qué verificar
- Segmentos de ruta correctos: Verifica que la URL sea
/api/v1/products/{productId}/attachments/{attachmentId}— y no una variante de ticket, tarea o cuenta — antes de ejecutar la llamada. [1] - IDs válidos: Confirma que tanto el
productIdcomo elattachmentIdexisten en tu portal de Zoho Desk cruzándolos con el registro de producto en la interfaz o mediante una solicitud GET previa. [1] - Estado de la respuesta HTTP: Una respuesta
200o204confirma el éxito; un404significa que uno o ambos IDs no fueron encontrados, y un401/403indica un problema de autenticación o permisos. [1]