Punch/PaginatedListByDate
POST https://customerapi.geovictoria.com/api/v1/Punch/PaginatedListByDate
Descripción
Obtener las marcas de la empresa en un rango de fechas, de forma paginada. Devuelve una página de marcas junto
con información de paginación (página actual, total de páginas y si es la última). La empresa se determina a partir
del
token de autenticación.
Request
Request Body
| Campos | Tipo de dato | Descripción |
|---|---|---|
| StartDate | String | Fecha inicial de consulta. Formato yyyyMMddHHmmss. La hora se normaliza al inicio del día (00:00:00). Requerido |
| EndDate | String | Fecha final de consulta. Formato yyyyMMddHHmmss. La hora se normaliza al fin del día (23:59:59). Requerido |
| Page | String | Número de la página a consultar (mayor a 0). Requerido |
{
"StartDate": "20260501000000",
"EndDate": "20260531235959",
"Page": "1"
}
Importante
- La fecha de inicio debe ser menor o igual a la fecha de fin.
- El rango de consulta no puede exceder el máximo de meses permitido para consultas de asistencia.
- Las fechas se devuelven en formato yyyyMMddHHmmss.
- Los campos sin valor (nulos) se omiten de la respuesta.
- Los campos de geolocalización (Longitude, Latitude, Accuracy) solo aparecen si la marca tiene posición
GPS.
Response
Response Body
La respuesta es un objeto de paginación con los siguientes campos:
| Campos | Tipo de dato | Descripción |
|---|---|---|
| Punches | Array | Lista de marcas de la página actual (ver detalle abajo) |
| IsLastPage | Boolean | Indica si la página actual es la última |
| CurrentPage | Number | Número de la página actual |
| TotalOfPages | Number | Cantidad total de páginas disponibles para el rango consultado |
Punches
| Campos | Tipo de dato | Descripción |
|---|---|---|
| Type | String | Tipo de marca (Ingreso / Salida) |
| Date | String | Fecha y hora de la marca (yyyyMMddHHmmss) |
| Origin | String | Origen de la marca (reloj, app, web, etc.) |
| Longitude | String | Longitud GPS de la marca. Solo aparece si la marca tiene geolocalización |
| Latitude | String | Latitud GPS de la marca. Solo aparece si la marca tiene geolocalización |
| Accuracy | String | Margen de error del GPS. Solo aparece si la marca tiene geolocalización |
| GroupDescription | String | Descripción del grupo asociado a la marca |
| JustifiedTimeJustification | String | Justificación del tiempo justificado. Solo aparece si la marca está justificada |
| UploadDate | String | Fecha de subida de la marca (yyyyMMddHHmmss) |
| ShiftPunchType | String | Tipo de marca dentro del turno (Entrada / Salida / SalidaColacion / etc.) |
| UserIdentifier | String | Identificador del usuario dueño de la marca (RUT/cédula u otro) |
| AssignedInBook | Boolean | Indica si la marca está asignada en el libro de asistencia |
| CallerId | String | Identificador de origen telefónico de la marca (ANI), si aplica |
| BoxSn | String | Número de serie del reloj que registró la marca |
| IdTask | String | Identificador de la tarea asociada a la marca (si aplica) |
| IdProject | String | Identificador del proyecto asociado a la marca (si aplica) |
| PunchId | String | Identificador único de la marca |
| Checksum | String | Checksum de validación de la marca |
Códigos
| Código | Descripción |
|---|---|
| 200 | Éxito |
| 400 | Error en el request |
Ejemplo response
{
"Punches": [
{
"Type": "Ingreso",
"Date": "20260504070000",
"Origin": "RCGPRS",
"GroupDescription": "dinatech mobile sas - 2001",
"UploadDate": "20260504120057",
"ShiftPunchType": "Entrada",
"UserIdentifier": "65631998",
"AssignedInBook": true,
"BoxSn": "CKQX212460008",
"IdTask": "",
"IdProject": "",
"PunchId": "TJfO5jDKx59qWuzijAVSdQ",
"Checksum": "SgKFLFZVO6hIIau03rOdt4d2hmjhIYZrEytONk4L09KHffa"
}
],
"IsLastPage": false,
"CurrentPage": 1,
"TotalOfPages": 5
}