SkyNet-SIA

Sistema Integral Administrativo · REST API v1

● Online CI4 4.7.2 PHP 8.2
Endpoints
87
rutas registradas
Módulos
9
auth · emp · bio · inc · rep · cat · hosp · usr · tab
Seguridad
JWT
Argon2id · access 15min · refresh 7d
Base URL
/api/v1
prefijo de todos los endpoints
Módulos y endpoints
🔐 Auth /api/v1/auth 8 EP
GET/api/pingHealth checkpúblico
POST/auth/loginLogin sistema webpúblico
POST/auth/refreshRenovar access tokenpúblico
GET/auth/meDatos del usuario actualjwt
POST/auth/logoutCerrar sesión actualjwt
POST/auth/logout-allCerrar todas las sesionesjwt
POST/auth/registroRegistrar usuario del sistemaadmin
POST/auth/biometrico/buscarBuscar guardia (API Key)api-key
POST/auth/biometrico/loginLogin biométrico (API Key)api-key
👷 Empleados /api/v1/empleados 13 EP
GET/empleadosListar paginadojwt
GET/empleados/:idDetalle con catálogosjwt
GET/empleados/buscarBúsqueda full-textjwt
GET/empleados/dashboardConteos y estadísticasjwt
GET/empleados/alertasIncidencias + perfiles incompletosjwt
GET/empleados/nomina/:idNómina por periodojwt
POST/empleadosRegistrar empleadojwt
POST/empleados/masivoCarga masiva con validaciónjwt
PUT/empleados/:idActualizar (personal/trabajo/banco)jwt
POST/empleados/:id/fotoSubir foto de perfiljwt
POST/empleados/baja-masivaBaja masivaadmin
POST/empleados/:id/bajaDar de bajaadmin
POST/empleados/:id/baja-accionReingreso / Reactivaciónadmin
📡 Biométrico /api/v1/biometrico 5 EP
POST/biometrico/buscarBuscar guardia entrada/salidajwt
POST/biometrico/registroRegistrar entrada o salidajwt
POST/biometrico/qr/generarGenerar token QR (5 min)jwt
POST/biometrico/qr/usarUsar token QR (un solo uso)jwt
GET/biometrico/registrosHistorial con búsqueda y fechasjwt
📋 Incidencias /api/v1/incidencias 3 EP
GET/incidenciasListar pendientes de aprobaciónjwt
POST/incidenciasCrear con comprobante opcionaljwt
POST/incidencias/:id/aprobarAprobar o rechazaradmin
📊 Reportes · Tabulador /api/v1/reportes 13 EP
GET/reportes/altasAltas por periodojwt
GET/reportes/bajasBajas por periodojwt
GET/reportes/nomina/:idNómina simple de empleadojwt
GET/reportes/asistenciaPreview 24x24 paginadojwt
POST/reportes/prenominaPre-nómina agrupada por zonajwt
GET/tabuladorListar tabuladoresadmin
GET/tabulador/zonasCatálogo de zonasadmin
GET/tabulador/puestosCatálogo de puestosadmin
POST/tabuladorCrear tabuladoradmin
GET/tabulador/:idDetalle con ítemsadmin
POST/tabulador/:id/itemUpsert ítem (sueldo/bono/desc)admin
DELETE/tabulador/item/:idDeshabilitar ítemadmin
PATCH/tabulador/:id/estatusCambiar estatusadmin
🗂️ Catálogos /api/v1/catalogos 23 EP
GET/catalogos/tiposTipos de catálogojwt
GET/catalogos/:idÍtems de un catálogojwt
GET/catalogos/:id/buscarBuscar por nombre (LIKE)jwt
GET/catalogos/banco/:clabeInstitución bancariajwt
GET/catalogos/servicios/selectAutocomplete de serviciosjwt
GET/catalogos/empresasListar empresasjwt
POST/catalogos/empresasCrear empresaadmin
PUT/catalogos/empresas/:idActualizar empresaadmin
GET/catalogos/zonasListar zonasjwt
GET/catalogos/clientesListar clientesjwt
GET/catalogos/serviciosListar serviciosjwt
POST/catalogos/serviciosCrear servicioadmin
GET/catalogos/regionesListar regionesjwt
GET/catalogos/areas-geograficasÁreas geográficasjwt
🏥 Hospitales · Inventario /api/v1/hospitales 11 EP
GET/hospitalesListar hospitalesjwt
GET/hospitales/:idDetalle hospitaljwt
GET/hospitales/productosCatálogo de productosjwt
GET/hospitales/:id/recepcionesEntradas de un hospitaljwt
POST/hospitales/:id/recepcionesRegistrar entradajwt
GET/hospitales/:id/salidasSalidas de un hospitaljwt
POST/hospitales/:id/salidasRegistrar salida (valida stock)jwt
GET/hospitales/:id/inventarioStock completo del hospitaljwt
GET/hospitales/:id/inventario/:prodStock de un productojwt
POST/hospitales/:id/asignar-empleadoAsignar hospital al usuariojwt
👤 Usuarios del sistema /api/v1/usuarios 5 EP
GET/usuariosListar todos con roles/permisosadmin
GET/usuarios/:idDetalle con roles_permisos[]admin
GET/usuarios/rolesCatálogo de rolesadmin
POST/usuariosCrear (genera username y password)admin
POST/usuarios/:id/rolesAsignar roles y permisosadmin
Quick start

1 · Login → 2 · Usa el access_token en cada request

# 1. Login POST http://localhost/SkyNet-SIA/public/api/v1/auth/login Content-Type: application/json { "name_user": "SuperAdmin", "password": "tu_password" } # Respuesta → tokens.access_token # 2. Usar el token GET http://localhost/SkyNet-SIA/public/api/v1/empleados Authorization: Bearer <access_token>
Niveles de acceso
público — sin autenticación api-key — header X-API-KEY jwt — cualquier usuario autenticado admin — nivel ≤ 2 superadmin — solo nivel 1