Обмен данными (интеграционная шина)
Система предназначена для создания единой среды гарантированной доставки данных между информационными ресурсами и системами.
Адрес системы: https://bus.nark.ru/
Использование методов взаимодействия
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией:
- Сервис отправки запроса от системы в шину
- Сервис получения результата по запросу от шины
Сервис отправки запроса от системы в шину
Данный метод предназначен для отправки запроса от информационного ресурса в интеграционную шину на получение или передачу необходимой информации.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• 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 токены используются для аутентификации соответствующего информационного ресурса в Системе.
Особенности выполнения запросов к сервисам
Внимание! Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации.
Пример запроса:
{ "userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiaWF0IjoxNTk2MTExMjc4LCJuYmYiOjE1OTYxMTEyNzgsImV4cCI6MTU5NjExNDg3OH0.pMR7YJlQBFP-_fVBLqlz92rG7XYrdJg3-3ODiEF_-Is", "apiToken": "ARhP4IZU9zjm98usmD6U", "dstService": "nsi", "sync": false, "data": { "method": "getElements", "directory": "test" } }