Beam Help
Solicitar ayuda

How-to · Zoho DESK

Cómo eliminar archivos adjuntos de transiciones en Zoho Desk

Elimina archivos adjuntos específicos de transiciones de tickets de forma programática.

Eliminar un archivo adjunto de una transición en Zoho Desk requiere una llamada a la API específica que hace referencia al ticket, al borrador de transición concreto y al adjunto que deseas eliminar — tres IDs trabajando en conjunto.


Por qué esto es importante


Cuando los agentes trabajan con transiciones de blueprint en Zoho Desk, pueden adjuntar archivos a un borrador de transición antes de enviarlo. Si se ha adjuntado un archivo incorrecto u obsoleto, necesitas una forma limpia de eliminarlo de manera programática sin afectar a los demás adjuntos o hilos del ticket. Esto es especialmente relevante para los equipos que automatizan flujos de trabajo de soporte a través de la API REST de Zoho Desk.


> Nota: Beam Help es soporte experto independiente para Zoho — no somos el soporte oficial de Zoho.


---


Paso a paso


Paso 1. Reúne los tres identificadores necesarios antes de realizar cualquier llamada a la API: el ticketId del ticket que está en proceso de transición, el transitionId del borrador de transición de blueprint activo y el attachmentId del archivo específico que deseas eliminar. [1]


Paso 2. Si no estás seguro del attachmentId, primero recupera la lista de adjuntos del borrador de transición enviando una solicitud GET a /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments. La respuesta incluirá los IDs de todos los archivos adjuntos actualmente en ese borrador. [7]


Paso 3. Una vez que tengas los tres IDs, envía una solicitud DELETE al siguiente endpoint:


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

Reemplaza {ticketId}, {transitionId} y {attachmentId} con los valores reales que obtuviste en los pasos anteriores. [1]


Paso 4. Si estás trabajando en Python, la llamada corresponde a la operación op16deleteattachmentof_transition. Una implementación mínima tiene este aspecto: [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
    )

Pasa el contexto de credenciales/sesión a través de self.c y proporciona los tres IDs de cadena como argumentos. [1]


Paso 5. Confirma la eliminación volviendo a ejecutar la solicitud GET del Paso 2. Si la lista de adjuntos ya no contiene el attachmentId objetivo, la operación fue exitosa. [7]


---


Errores comunes


  • Endpoint incorrecto para el tipo de adjunto equivocado. Zoho Desk expone varios endpoints distintos para la eliminación de adjuntos. Usa /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId} específicamente para los adjuntos de borradores de transición. [1] *No* lo confundas con el endpoint general de adjuntos de ticket (/api/v1/tickets/{ticketId}/attachments/{attachmentId}) [6], el endpoint de adjuntos a nivel de hilo (/api/v1/tickets/{ticketid}/threads/{threadid}/attachments/{attachment_id}) [2] ni el endpoint de adjuntos de tarea (/api/v1/tasks/{taskId}/attachments/{attachmentId}). [5] Cada uno apunta a un recurso diferente.

  • transitionId obsoleto o inválido. Las transiciones de blueprint son objetos borrador vinculados a un estado de flujo de trabajo específico. Si la transición ya ha sido enviada o cancelada, el transitionId puede dejar de ser válido y la llamada de eliminación fallará. Verifica siempre que la transición sigue en estado borrador antes de intentar la eliminación. [1]

  • attachmentId ausente. Intentar el DELETE sin confirmar previamente el attachmentId mediante el endpoint GET es una fuente habitual de errores 404. Usa el endpoint de listado para confirmar que el archivo existe en la transición antes de eliminarlo. [7]

---


Qué verificar


  • Los tres IDs son correctos y están actualizados — confirma que ticketId, transitionId y attachmentId son válidos y que el borrador de transición sigue abierto antes de emitir el DELETE. [1]
  • Se está apuntando al endpoint correcto — verifica que estás llamando a la ruta específica de transiciones, no a una ruta de adjuntos a nivel de ticket o de hilo. [1][2][6]
  • La eliminación está confirmada — vuelve a ejecutar el GET en /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments y comprueba que el archivo eliminado ya no aparece en la respuesta. [7]

Sources cited

  1. [1] DELETE /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments/{attachmentId}
  2. [2] DELETE /api/v1/tickets/{ticket_id}/threads/{thread_id}/attachments/{attachment_id}
  3. [3] DELETE /api/v1/tickets/{ticket_id}/attachments/{attachment_id}
  4. [4] DELETE /api/v1/products/{productId}/attachments/{attachmentId}
  5. [5] DELETE /api/v1/tasks/{taskId}/attachments/{attachmentId}
  6. [6] DELETE /api/v1/tickets/{ticketId}/attachments/{attachmentId}
  7. [7] GET /api/v1/tickets/{ticketId}/transitions/{transitionId}/attachments
  8. [8] DELETE /api/v1/accounts/{accountId}/attachments/{attachmentId}
Eliminar Adjunto de Transición | Beam Help — Beam Help