Авторизация

Для работы с большинством методов API необходимо получение token. В случае успешной авторизации метод возвращает token и некоторые выжные для работы с API переменные. Время жизни токена опеределяется установленными параметрами в разделе «Параметры платформы».

В примере запроса используются переменные username и password, которые идентичны тем, что Вы используете для входа в личный кабинет.

Метод авторизации одинаковый для всех пользователей.

Предупреждение

Встроенная система защиты обрабатывает неуспешные запросы авторизации. В случае превышения установленных в платформе лимитов будет выполнена блокировка хоста, с которого выполняется запрос. Разблокировать хост можно в «Защитнике»

Запрос

POST {{v2_host}}/api/
Content-Type: application/json
{
    "action": "auth",
    "obj": "User",
    "action_id": "123",
    "params": {
        "login": "{{username}}",
        "password": "{{password}}"
    }
}

Успешная авторизация владельцем АТС (клиентом)

POST {{v2_host}}/api/

HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Mon, 20 Sep 2021 06:14:14 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 979
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS

{
  "action": "auth",
  "action_id": "123",
  "obj": "User",
  "code": 200,
  "notifies": [],
  "body": {
    "version": {
      "software": "2.9.0",
      "last_update": 1631889200.532154
    },
    "exp": "2021-09-20T10:14:13.998824",
    "user_id": 48,
    "user_name": "Алексей",
    "user_login": "a@office.runtel.org",
    "domain_id": 34,
    "role_id": 2,
    "role_name": "PBX administrator",
    "role_type": 1,
    "role_perms": {},
    "role_visible": {},
    "role_filters": {},
    "auth_type": "http",
    "domain_name": "office.runtel.org",
    "domain_test_until": null,
    "domain_mode": 2,
    "domain_billing_options": {
      "balance": "1000.0",
      "block_inbound": false,
      "block_outbound": false,
      "block_face": false
    },
    "tz": "Europe/Prague",
    "locale": "en_US",
    "token": "J...W"
  }
}

Для потери регистрации необходимо выполнить метод logout.

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "logout",
  "obj": "User",
  "action_id": "123",
  "params": {
  }
}