Beam Help
Solicitar ayuda

How-to · Zoho DESK

Cómo listar las aprobaciones de un ticket en Zoho Desk

Recupera todas las solicitudes de aprobación asociadas a un ticket.

Listar todas las aprobaciones vinculadas a un ticket de Zoho Desk es una única llamada a la API que devuelve cada registro de aprobación asociado a un ID de ticket determinado — aquí te explicamos exactamente cómo hacerlo.


Por qué esto es importante


Las aprobaciones de tickets en Zoho Desk representan pasos formales de autorización que pueden ser necesarios antes de que un ticket pueda avanzar o resolverse. Si estás creando una integración, automatizando un flujo de trabajo o auditando el estado de aprobaciones en varios tickets, necesitas una forma fiable de recuperar la lista completa de aprobaciones de cualquier ticket. Conocer el endpoint correcto y los scopes de OAuth requeridos garantiza que tus solicitudes se completen sin errores de permisos.


> Beam Help es un recurso de soporte experto independiente para Zoho — no es el soporte oficial de Zoho.


---


Paso a paso


Paso 1. Confirma que tu token de OAuth incluye los scopes correctos de Zoho Desk antes de realizar cualquier solicitud. Como mínimo, necesitarás Desk.tickets.READ en tu conjunto de scopes autorizados, que cubre el acceso de lectura a los recursos relacionados con tickets, incluidas las aprobaciones. [2]


Paso 2. Identifica el ticketId del ticket cuyas aprobaciones deseas recuperar. Este es el identificador numérico único que Zoho Desk asigna a cada ticket — puedes encontrarlo en la URL del ticket dentro del portal de agentes de Desk, que sigue el patrón https://desk.zoho.com/agent/{portal}/tickets/details/{ticketId}. [7]


Paso 3. Envía una solicitud GET al endpoint de aprobaciones, sustituyendo el ID real del ticket en la ruta:


GET /api/v1/tickets/{ticketId}/approvals

Esta operación se identifica internamente como list_approvals. El endpoint acepta ticketId como parámetro de ruta obligatorio y un parámetro opcional p para cualquier opción de consulta adicional que desees pasar. [3]


Paso 4. En código, la llamada tiene este aspecto (mostrado en Python para mayor claridad):


def list_approvals(self, ticketId: str, p: dict = None):
    return self.c.request("GET", f"/api/v1/tickets/{ticketId}/approvals", p, None)

Pasa el ID del ticket como cadena de texto y, opcionalmente, proporciona un diccionario de parámetros de consulta como p si necesitas filtrar o paginar los resultados. [3]


Paso 5. Analiza la respuesta. La API devolverá la colección de registros de aprobación vinculados a ese ticket. Si necesitas los detalles completos de una aprobación específica de la lista, toma su approvalId y realiza una solicitud GET separada a:


GET /api/v1/tickets/{ticketId}/approvals/{approvalId}

Esta es la operación get_approval y acepta tanto ticketId como approvalId como parámetros de ruta. [5]


Paso 6. Si tu flujo de trabajo requiere actuar sobre una aprobación — por ejemplo, aprobar un ticket de forma programática — puedes hacerlo mediante un POST a:


POST /api/v1/tickets/{ticketId}/approvals/{approvalId}/approve

Esta operación createapproveticket requiere tanto el ID del ticket como el de la aprobación, además de cualquier payload data relevante. [4]


---


Errores comunes


  • Scopes faltantes: Si tu token de OAuth fue generado sin Desk.tickets.READ (o el más amplio Desk.tickets.ALL), la API devolverá un error de autorización. Verifica siempre tu lista de scopes antes de depurar la solicitud en sí. [2]
  • Formato incorrecto del ID de ticket: El ticketId debe pasarse como cadena de texto en la ruta. Pasar un tipo entero directamente sin convertirlo puede causar errores en la construcción de la solicitud dependiendo de tu cliente HTTP. [3]
  • Confundir los endpoints de lista y detalle: El endpoint listapprovals (GET /api/v1/tickets/{ticketId}/approvals) devuelve una colección, mientras que getapproval (GET /api/v1/tickets/{ticketId}/approvals/{approvalId}) devuelve un único registro. Usa primero el endpoint de lista para descubrir los valores de approvalId disponibles y luego profundiza en los registros individuales según sea necesario. [3][5]
  • Crear vs. listar: El endpoint POST /api/v1/tickets/{ticketId}/approvals sirve para *crear* una nueva aprobación, no para recuperar las existentes. Enviar un POST cuando pretendías un GET creará un registro de aprobación no deseado. [6]

---


Qué verificar


  • Verificación de scopes: Confirma que Desk.tickets.READ o Desk.tickets.ALL aparece en la lista de scopes del token de OAuth activo antes de realizar la llamada. [2]
  • ID de ticket correcto: Abre el ticket en el portal de agentes de Zoho Desk y confirma que el ID en la URL coincide con el ticketId que estás pasando al endpoint. [7]
  • Estructura de la respuesta: Asegúrate de que el cuerpo de la respuesta contiene un array/lista de objetos de aprobación; un array vacío es válido y simplemente significa que aún no se han creado aprobaciones para ese ticket, mientras que un objeto de error indica un problema de scope o de ruta. [3]

Sources cited

  1. [1] server.py: build_zoho_links
  2. [2] config.py
  3. [3] GET /api/v1/tickets/{ticketId}/approvals
  4. [4] POST /api/v1/tickets/{ticketId}/approvals/{approvalId}/approve
  5. [5] GET /api/v1/tickets/{ticketId}/approvals/{approvalId}
  6. [6] POST /api/v1/tickets/{ticketId}/approvals
  7. [7] run_llm_routing_suite.py
Listar aprobaciones de tickets | Beam Help — Beam Help