Download PDF
Download page REST API. Начало работы с REST API портала «Агрегатор» Termidesk.
REST API. Начало работы с REST API портала «Агрегатор» Termidesk
Получение токена для доступа к REST API портала «Агрегатор»
Перед использованием REST API нужно получить токен, который необходимо подставлять во все последующие запросы, кроме запросов health. Для получения токена нужно авторизоваться в Termidesk, для этого:
- выполнить запрос «https://aggr.termidesk.local/api/auth/v6.1/authenticators»;
- запомнить значения параметров
authUuid,authSmallName,auth; - выполнить запрос, подставив соответствующие значения параметров, полученных ранее:
- либо с использованием утилиты
curl. Пример (в полеauthIdподставляется значение изauthUuid):
- либо с использованием утилиты
curl -X 'POST' \
'https://aggr.termidesk.local/api/auth/v6.1/legacy/login' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: UHnQAF4p8PrwF7pAjvToe102tzj3d6QmO6JKdciOb4p7o49tGxJ1Ak28kW9fkVCp' \
-d '{
"username": "admin123",
"password": "admin123",
"auth": "Встроенный",
"authId": "a6ec7be4-93d1-4473-8471-6dfc8f734d78",
"authSmallName": "builtin"
}'
- либо с использованием интерфейса swagger (см. подраздел Электронный справочник по командам портала «Агрегатор»).
В приведенных командах aggr.termidesk.local - сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk.
Для запросов проверки состояния сервера /aggregator/health используется токен, определенный в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf в значении переменной HEALTH_CHECK_ACCESS_KEY.
Формат запроса к /api/health/check выглядит следующим образом:
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058'
где:
Token 072... - токен, определенный в переменной HEALTH_CHECK_ACCESS_KEY файла /etc/opt/termidesk-vdi/termidesk.conf.
Для форматированного вывода рекомендуется:
- установить пакет
jq:
sudo apt install jq
- выполнить запрос, добавив в конец команды « |
jq». Пример:
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' | jq
В случае, если запрос завершится ошибкой вида «curl: (60) SSL: no alternative certificate subject name matches target host name... curl failed to verify the legitimacy... », нужно дополнить запрос флагом --insecure, который отключит проверку валидности сертификатов:
Выполнение запроса без использования проверки SSL допустимо только на тестовых стендах. Для исправления ошибки в производственной среде необходимо установить на сервер с порталом «Агрегатор» валидные сертификаты.
curl -X 'GET' \
'https://aggr.termidesk.local/aggregator/health/check' \
-H 'accept: application/json' \
-H 'Authorization: Token 072bfec46ac7c42078bb41ff5f6d1ae201006f0824fb4b2bb8ab8befacb01058' --insecure | jq
Формат URL-команд портала «Агрегатор»
Общий вид команд реализован следующим образом:
/aggregator/api/<module>/<ver>/aggregator/<name>/,
где:
<module> - наименование модуля, реализованного в REST API;
<ver> - версия;
<name> - наименование элемента (эндпоинта). После наименования элемента также могут быть включены уникальные номера объектов и наименования других элементов.
Пример команды через curl:
curl -X 'GET' \
'https://aggr.termidesk.local/api/discover/' \
-H 'accept: application/json' \
-H 'X-Auth-Token: izycb3z47wwziibprg183t4ep2ti0tar'
Список доступных модулей портала «Агрегатор»
В REST API реализовано следующее логическое разделение на модули в части портала «Агрегатор»:
- «auth» - модуль для аутентификации пользователей веб-интерфейса;
- «client» - модуль взаимодействия с компонентом «Клиент»;
- «discover» - используется для отображения списка модулей API, предоставляемого сервером (команда
/api/discover/); - «health» - модуль проверок состояния;
- «userinfo» - модуль получения информации о пользователе;
- «webui» - модуль управления функциями, доступными через веб-интерфейс.
Список отображаемых модулей зависит от типа портала, который был выбран при установке:
- «Агрегатор администратора»: доступны «auth», «discover», «health», «userinfo», «webui»;
- «Агрегатор пользователя»: «auth», «discover», «health», «client», «userinfo»;
- «Агрегатор администратора» и «Агрегатор пользователя»: доступны все модули.
Электронный справочник по командам портала «Агрегатор»
Полная информация о параметрах и командах REST API доступна при вводе URL-команды https://aggr.termidesk.local/aggregator/docs/, где aggr.termidesk.local - сетевой адрес или полное доменное имя узла с порталом «Агрегатор» Termidesk.
Для получения доступа пользователь должен быть аутентифицирован на портале «Агрегатор администратора» в этой же сессии веб-браузера.Доступ предоставляется после авторизации в веб-интерфейсе портала «Агрегатор».
Пример использования:
- нажать экранную кнопку [Try it out] в пространстве команд какого-либо модуля для составления запроса;

- отправить запрос на выполнение экранной кнопкой [Execute]. После нажатия будет отображена также команда для запроса через
curl.
