Авторизация¶
Для работы с представленными в нашей Виртуальной АТС методами API вам необходимо обеспечить получение token. Время жизни токена определяется параметрами Виртуальной АТС, установленными в разделе «Параметры платформы». Если авторизация прошла успешно метод API возвращает 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»: {
}
}