Eliminar un registro de tiempo de tarea en Zoho Desk mediante la API requiere una única solicitud DELETE autenticada que apunte a los identificadores específicos de la tarea y del registro de tiempo. Aquí tienes todo lo que necesitas para que funcione correctamente.
Por qué esto es importante
Los registros de tiempo asociados a tareas en Zoho Desk afectan a los registros de facturación, los informes de productividad y los resúmenes de carga de trabajo de los agentes. Si un registro se introdujo por error — duración incorrecta, tarea equivocada o un duplicado — necesitas una forma fiable de eliminarlo mediante programación en lugar de buscarlo manualmente en la interfaz. Esto resulta especialmente útil al crear scripts de automatización o integraciones que gestionan el seguimiento del tiempo a gran escala.
Paso a paso
Paso 1. Confirma que tus permisos OAuth incluyen permisos de tareas.
Antes de realizar cualquier llamada, verifica que tu token OAuth de Zoho Desk se haya emitido con el alcance Desk.tasks.ALL o, como mínimo, Desk.tasks.DELETE. Sin esto, la API rechazará tu solicitud con un error de autorización. Estos alcances deben declararse cuando generas por primera vez tus credenciales OAuth y no pueden añadirse de forma retroactiva sin volver a autorizar. [2]
Paso 2. Recopila los dos identificadores necesarios.
Necesitarás exactamente dos valores:
taskId— el identificador único de la tarea a la que pertenece el registro de tiempo.timeEntryId— el identificador único del registro de tiempo específico que deseas eliminar.
Ambos IDs se devuelven cuando creas o listas registros de tiempo a través de la API de Zoho Desk. Guárdalos en el momento de la creación o recupéralos con una llamada GET al endpoint de registros de tiempo de la tarea antes de continuar. [1]
Paso 3. Envía la solicitud DELETE.
Realiza una solicitud HTTP DELETE al siguiente endpoint, sustituyendo tus valores reales por los parámetros de ruta:
DELETE /api/v1/tasks/{taskId}/timeEntries/{timeEntryId}
Un ejemplo usando Python tiene este aspecto:
# Assuming `api` is your initialised ZohoDeskApi client
result = api.delete_task_time_entry(
taskId="your_task_id_here",
timeEntryId="your_time_entry_id_here"
)
print(result)
El método envía una solicitud DELETE a la ruta construida y devuelve la respuesta de la API. [1]
Paso 4. Gestiona la respuesta.
Una eliminación exitosa devolverá un HTTP 204 No Content o un payload de confirmación según la configuración de tu portal de Zoho Desk. Si la respuesta contiene una clave error, inspecciona el mensaje — las causas más comunes son un ID no válido, un alcance insuficiente o que el registro ya haya sido eliminado. [1]
---
> Nota: Beam Help es un recurso de soporte experto independiente para productos Zoho — no somos el soporte oficial de Zoho. Para problemas de facturación o a nivel de cuenta, contacta directamente con Zoho.
---
Errores comunes
- Endpoint incorrecto para el tipo de registro. Los registros de tiempo pueden existir en tareas, contactos y cuentas — cada uno tiene su propio endpoint dedicado. Si accidentalmente llamas a
DELETE /api/v1/contacts/{contactId}/timeEntries/{timeEntryId}oDELETE /api/v1/accounts/{accountId}/timeEntries/{timeEntryId}con un ID de registro de tiempo basado en tareas, la llamada fallará o apuntará silenciosamente al registro incorrecto. Asegúrate siempre de que el endpoint coincida con el tipo de objeto padre. [3][6]
- Token OAuth caducado o ausente. Si tu token de acceso ha expirado, la solicitud será rechazada antes de llegar a la lógica del registro de tiempo. Implementa una comprobación de renovación del token antes de realizar llamadas destructivas — una vez que se procesa una eliminación, no puede deshacerse. [2]
- Pasar
taskIdytimeEntryIden el orden incorrecto. Ambos parámetros son cadenas de texto simples y el SDK no te avisará si están intercambiados. Comprueba que el orden de los argumentos coincide con(taskId, timeEntryId)tal como se define en la firma del método. [1]
---
Qué verificar
- Confirmación del alcance: Verifica que tu token OAuth activo incluya
Desk.tasks.DELETEoDesk.tasks.ALLantes de ejecutar la eliminación en producción. [2] - Precisión de los IDs: Contrasta tanto
taskIdcomotimeEntryIdcon una respuesta GET inmediatamente antes de la eliminación para asegurarte de que estás apuntando al registro correcto. [1] - Coincidencia del endpoint: Confirma que el registro de tiempo que deseas eliminar está realmente asociado a una tarea — no a un contacto o una cuenta — para usar la ruta de API correcta. [3][6]