Обмен данными (интеграционная шина): различия между версиями

Материал из НСК-Wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий этого же участника)
Строка 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": false,
+
     "sync": true,
 
     "data": {
 
     "data": {
 
         "method": "getElements",
 
         "method": "getElements",

Текущая версия на 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/

СПИСОК ДОСТУПНЫХ МЕТОДОВ