AttendanceBook/PunchesByShifts

 


POST https://customerapi.geovictoria.com/api/v1/AttendanceBook/PunchesByShifts

 

Descripción

Obtener las marcas agrupadas por turno del libro de asistencia para un periodo de tiempo y un conjunto de
usuarios. Entrega un objeto por usuario con la lista de sus turnos, y dentro de cada turno las marcas registradas en
ese día.

Request

Request Body

 

Campos Tipo de dato Descripción
StartDate String Fecha inicial de consulta. Formato yyyyMMddHHmmss. Requerido
EndDate String Fecha final de consulta. Formato yyyyMMddHHmmss. Requerido
UserIds String Lista de identificadores de usuario separados por coma. Requerido

Ejemplo request

{
      "StartDate": "20260501000000",
      "EndDate": "20260531235959",
      "UserIds": "65631998"
  }

 

Importante

  • Solo se incluyen los turnos que tienen turno asignado en el día; cada turno trae sus marcas en el arreglo
    Punches.
  • Las horas se devuelven en formato HH:MM.
  • Los campos sin valor se omiten de la respuesta.

Response

Response Body

La respuesta es un arreglo de usuarios. Cada usuario tiene los siguientes campos:

Campos Tipo de dato Descripción
Id String Identificador interno único del usuario
Identifier String Identificador del usuario (RUT/cédula u otro)
Enabled String Indica si el usuario está habilitado (1 = habilitado, 0 = deshabilitado)
Name String Nombre del usuario
LastName String Apellido del usuario
Email String Correo electrónico corporativo
GroupDescription String Descripción del grupo al que pertenece el usuario
PositionId String Identificador del cargo
PositionDescription String Descripción del cargo
WeeklyWorkingHoursCodeId String Identificador del código de jornada semanal
CustomColumn1 String Columna personalizada 1
CustomColumn2 String Columna personalizada 2
CustomColumn3 String Columna personalizada 3
IsHiddenForReports String Indica si el usuario está oculto en los reportes (True / False)
Shifts Array Lista de turnos del usuario con sus marcas (ver detalle abajo)

 

Shifts

 

Campos Tipo de dato Descripción
Id String Identificador único del turno
Date String Fecha del día del turno (yyyyMMddHHmmss)
BelongsToDay String Día al que pertenece el turno
StartTime String Hora de inicio del turno (HH:MM)
MaxStartTime String Hora máxima de inicio del turno (HH:MM). Vacío si no aplica
ExitTime String Hora de salida del turno (HH:MM)
Type String Tipo de turno (FixedShift, NotWorking, etc.)
FixedShiftHours String Horas fijas del turno (HH:MM)
ShiftDisplay String Representación visible del turno (ej: “07:00 – 16:00 (60 mins)”, “Break”)
BreakType String Tipo de colación (FreeLunch, NoLunch, etc.). Puede no aparecer en turnos sin colación
BreakMinutes String Minutos de colación
BreakStart String Hora de inicio de la colación (HH:MM)
BreakEnd String Hora de término de la colación (HH:MM)
Status String Estado del turno (enabled / disabled)
Custom String Valor personalizado del turno
Punches Array Marcas registradas en el turno (ver detalle abajo)

 

Punches

 

Campos Tipo de dato Descripción
PunchId String Identificador único de la marca
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.)
GroupDescription String Descripción del grupo asociado a la marca
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
AssignedInBook Boolean Indica si la marca está asignada en el libro de asistencia
BoxSn String Número de serie del reloj que registró la marca
IdProject String Identificador del proyecto asociado a la marca (si aplica)
IdTask String Identificador de la tarea asociada a la marca (si aplica)
Checksum String Checksum de validación de la marca
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
JustifiedTimeJustification String Justificación del tiempo justificado. Solo aparece si la marca está justificada

 

Códigos

 

Código Descripción
200 Éxito
400 Error en el request

Ejemplo response

[
      {
          "Id": "K0--lX0NcrkLeP_w62AeFQ",
          "Identifier": "65631998",
          "Enabled": "1",
          "Name": "Maria Constanza",
          "LastName": "Gamba Cante",
          "Email": "moti.0226@hotmail.com",
          "GroupDescription": "dinatech mobile sas - 2001",
          "PositionId": "xit8BQ5HOO3ZejTzkmsEWA",
          "PositionDescription": "ASISTENTE DE OPERACIONES",
          "WeeklyWorkingHoursCodeId": "sDzBzlFnefikfhnZoFXLiw",
          "CustomColumn2": "11002",
          "IsHiddenForReports": "False",
          "Shifts": [
              {
                  "Id": "-8K921C_fnri5yeIm6TgHA",
                  "Date": "20260504000000",
                  "BelongsToDay": "20260504000000",
                  "StartTime": "07:00",
                  "MaxStartTime": "",
                  "ExitTime": "16:00",
                  "Type": "FixedShift",
                  "FixedShiftHours": "00:00",
                  "ShiftDisplay": "07:00 - 16:00 (60 mins)",
                  "BreakType": "FreeLunch",
                  "BreakMinutes": "60",
                  "BreakStart": "00:00",
                  "BreakEnd": "00:00",
                  "Status": "enabled",
                  "Custom": "",
                  "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"
                      },
                      {
                          "Type": "Salida",
                          "Date": "20260504180000",
                          "Origin": "RCGPRS",
                          "GroupDescription": "dinatech mobile sas - 2001",
                          "UploadDate": "20260504230014",
                          "ShiftPunchType": "Salida",
                          "UserIdentifier": "65631998",
                          "AssignedInBook": true,
                          "BoxSn": "3316201807148",
                          "IdTask": "",
                          "IdProject": "",
                          "PunchId": "kD5nugTsYaCHbDh_-ns1Og",
                          "Checksum": "SgKFLFZVO6hIIau03rOdtyxZj3AlwhzbRAzISaTMIy94Jvn"
                      }
                  ]
              },
              {
                  "Id": "GQfRNJeWP1SL5sLCnYm1Qg",
                  "Date": "20260509000000",
                  "BelongsToDay": "20260509000000",
                  "StartTime": "07:00",
                  "MaxStartTime": "",
                  "ExitTime": "11:00",
                  "Type": "FixedShift",
                  "FixedShiftHours": "00:00",
                  "ShiftDisplay": "07:00 - 11:00 ( No Lunch )",
                  "BreakType": "NoLunch",
                  "BreakMinutes": "",
                  "BreakStart": "00:00",
                  "BreakEnd": "00:00",
                  "Status": "enabled",
                  "Custom": "",
                  "Punches": [
                      {
                          "Type": "Ingreso",
                          "Date": "20260509070600",
                          "Origin": "RCGPRS",
                          "GroupDescription": "dinatech mobile sas - 2001",
                          "UploadDate": "20260509120645",
                          "ShiftPunchType": "Entrada",
                          "UserIdentifier": "65631998",
                          "AssignedInBook": true,
                          "BoxSn": "CKQX212460008",
                          "IdTask": "",
                          "IdProject": "",
                          "PunchId": "xv_M4tteRmE_avjDMhJPQQ",
                          "Checksum": "7Z4thNedvaVa12-IEuFPpOkyOrdDqoPGSRdhqXx5oIch9Kn"
                      }
                  ]
              }
          ]
      }
  ]
Tabla de contenidos