Registrar una lista de fichajes
Este endpoint permite registrar una colección de fichajes no nulos.
POST /api/v1/import/business/{businessId}/clockguardrecords
A continuación, se expone una explicación detallada de cada uno de los campos que pueden conformar el cuerpo de la petición, siendo algunos de ellos obligatorios para que esta se realice de manera exitosa.
|
Los campos obligatorios están marcados con un asterisco (*). |
Cuerpo de la petición
| Análisis del JSON |
|---|
Detalles
|
Ejemplo de la petición
Una vez realizado el análisis de los distintos campos, se muestra un ejemplo del cuerpo de la petición:
[
{
"employeeId": "1006357",
"clockguardType": "WORK",
"recordType": "IN",
"date": "2026-04-09T08:00:00.000Z",
"locationId": "02",
"zoneId": "ZG"
},
{
"employeeId": "1006357",
"clockguardType": "WORK",
"recordType": "OUT",
"date": "2026-04-09T15:00:00.000Z",
"locationId": "02",
"zoneId": "ZG"
}
]
Si la petición es exitosa, la respuesta será un estado 200 OK con el desglose de los fichajes que han sido registrados en el sistema.
El nivel de detalle de la respuesta dependerá de los datos que se hayan enviado en la petición y de la configuración de negocio. Por ejemplo, si el negocio tiene activa la autoconsolidación de fichajes, la respuesta contendrá el identificador interno del fichaje consolidado (orquestId).
Aspectos que tener en cuenta
Las horas se deben enviar en UTC y la publicación se realiza considerando la zona horaria del servicio.
El tamaño máximo permitido para esta petición es de 4000 elementos.
Los fichajes enviados a través de la API pueden mostrarse en el sistema como fichajes registrados o como fichajes consolidados.
Este comportamiento depende de la configuración de negocio (Configuration parameters) y, para cambiarlo, será necesario consultar con el equipo de Orquest.
Si alguno de los registros de la petición tiene errores, la petición devolverá un estado 200 OK indicando en la respuesta el tipo de error:
-
Si el registro está duplicado con un registro previo:
clock_guard_duplicated. En este caso, el registro no se persiste. -
Si el registro de salida no se puede emparejar con un registro de entrada:
error.previous_checkin_not_found. -
Si el identificador de empleado indicado no existe en el negocio:
error.business_employee_not_found. -
Si el fichaje se ha realizado fuera del radio de distancia permitido para la ubicación:
clock_guard_distance_restricted.
|
El sistema permite el envío de registros de fichajes que solapen entre sí: estos se almacenarán y visualizarán tal como se hayan incluido en la petición enviada. |
|
Si el registro corresponde a un día marcado como libre para el empleado, se descarta sin indicar ningún error en la respuesta: el elemento devuelto tendrá |
Si no se indica zona (zoneId), el fichaje se registrará para la tarea indicada (locationId) de la zona General.
Si la tarea (locationId) o la zona (zoneId) indicadas no se corresponden con las que hay en el sistema, el fichaje se registrará sin tarea asociada.
Códigos de error
Además de los errores comunes, este endpoint puede devolver los siguientes códigos:
| Código | Mensaje | Descripción |
|---|---|---|
|
- |
El formato de fecha ( |
|
The employee id cannot be null |
Falta el campo |
Clockguard type cannot be null |
Falta el campo |
|
Record type cannot be null |
Falta el campo |
|
Date cannot be null |
Falta el campo |
|
must match "(OTHER|REST|WORK)" |
El campo |
|
must match "(IN|OUT)" |
El campo |
|
- |
La colección enviada supera el límite de 4000 elementos permitido. Se recomienda dividir la petición en lotes más pequeños. |
|
|
- |
Se ha producido un conflicto al guardar uno o más registros. Se recomienda revisar que los datos enviados no violen ninguna restricción de integridad. |
Enlaces de interés
¿Qué es un fichaje?