Обмен данными (интеграционная шина): различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
Адрес системы: https://bus.nark.ru/ | Адрес системы: https://bus.nark.ru/ | ||
+ | |||
+ | API: https://bus.nark.ru/api/request | ||
<strong>Использование методов взаимодействия</strong> | <strong>Использование методов взаимодействия</strong> | ||
Строка 55: | Строка 57: | ||
<b>Особенности выполнения запросов к сервисам</b> | <b>Особенности выполнения запросов к сервисам</b> | ||
+ | |||
+ | Система позволяет осуществлять синхронный и асинхронный варианты взаимодействия при отправке запросов. Для этого предусмотрен параметр sync – он позволяет выбрать вариант взаимодействия при отправке запроса. Если в данном параметре устанавливается значение «true», то запрос будет отработан в синхронном режиме, если нужен асинхронный режим, то следует указывать «false». | ||
<b>Внимание!</b> Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации. | <b>Внимание!</b> Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации. | ||
+ | Во всех методах следует использовать POST запросы. | ||
+ | Данные следует передавать в теле запроса. | ||
Пример запроса: | Пример запроса: | ||
Строка 64: | Строка 70: | ||
"apiToken": "ARhP4IZU9zjm98usmD6U", | "apiToken": "ARhP4IZU9zjm98usmD6U", | ||
"dstService": "nsi", | "dstService": "nsi", | ||
− | "sync": | + | "sync": true, |
"data": { | "data": { | ||
"method": "getElements", | "method": "getElements", | ||
Строка 71: | Строка 77: | ||
} | } | ||
</pre> | </pre> | ||
− | + | ||
− | + | Для просмотра логов всех запросов, проходящих через интеграционную шину предусмотрено использование системы логирования https://elk.nark.ru/ | |
− | |||
− | |||
− | |||
<strong>[https://wiki.nark.ru/index.php/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D1%85_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%BC%D1%83_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8E СПИСОК ДОСТУПНЫХ МЕТОДОВ]</strong> | <strong>[https://wiki.nark.ru/index.php/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D1%85_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%BC%D1%83_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8E СПИСОК ДОСТУПНЫХ МЕТОДОВ]</strong> |
Текущая версия на 11:40, 15 апреля 2024
Система предназначена для создания единой среды гарантированной доставки данных между информационными ресурсами и системами.
Адрес системы: https://bus.nark.ru/
API: https://bus.nark.ru/api/request
Использование методов взаимодействия
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией:
- Сервис отправки запроса от системы в шину
- Сервис получения результата по запросу от шины
Сервис отправки запроса от системы в шину
Данный метод предназначен для отправки запроса от информационного ресурса в интеграционную шину на получение или передачу необходимой информации.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • DstService - код сервиса; • Data – основные данные запроса . Набор данных зависит от кода сервиса.
Внимание! Перед вызовом методов следует получить UserToken при помощи метода "Запрос на получение токена пользователя".
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• RequestId - идентификатор запроса (любая последовательность символов, строка). Данный идентификатор будет использоваться в методе получения результата.
Сервис получения результата по запросу
Данный сервис предназначен для получения результата по запросу по предоставленному идентификатору запроса от интеграционной шины.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • RequestId - идентификатор запроса.
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• Status - код статуса, строка. Статус может принимать одно из следующих значений: o Wait - ожидает выполнения; o Done - выполнена успешно; o Error - ошибка выполнения. • Data - данные ответа (при статусе Done) или пустота; • Error - данные ошибки (при статусе Errore) или пустота.
Используемые в качестве параметров запросов JWT токены используются для аутентификации соответствующего информационного ресурса в Системе.
Особенности выполнения запросов к сервисам
Система позволяет осуществлять синхронный и асинхронный варианты взаимодействия при отправке запросов. Для этого предусмотрен параметр sync – он позволяет выбрать вариант взаимодействия при отправке запроса. Если в данном параметре устанавливается значение «true», то запрос будет отработан в синхронном режиме, если нужен асинхронный режим, то следует указывать «false».
Внимание! Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации. Во всех методах следует использовать POST запросы. Данные следует передавать в теле запроса.
Пример запроса:
{ "userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiaWF0IjoxNTk2MTExMjc4LCJuYmYiOjE1OTYxMTEyNzgsImV4cCI6MTU5NjExNDg3OH0.pMR7YJlQBFP-_fVBLqlz92rG7XYrdJg3-3ODiEF_-Is", "apiToken": "ARhP4IZU9zjm98usmD6U", "dstService": "nsi", "sync": true, "data": { "method": "getElements", "directory": "test" } }
Для просмотра логов всех запросов, проходящих через интеграционную шину предусмотрено использование системы логирования https://elk.nark.ru/