Типы приложений
Тип “password_credentials” может быть установлен только администратором
Приложениям с типом public доступен метод получения токена доступа через код авторизации, для чего требуется, чтобы пользователь прошел авторизацию в системе (authorization_code flow).
Приложениям с типом trusted доступен метод получения токена доступа без авторизации пользователя в системе. Приложение получит токен, связанный с пользователем, создавшим приложение (client_credentials flow).
Приложениям с типом password_credentials доступен метод получения токена доступа с помощью логина и пароля пользователя (password flow).
Уровни доступа приложений
Уровень доступа “All” может быть установлен только администратором
Существуют два уровня доступа приложений: Call API и All. Разделение приложений по уровням доступа предусмотрено из-за того, что некоторые приложения, в частности, веб-интерфейсы, ожидают, чтобы АТС клиента была сконфигурирована определенным образом, и изменения конфигурации другими приложениями могут нарушить работу такого веб-интерфейса. Поскольку, как правило, внешним приложениям не требуется изменять конфигурацию АТС, по умолчанию созданное приложение имеет уровень доступа Call API. Если же приложению требуется изменение конфигурации АТС, то возможно повысить его уровень с помощью администратора.
Уровень Call API позволяет:
получать все ресурсы (метод GET), доступные авторизованному пользователю,
создавать обработчики событий (call events),
удалять записи разговора,
удалять сообщения голосовой почты,
инициировать отправку, а также отмену и повтор отправки факсов,
удалять входящие сообщения факса,
инициировать совершение вызовов,
управлять вызовами и прерывать их.
Изменение конфигурации приложениям с уровнем 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 →