Skip to main content
Skip table of contents

Получение токена. VMS Client API

Авторизация пользователя по логину и паролю.

Если будет превышен лимит сессий, которые пользователь может создавать одновременно, то будет 429 ошибка, и нужно будет удалить лишние сессии.

POST/api/v1/token

Headers

Accept

application/json

Body

json

JSON
{
    "login": "mylogin@mail.com",
    "password": "mypassword",
    "session_id": "null|session_id",
    "captcha": "9U6yh",
    "key": "$2y$10$3gXEas4WVUryBA8GgF37vulJz1UrAo2VaYbWccaxeNYoZ.3UJqHYu"
}

loginrequired

string

Логин пользователя

passwordrequired

string

Пароль пользователя

session_idrequired

string

Идентификатор токена, который приходит при 419 статусе, чтобы можно было удалить эту сессию

captcharequired

string

Капча (см. Получение капчи). В случае, если капча отключена в системных настройках, то является необязательным

keyrequired

string

Ключ (см. Получение капчи). В случае, если капча отключена в системных настройках, то является необязательным

Response

200

Возвращает JSON объект с токеном доступа к API и объектом текущего пользователя

JSON
{
                "user": {
    "id": 13,
    "login": "user",
    "name": "user",
    "parent_id": null,
    "permissions": [
        {
            "id": 223,
            "name": "any-permission"
        },
        {
            "id": 221,
            "name": "any-permission"
        },
        {
            "id": 222,
            "name": "any-permission"
        },
        {
            "id": 220,
            "name": "any-permission"
        }
    ],
    "created_at": "",
    "updated_at": "2022-04-21 16:37:46",
    "access_token_id": "c862e3c5a5a87d8b2756e4ad44a43f0a71cbf9cf3063cae019802d0b032ee17f32f69364e7aadb23",
    "can_update_password": true,
    "analytic_license": [
        {
            "type": "analytic_l1",
            "type_pretty": "LIC-XXXX-YY-L1",
            "all": 100,
            "free": 98,
            "used": 2
        },
        {
            "type": "analytic_l2",
            "type_pretty": "LIC-XXXX-YY-L2",
            "all": 100,
            "free": 100,
            "used": 0
        },
        {
            "type": "analytic_l3",
            "type_pretty": "LIC-XXXX-YY-L3",
            "all": 100,
            "free": 99,
            "used": 1
        }
    ]
},
                "access_token": "Bearer token"
            }
422

Возвращает JSON объект с ошибкой, см. Валидация

JSON
{
    "message": "Тут не будет информативного сообщения",
    "errors": {
        "any_key": [
            "Тут будет описана причина ошибки"
        ]
    }
}
419

Превышено количество сессий. Возвращает информацию об активных сессиях

JSON
{
    "sessions": [
        {
            "id": "session_id",
            "is_current": false,
            "user_agent": "Xiaomi / M2102J20SG / 11 / 1.1.0 / Android",
            "client": "android",
            "online": true,
            "ip": "127.0.0.1"
        }
    ],
    "sessions_limit": 5,
    "sessions_count": 5,
    "captcha_will_required_in": 120
}

integer

captcha_will_required_in

Если капча валидна, но при этом превышен лимит сессий, капча будет считаться валидной в течении 120 секунд (как в примере). В случае, если прошло большее количество времени, то необходимо заново получить капчу. Будет присутствовать только если капча включена

429

Превышено количество попыток получения токена

JSON
Два тротлинга, и работают они одновременно:
1. Есть 10 попыток послать запрос с одного IP-адреса за 10 минут
2. Есть 10 попыток послать запрос на получение токена конкретного логина

Пример

JSON
curl -k --location --request POST 'https://vms.local/api/v1/token' \
--header 'Accept:application/json' \
--header 'Content-Type: application/json \
--data-raw '{
    "login": "mylogin@mail.com",
    "password": "mypassword",
    "session_id": "null|session_id",
    "captcha": "9U6yh",
    "key": "$2y$10$3gXEas4WVUryBA8GgF37vulJz1UrAo2VaYbWccaxeNYoZ.3UJqHYu"
}'
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.