API Asistencia

Documentación de la API

Esta documentación propone una estructura clara para separar los endpoints de uso real, las rutas internas de navegación y las herramientas operativas de soporte.

Base URL

La API principal se encuentra bajo el prefijo /api/v1.

Autenticación

Se combina JWT para sesión de usuario y validación de dispositivo para el flujo de asistencia.

Enfoque

Los endpoints se agrupan por uso funcional: públicos, protegidos, asistencia y utilitarios.

1. Puntos

Son los endpoints que representan la interfaz de negocio para clientes, apps o terminales. Aquí se documentan las operaciones finales que el consumidor usa directamente.

  • POST /api/v1/auth/request-code — solicita el código de acceso.
  • POST /api/v1/auth/verify-code — valida el código y genera sesión.
  • POST /api/v1/auth/refresh — renueva el token.
  • GET /api/v1/attendance/status — consulta el estado actual de asistencia.
  • GET /api/v1/attendance/history — historial de registros.
  • POST /api/v1/attendance/check-in — registro de entrada.
  • POST /api/v1/attendance/lunch-out — registra salida a comer después de la entrada.
  • POST /api/v1/attendance/lunch-return — registra el regreso después de la salida a comer.
  • POST /api/v1/attendance/check-out — registro de salida.

El orden requerido es entrada, salida a comer, regreso de comida y salida laboral. El registro de comida conservan su ubicación y evidencia, pero no modifican las horas laborales que usan los reportes.

2. Rutas

Son rutas que no necesariamente son "acciones de negocio" para el cliente final, pero sí son parte del flujo de navegación y contexto del usuario dentro del sistema.

  • GET /api/v1/bootstrap — carga la configuración inicial del entorno o perfil del usuario.
  • GET /api/v1/auth/me — devuelve el perfil autenticado.
  • POST /api/v1/auth/logout — cierra sesión del dispositivo actual.
  • POST /api/v1/auth/logout-all — cierra todas las sesiones activas.
  • GET /api/v1/devices — lista los dispositivos asociados.
  • DELETE /api/v1/devices/{id} — elimina un dispositivo.

3. Herramientas

Son endpoints auxiliares usados para mantenimiento, validación, diagnóstico y operación del sistema.

  • GET /api/v1/ping — comprobación rápida de disponibilidad.
  • GET /api/v1/health — estado de salud del servicio.