Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Для того, чтобы стороннее приложение могло использовать ресурсы системы, его необходимо создать и авторизовать.

Создание приложения

Для создания приложения нужно перейти по адресу https://<hostname>/app/register , где hostname — hostname API-сервера провайдера IP-телефонии. Предварительно может понадобиться ввод логина и пароля — это логин и пароль для доступа к интерфейсу виртуальной АТС.

В форме регистрации требуется ввести имя (Application name) приложения, URL перенаправления (Redirect URL) для авторизации (возможно указать несколько через пробел или не указывать ни одного), выбрать тип приложения (Application Type)  – publictrusted или password_credentials, а также указать уровень доступа приложения  (Application Access) – Call API или All.

Типы приложений

Тип “password_credentials” может быть установлен только администратором

Приложениям с типом public доступен метод получения токена доступа через код авторизации, для чего требуется, чтобы пользователь прошел авторизацию в системе (authorization_code flow). 

Приложениям с типом trusted доступен метод получения токена доступа без авторизации пользователя в системе. Приложение получит токен, связанный с пользователем, создавшим приложение (client_credentials flow).

Приложениям с типом password_credentials доступен метод получения токена доступа с помощью логина и пароля пользователя (password flow).

Уровни доступа приложений

Уровень доступа “All” может быть установлен только администратором

Существуют два уровня доступа приложений: Call API и All. Разделение приложений по уровням доступа предусмотрено из-за того, что некоторые приложения, в частности, веб-интерфейсы, ожидают, чтобы АТС клиента была сконфигурирована определенным образом, и изменения конфигурации другими приложениями могут нарушить работу такого веб-интерфейса. Поскольку, как правило, внешним приложениям не требуется изменять конфигурацию АТС, по умолчанию созданное приложение имеет уровень доступа Call API. Если же приложению требуется изменение конфигурации АТС, то возможно повысить его уровень с помощью администратора.

Уровень Call API  позволяет:

Изменение конфигурации приложениям с уровнем Call API недоступно.

Уровень All  – полный доступ, позволяет приложению получать, изменять, добавлять и удалять ресурсы, доступные авторизованному пользователю, в том числе ресурсы конфигурации. Данный уровень доступа приложению может установить только администратор.

Вне зависимости от уровня доступа приложения, в случае, если у пользователя, от имени которого приложение делает запрос, установлен тип доступа “read_only”, то приложению будут разрешены только GET-запросы

После регистрации приложения системы выведет информацию о зарегистрированном приложении, в том числе сгенерированные App ID и App secret приложения, необходимые для авторизации. 

Список всех зарегистрированных пользователем приложений доступен по адресу https://<hostname>/app/

Авторизация приложения

Для авторизации приложений в системе используется протокол OAuth2.

Авторизация публичных приложений с подтверждением пользователя

Авторизация доверенных приложений

Авторизация приложений через логин и пароль пользователя

Запросы к API с токеном доступа

Полученный токен доступа необходимо передавать в заголовке Authorization в формате "Bearer <access_token>" в каждом запроса к API.

Параметры запроса передаются в формате application/x-www-form-urlencoded (content-type: application/x-www-form-urlencoded).

До получения токена доступа тело запроса передается в формате application/x-www-form-urlencoded (content-type: application/x-www-form-urlencoded), а после получения токена доступа — в формате application/json (content-type: application/json).
Данное правило выполняется за некоторыми исключениями: к примеру, при использовании метода POST в ресурсах “Факс” и “Звуковые файлы” тело запроса передается в формате multipart/form-data (content-type: multipart/form-data)

Более подробно про запросы к API с токеном доступа можно прочитать здесь.

Использование токена регенерации (Refresh Token)

Токен доступа (access token) имеет ограниченное время жизни (передается в параметре expires_in). При авторизации публичных (public) и авторизуемых по паролю (password_credentials) приложений существует возможность регенерировать токен доступа, используя токен регенерации (refresh token). С деталями использования токена регенерации можно ознакомиться по ссылке.

← Пользователи и полномочия Интерактивный обозреватель API →

  • No labels