Recurso
Auth
Autenticacion y tokens
5 endpoints · base http://localhost/api/v1
/auth/loginObtener Bearer token
Autentica con usuario y password de `ws_usuario_empresa`. Retorna un Bearer token valido por 24 horas con la empresa asociada al usuario.
Cuerpo
| Campo | Tipo | Descripción |
|---|---|---|
| usuario* | string | Usuario API de ws_usuario_empresa |
| password* | string | Password del usuario API |
Respuestas
| Campo | Tipo | Descripción |
|---|---|---|
| data | object | — |
| data.token | string | Bearer token (64 chars hex) |
| data.empresa_id | integer | — |
| data.empresa | string | — |
| data.usuario_id | integer | — |
| data.expires_at | string<date-time> | — |
| meta | object | — |
| errors | null | — |
| Campo | Tipo | Descripción |
|---|---|---|
| data | null | — |
| meta | object | — |
| errors | object[] | — |
| errors[].code | string | — |
| errors[].message | string | — |
| errors[].field | string | — |
{
"data": null,
"meta": {},
"errors": [
{
"code": "UNAUTHORIZED",
"message": "Usuario o password incorrectos"
}
]
}/auth/logoutCerrar sesion (invalidar token)
Elimina el token del servidor. Con `?all=true` elimina todos los tokens del usuario en la empresa. Siempre retorna 204 (fire-and-forget, no revela si el token existia).
Parámetros
| Nombre | En | Tipo | Descripción |
|---|---|---|---|
| all | query | string (true) | Si es "true", cierra todas las sesiones del usuario en la empresa |
Respuestas
/auth/permissionsObtener permisos del usuario
Retorna los modulos, modelos y acciones que el usuario autenticado puede ver/ejecutar. Genia v2 lo usa para construir el menu dinamico y filtrar botones CRUD/acciones. Resultado cacheado en Memcached 300s. Header `Cache-Control: private, max-age=300`.
Respuestas
| Campo | Tipo | Descripción |
|---|---|---|
| data | object | — |
| data.user | object | — |
| data.user.id | integer | — |
| data.user.codusuario | string | — |
| data.user.nombre | string | — |
| data.user.empresa_id | integer | — |
| data.user.empresa_nombre | string | — |
| data.user.plaza_id | integer | — |
| data.user.plaza_nombre | string | — |
| data.user.perfil_id | integer | — |
| data.user.perfil_nombre | string | — |
| data.modules | object | Modulos accesibles. Clave = app slug. Objeto vacio {} si sin permisos. |
| meta | object | — |
| meta.generated_at | string<date-time> | — |
| meta.cache_ttl_seconds | integer | — |
| meta.cached | boolean | — |
| errors | null | — |
| Campo | Tipo | Descripción |
|---|---|---|
| data | null | — |
| meta | object | — |
| errors | object[] | — |
| errors[].code | string | — |
| errors[].message | string | — |
| errors[].field | string | — |
/auth/permissions/invalidateForzar recalculo de permisos
Borra la cache Memcached de permisos del usuario. La siguiente llamada a GET /auth/permissions recalcula desde BD. Caso de uso: admin cambia perfil del usuario, llama este endpoint para reflejar el cambio sin esperar 5 min.
Respuestas
| Campo | Tipo | Descripción |
|---|---|---|
| data | object | — |
| data.invalidated | boolean | — |
| meta | object | — |
| errors | null | — |
| Campo | Tipo | Descripción |
|---|---|---|
| data | null | — |
| meta | object | — |
| errors | object[] | — |
| errors[].code | string | — |
| errors[].message | string | — |
| errors[].field | string | — |
/auth/refreshRenovar Bearer token
Si al token le quedan menos de 4 horas, genera uno nuevo (24h). Si le quedan mas de 4h, retorna el mismo token sin cambios (idempotente). Token expirado retorna 401.
Respuestas
| Campo | Tipo | Descripción |
|---|---|---|
| data | object | — |
| data.token | string | Bearer token (64 chars hex) |
| data.expires_at | string<date-time> | — |
| meta | object | — |
| errors | null | — |
| Campo | Tipo | Descripción |
|---|---|---|
| data | null | — |
| meta | object | — |
| errors | object[] | — |
| errors[].code | string | — |
| errors[].message | string | — |
| errors[].field | string | — |