Autenticación

Cómo autenticarse en el API de BIMS

Para acceder a funciones de BIMS mediante su API, deberá autenticarse como una cuenta de usuario de BIMS configurada en la instancia de BIMS a la que desea conectarse, y se aplicarán los permisos asignados a esa cuenta de usuario, de la misma manera en que se aplicarán en la interfaz de usuario.

Mecanismos de Autenticación

BIMS ofrece dos métodos de autenticación a través del API:

  1. Mediante un API Key

  2. Mediante un Usuario y Contraseña

Autenticación mediante API Key

Para autenticarse mediante API Key, envíelo en alguno de los siguientes encabezados.

Opciones de Headers de Autenticación

Nombre
Valor

Authorization

Bearer: <API Key>

Authorization

<API Key>

X-API-Key

<API Key>

Los API Keys no tienen una fecha de expiración, pero pueden ser desactivados administrativamente.

Autenticación mediante Login

POST /users/login

Si no cuenta con un API Key, pero cuenta con el usuario y la contraseña de la cuenta de BIMS, entonces puede autenticarse mediante un login.

Guarde el valor Session.id recibido y envíelo en las siguientes consultas al API via URL en el argumento "sid".

El Session.id tiene una fecha de expiración, definida en el atributo Session.expiration_date. Luego de esa fecha el Session.id ya no tendrá vigencia y deberá volver a hacer login.

Si encuentra que el User tiene configurado un API Key en el atributo User.api_key, entonces luego del login puede emplear la autenticación via API Key, evitando así la necesidad de manejar la expiración de la sesión.

Headers

Nombre
Valor

Content-Type

application/json

Body

Nombre
Tipo
Descripción

user

string

Nombre de Usuario

password

string

Hash MD5 de la Contraseña

tenant

string

Código de Empresa (Exclusivo y requerido solo para cuentas SaaS)

Response

{
    "status": "ok",
    "code": "200",
    "data": {
        "User": {
            "id": "3",
            "name": "BIMS DB2",
            "login": "bims_support",
            ...
        },
        "Company": {
            "id": null,
            "name": null,
            "country_id": null
        },
        "Group": {
            "id": "1",
            "name": "Administradores",
            "full": true,
            "perms": null,
            "Subgroup": []
        },
         ...
        "Session": {
            "id": "mhd3iehk855r7oj3pkmualftr3",
            "expire": "2024-11-23 18:08:34",
            "current_timestamp": "2024-11-22 18:08:34"
        }
    },
    "last_update": "2024-11-22 18:08:34"
}

Last updated