Verificar QR (1) - [verifyQR]
🧾 Descripción
Este servicio permite validar si un empleado tiene permitido registrarse (por ejemplo, marcar asistencia) en función del último escaneo de QR del bus registrado en el ERP.
La lógica se basa en verificar si el empleado escaneó su QR dentro de las últimas 4 horas (14400 segundos).
El servicio consulta la tabla:
-
Registro de Escaneres de Bus -
Tabla Lista Blanca
Mediante dbErp() para obtener el escaneo más reciente disponible.
🚀 Endpoint
POST /verify-qr
📥 Request Body (Ejemplo)
Parámetros
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| employee | string | ✔️ | Código de empleado a validar |
🔐 Seguridad
El servicio usa comunicación interna con ERP mediante:
-
dbErp() -
Autenticación interna utilizando cookies o token del ERP.
No requiere autenticación adicional desde el cliente.
🧠 Flujo del Servicio (Explicación real)
-
Validación inicial del parámetro
-
Si
employeeestá vacío → se devuelve error.
-
-
Consulta del último escaneo registrado en ERP
Se ejecuta:
-
Si no existen registros
-
Se retorna mensaje indicando que no se encontró escaneo.
-
-
Cálculo de la diferencia de tiempo
Se obtiene el tiempo transcurrido entre:
-
Fecha del escaneo (
fecha) -
Fecha actual
Se obtiene con:
-
-
Aplicación de la regla de validación
-
Si la diferencia es menor a 4 horas (14400 segundos) → permitido
-
Si es mayor → denegado
-
-
Manejo de excepciones
Si ocurre un error interno, se retorna el mensaje de error.
📤 Response 200 – Ejemplos
✔️ Caso permitido (último escaneo dentro de 4 horas)
✔️ Caso denegado (más de 4 horas sin escanear)
❌ No existe escaneo asociado al empleado
❌ Parámetro inválido
❌ Error interno
📚 Schemas utilizados
Registro de Escaneres de Bus (consulta)
Campos consultados:
No hay comentarios para mostrar
No hay comentarios para mostrar