Referencia

Recurso

Auth

Autenticacion y tokens

5 endpoints · base http://localhost/api/v1

¿Prefieres Postman?Colección·Environment·Cómo usarla
post
/auth/login

Obtener 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.

públicohttp://localhost/api/v1/auth/login

Cuerpo

CampoTipoDescripción
usuario*string
Usuario API de ws_usuario_empresa
password*string
Password del usuario API

Respuestas

200Login exitoso
CampoTipoDescripción
dataobject
data.tokenstring
Bearer token (64 chars hex)
data.empresa_idinteger
data.empresastring
data.usuario_idinteger
data.expires_atstring<date-time>
metaobject
errorsnull
401Credenciales invalidas
CampoTipoDescripción
datanull
metaobject
errorsobject[]
errors[].codestring
errors[].messagestring
errors[].fieldstring
{
  "data": null,
  "meta": {},
  "errors": [
    {
      "code": "UNAUTHORIZED",
      "message": "Usuario o password incorrectos"
    }
  ]
}
post
/auth/logout

Cerrar 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).

🔒 Bearer tokenhttp://localhost/api/v1/auth/logout

Parámetros

NombreEnTipoDescripción
allquerystring (true)Si es "true", cierra todas las sesiones del usuario en la empresa

Respuestas

204Token invalidado (siempre, incluso si ya no existia)
get
/auth/permissions

Obtener 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`.

🔒 Bearer tokenhttp://localhost/api/v1/auth/permissions

Respuestas

200Permisos del usuario
CampoTipoDescripción
dataobject
data.userobject
data.user.idinteger
data.user.codusuariostring
data.user.nombrestring
data.user.empresa_idinteger
data.user.empresa_nombrestring
data.user.plaza_idinteger
data.user.plaza_nombrestring
data.user.perfil_idinteger
data.user.perfil_nombrestring
data.modulesobject
Modulos accesibles. Clave = app slug. Objeto vacio {} si sin permisos.
metaobject
meta.generated_atstring<date-time>
meta.cache_ttl_secondsinteger
meta.cachedboolean
errorsnull
401Token invalido o expirado
CampoTipoDescripción
datanull
metaobject
errorsobject[]
errors[].codestring
errors[].messagestring
errors[].fieldstring
post
/auth/permissions/invalidate

Forzar 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.

🔒 Bearer tokenhttp://localhost/api/v1/auth/permissions/invalidate

Respuestas

200Cache invalidada
CampoTipoDescripción
dataobject
data.invalidatedboolean
metaobject
errorsnull
401Token invalido o expirado
CampoTipoDescripción
datanull
metaobject
errorsobject[]
errors[].codestring
errors[].messagestring
errors[].fieldstring
post
/auth/refresh

Renovar 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.

🔒 Bearer tokenhttp://localhost/api/v1/auth/refresh

Respuestas

200Token actual o renovado
CampoTipoDescripción
dataobject
data.tokenstring
Bearer token (64 chars hex)
data.expires_atstring<date-time>
metaobject
errorsnull
401Token invalido o expirado
CampoTipoDescripción
datanull
metaobject
errorsobject[]
errors[].codestring
errors[].messagestring
errors[].fieldstring