Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Оглавление

...

maxLevel2

Модуль предназначен для просмотра списка методов API платформы Robin. С их помощью можно интегрировать некоторый функции платформы в свои приложения.

Работа с модулем доступна только пользователям с ролью "Администратор Оркестратора". Поэтому если у вас нет такой роли, то модуль "API" не отобразится на панели меню.

Все запросы выполняются только под авторизованным пользователем. Подробнее про авторизацию см. на странице "API. Авторизация"

Посмотреть доступные методы можно на вкладках страницах с описанием вкладок раздела:

Авторизация и получение токена

Для работы с API платформы необходимо получить токен доступа (access_token). Токен используется для заполнения заголовка авторизации в запросах к API.

Запрос для получения токена

Метод: POST 

...

Параметры тела POST-запроса:

...

Секретный ключ клиента. Пример:

lN10xJuiK9fnIlUIRxWEaJwSEKvaeckL

Значение можно получить из панели администратора в Keycloak (один из компонентов платформы Robin).

...

...

Идентификатор тенанта. Пример:

f9fdg366-31e5-11ee-be30-0236va230006

Идентификатор тенанта, в рамках которого будут выполняться запросы к API. Например, при запросе списка машин, система вернет только те машины, которые добавлены в указанный тенант.

Получить идентификатор пользователя можно из базы "robin_2".

панель
titleПример SQL-запроса

SELECT id

FROM robin_user_service.tenants

WHERE name = 'название тенанта';

...

Идентификатор пользователя. Пример:

5g8c3bc4-2ff1-30a1-36ca-7sc274fa86ad

Идентификатор пользователя платформы Robin, под учётной записью которого будут выполняться запросы к  API. При выполнении запросов будут учитываться права пользователя в том тенанте, который вы указали в запросе. Например, при запросе списка роботов, система вернет только тех роботов, который доступны указанному пользователю в указанном тенанте.

Получить идентификатор пользователя можно из базы "robin_2".

панель
titleПример SQL-запроса

SELECT id
FROM robin_user_service.users
WHERE username = 'логин пользователя';

...

Блок кода
titleПример запроса
POST https://prod.rpa.ru:8443/realms/robin/protocol/openid-connect/token
Content-Type: application/x-www-form-urlencoded
client_id=ExternalClient&client_secret=lN10xJuiK9fnIlUIRxWEaJwSEKvaeckL&grant_type=urn:ietf:params:oauth:grant-type:token-exchange&tenant_id=f9fdg366-31e5-11ee-be30-0236va230006&user_id=5g8c3bc4-2ff1-30a1-36ca-7sc274fa86ad

Результат запроса

При успешном выполнении запроса будет возвращен ответ с кодом 200

В теле ответа будет указан access_token, который необходим при выполнении запросов к API платформы.

панель
titleПример JSON ответа
{
  "access_token": "ваш_токен_доступа",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Примечания

  • Токен необходимо указывать в запросах в заголовке Authorization:
панель

Authorization: Bearer <ваш_токен_доступа>

  • Токен имеет ограниченное время жизни. Срок его жизни можно узнать или изменить через интерфейс Keycloak.
  • Для безопасности никогда не храните секретный ключ (client_secret) в открытом виде.