Registros de fichada (Clockio)
Obtener registros de entrada/salida
Obtiene los registros de entrada y salida (clockios) con detalles del empleado, su categoría y su área, ordenados del más reciente al más antiguo.
Para filtrar por fecha hay que enviar from y to juntos; el rango no puede superar los 31 días. Si falta alguno de los dos, se devuelven los últimos 50 registros.
Método: GET /clockio
Parámetros de Query
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
from | string (RFC3339) | ❌ | Fecha inicial (ej: 2025-08-22T00:00:00.000-03:00). Si no se envía junto con to, obtiene los últimos 50 registros |
to | string (RFC3339) | ❌ | Fecha final (ej: 2025-08-30T00:00:00.000-03:00). Máximo 31 días después de from |
employeeIDs | string | ❌ | IDs de empleados separados por comas |
areaIDs | string | ❌ | IDs de áreas separadas por comas |
Respuesta exitosa (200)
[
{
"id": 35085,
"createdAt": "2026-04-24T17:25:56.498Z",
"updatedAt": "2026-04-24T23:08:20.605Z",
"deletedAt": null,
"start": "2026-04-24T14:25:56.497Z",
"end": "2026-04-24T20:08:20.604Z",
"startTerminal": 89,
"endTerminal": 89,
"startType": "manual",
"endType": "manual",
"employeeID": 164,
"employeeName": "Maria Mendoza",
"categoryName": "ENFERMERIA",
"areaName": "INTERNACION",
"areaColor": "#AED4BD",
"modifiedBy": null
},
{
"id": 35082,
"createdAt": "2026-04-24T15:58:33.509Z",
"updatedAt": "2026-04-24T23:01:50.528Z",
"deletedAt": null,
"start": "2026-04-24T12:58:33.496Z",
"end": "2026-04-24T20:01:50.528Z",
"startTerminal": 83,
"endTerminal": 89,
"startType": "manual",
"endType": "manual",
"employeeID": 166,
"employeeName": "Pablo Guzman",
"categoryName": "LIMPIEZA",
"areaName": "LIMPIEZA Y MANTENIMIENTO",
"areaColor": "#B0BBCF",
"modifiedBy": null
}
]Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Exitoso |
| 400 | Fecha con formato inválido o rango mayor a 31 días |
| 500 | Error interno del servidor |
Los campos startType y endType indican cómo se registró la entrada y la salida: QR o faceID (fichada con código QR o reconocimiento facial), manual (cargada desde el panel) o API (creada o modificada a través de esta API).
Crear un registro de fichada
Crea un nuevo registro de entrada/salida para un empleado. start es obligatorio; end es opcional (si no se envía, el registro queda abierto). Ninguna de las dos fechas puede estar en el futuro y end no puede ser anterior a start.
Método: POST /employees/:id/clockio
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
id | string | ID del empleado |
Body requerido
{
"start": "2025-08-30T11:00:05Z",
"end": "2025-08-30T15:30:00Z"
}Respuesta exitosa (201)
{
"id": 35086,
"createdAt": "2026-04-24T17:25:56.498Z",
"updatedAt": "2026-04-24T17:25:56.498Z",
"deletedAt": null,
"start": "2025-08-30T11:00:05Z",
"end": "2025-08-30T15:30:00Z",
"startTerminal": null,
"endTerminal": null,
"startType": "API",
"endType": "API",
"employeeID": 164
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 201 | Registro creado exitosamente |
| 400 | Solicitud inválida, fecha en el futuro, end anterior a start o empleado archivado |
| 404 | Empleado no encontrado |
| 409 | Solapamiento de fichadas |
| 500 | Error interno del servidor |
Actualizar un registro de fichada
Actualiza un registro existente de entrada/salida. Se aplican las mismas reglas que al crear. Si cambia start o end, se borra la terminal asociada a ese extremo y su tipo pasa a API.
Método: PUT /clockio/:id
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
id | string | ID del registro |
Body
{
"start": "2026-04-24T14:25:56.497Z",
"end": "2026-04-24T20:08:20.604Z"
}Respuesta exitosa (200)
{
"id": 35086,
"createdAt": "2026-04-24T17:25:56.498Z",
"updatedAt": "2026-04-24T17:25:56.498Z",
"deletedAt": null,
"start": "2026-04-24T14:25:56.497Z",
"end": "2026-04-24T20:08:20.604Z",
"startTerminal": 89,
"endTerminal": null,
"startType": "QR",
"endType": "API",
"employeeID": 164
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Actualizado exitosamente |
| 400 | Solicitud inválida, fecha en el futuro o end anterior a start |
| 404 | Registro no encontrado |
| 409 | Solapamiento de fichadas |
| 500 | Error interno del servidor |
Eliminar un registro de fichada
Elimina un registro de entrada/salida.
Método: DELETE /clockio/:id
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
id | string | ID del registro |
Respuesta exitosa (200)
{
"message": "deleted successfuly",
"deleted": true
}Códigos de respuesta
| Código | Descripción |
|---|---|
| 200 | Eliminado exitosamente |
| 404 | Registro no encontrado |
| 500 | Error interno del servidor |

