Команды API
Здесь содержится справочная информация по командам API панели управления
Авторизация и аутентификация для доступа к API панели управления
Команды API панели управления доступны только авторизованным пользователям. Неавторизованным пользователям требуется пройти процедуру авторизации. Далее, после авторизации в системе, для доступа к API используется аутентификация с помощью токена доступа. Для получения токена доступа необходимо выполнить следующее:
В профиле пользователя, в разделе Ключи доступа, получить идентификатор и секрет клиента. Они будут использоваться далее при создании запроса.
Получить токен с помощью запроса вида:
POST /console/sys/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <ClientId:ClientSecret в кодировке Base64>
grant_type=CLIENT_CREDENTIALS
Например, для HTTP-запроса:
POST /console/sys/token HTTP/1.1
Host: localhost:9090
Content-Type: application/x-www-form-urlencoded
Authorization: Basic dlFCRm05WkNjVmZhV2ZPZnZQTnVua1pncG9jcElBMXhmTW5sbmlwNmR1az06dTNUUFlTMVplRV9TVFJJeFQ4VDh6R3NQYnVRcXFJbDlRbUhDdlJUOXd5cz0=
Content-Length: 29
grant_type=client_credentials
так будет выглядеть ответ в формате JSON с токеном и информацией о нем:
{
"id_token": "eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiI3R0xnMmV0WkZzOG4wOXg1N1pyamlieTdRSEE4c25LLVl4OXJ2eFVoMnVnPSIsInN1YiI6IntcclxuICBcInVzZXItaWRcIiA6IFwiMjVkMjc1N2QtZWQ2Yi00OGFlLTlhYmYtYTU2M2QwMDA1MmFlXCIsXHJcbiAgXCJ1c2VyLWxpc3QtaWRcIiA6IFwiNDExYzVjYTAtOWFkMy00Y2RiLTgzZmUtMDZhMGYyMGNiNWIyXCIsXHJcbiAgXCJ1c2VyLXByZXNlbnRhdGlvblwiIDogXCJhZG1pblwiLFxyXG4gIFwiYXV0aC1pZGVudGl0eVwiIDoge1xyXG4gICAgXCJuYW1lXCIgOiBcInZRQkZtOVpDY1ZmYVdmT2Z2UE51bmtaZ3BvY3BJQTF4Zk1ubG5pcDZkdWs9XCIsXHJcbiAgICBcImRvbWFpblwiIDogXCJ1c2VyX3Rva2Vuc1wiXHJcbiAgfVxyXG59IiwiYXVkIjoidlFCRm05WkNjVmZhV2ZPZnZQTnVua1pncG9jcElBMXhmTW5sbmlwNmR1az0iLCJpYXQiOjE3MTA0MjI3NzMsImV4cCI6MTcxMDQyNjM3MywiYXRfaGFzaCI6IkFjY2Vzc1Rva2VuIGhhc2ggKG5vdCBpbXBsZW1lbnRlZCkifQ.NqLg2JfHuwcHVfjg4ePJGmIhKDDX5wEfduuO5maJoFmI3YGBk4oBbfC6iukKLY1CPUcsiLS0suU-2vaNvfBQt4ePE4l57uED1j7UKVj5ih2NHDuaHBBYDZQjXWC-0FyArC3jHcE7MjLAOqkymWIn0xtHOjLNNct1XdXfHoeZfBU",
"token_type": "Bearer",
"access_token": "Not implemented"
}
Далее, полученный токен будет использоваться для получения доступа к API. Тип авторизации: Bearer
(Bearer Token
).
Токен действителен в течение часа. Таким образо м, можно сделать сразу несколько вызовов (возможно разных команд API), используя уже полученный токен, а не получая его заново.
Если токен устарел, то при вызове API вернется ответ с кодом 401. Это значит, что нужно снова запросить токен аутентификации.
Пример
Рассмотрим пример, в котором используем токен, чтобы получить список приложений в панели управления:
Выполните запрос с методом GET по адресу http://localhost:9090/console/api/v2/applications. При необходимости скопируйте и вставьте полученный ранее токен, а также указанный выше тип авторизации.
Таким образом, для вашего HTTP-запроса:
GET /console/api/v2/applications HTTP/1.1
Host: localhost:9090
Authorization: Bearer eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiI3R0xnMmV0WkZzOG4wOXg1N1pyamlieTdRSEE4c25LLVl4OXJ2eFVoMnVnPSIsInN1YiI6IntcclxuICBcInVzZXItaWRcIiA6IFwiMjVkMjc1N2QtZWQ2Yi00OGFlLTlhYmYtYTU2M2QwMDA1MmFlXCIsXHJcbiAgXCJ1c2VyLWxpc3QtaWRcIiA6IFwiNDExYzVjYTAtOWFkMy00Y2RiLTgzZmUtMDZhMGYyMGNiNWIyXCIsXHJcbiAgXCJ1c2VyLXByZXNlbnRhdGlvblwiIDogXCJhZG1pblwiLFxyXG4gIFwiYXV0aC1pZGVudGl0eVwiIDoge1xyXG4gICAgXCJuYW1lXCIgOiBcInZRQkZtOVpDY1ZmYVdmT2Z2UE51bmtaZ3BvY3BJQTF4Zk1ubG5pcDZkdWs9XCIsXHJcbiAgICBcImRvbWFpblwiIDogXCJ1c2VyX3Rva2Vuc1wiXHJcbiAgfVxyXG59IiwiYXVkIjoidlFCRm05WkNjVmZhV2ZPZnZQTnVua1pncG9jcElBMXhmTW5sbmlwNmR1az0iLCJpYXQiOjE3MTA0Mzg1NjIsImV4cCI6MTcxMDQ0MjE2MiwiYXRfaGFzaCI6IkFjY2Vzc1Rva2VuIGhhc2ggKG5vdCBpbXBsZW1lbnRlZCkifQ.VQOJf59w8wQejc1cUBJWh5DDS8P6KDcbihbANEGkzcu_gDOkau4FOwu2YIBB8ddNfdsxnEivANqr1R26hgL_RcKn28jezAYQ6gy3IyM2TMsPW5APixD4Q6n4YJkWCYGLR8gvJ_xvQUepX7LtGjAs9sE5eTJ150jSgGBbCRZHjBY
ответ будет выглядеть следующим образом:
[
{
"display-name": "DemoCRM-dev",
"user-lists": [
"dbc195ed-3b80-4717-85d4-91dc60f406c5",
"411c5ca0-9ad3-4cdb-83fe-06a0f20cb5b2"
],
"current-task": null,
"description": "",
"project": {
"id": "1eeb5447-c4f8-635e-b776-199d8903fded"
},
"endpoint": null,
"source": {
"project-version-id": "1eeb5447-c51f-6466-b776-199d8903fded",
"project-name": "DemoCRM",
"type": "image",
"image-id": "1eeb5447-c4f8-635e-b776-199d8903fded",
"project-version": "1.0"
},
"error": null,
"uri": "http://127.0.0.1:9090/applications/DemoCRM-dev",
"space-id": "1eeb5437-b8d7-655d-b776-199d8903fded",
"date-created": "2024-01-17T14:27:04.383Z",
"technology-version": "5.0.1-20240117.33032-636",
"name": "DemoCRM-dev",
"default-user-list": "dbc195ed-3b80-4717-85d4-91dc60f406c5",
"development-mode": true,
"debugging": true,
"autostarting-scheduled-jobs": true,
"id": "1eeb5447-c5bb-6867-b776-199d8903fded",
"autostarting-esb": false,
"status": "Running"
}
]
Как видно из примера выше, полученный ранее токен был успешно использован для аутентификации пользователя и получения доступа к API панели управления.
Authentication
- HTTP: Bearer Auth
- HTTP: Basic Auth
Security Scheme Type: | http |
---|---|
HTTP Authorization Scheme: | bearer |
Security Scheme Type: | http |
---|---|
HTTP Authorization Scheme: | basic |