Для некоторых видов сведений (ВС) Адаптер предоставляет возможность отправки и приема сообщений в упрощенном формате. Вместо полных XML-конвертов, в запросах отправляются и в ответах возвращаются только бизнес-данные по протоколу REST API.
Это возможно благодаря плагинам, разработанным специально для определенных ВС.
На данный момент разработано 2 плагина:
- Проверка действительности Паспорта Гражданина РФ по серии и номеру - предназначен для обмена в упрощенном формате по виду сведений: «Проверка действительности Паспорта Гражданина РФ по серии и номеру». URN: //mvd/guvm/passport-validity/1.3.0;
- Передача статусов и результатов предоставления государственных и муниципальных услуг (1.0.2) - предназначен для обмена в упрощенном формате по виду сведений: «Передача статусов и результатов предоставления государственных и муниципальных услуг» версии 1.0.2. URN: http://epgu.gosuslugi.ru/elk/status/1.0.2
Для добавления плагина в интерфейсе ИУА под админской учетной записью необходимо в меню выбрать пункт «Настройка плагинов» (рисунок 1).
Рисунок 1 - Раздел «Настройка плагинов» в меню ИУА.
На странице «Плагины» нажать кнопку «Добавить» и заполнить поля (Рисунок 2):
- Шаблон - шаблон плагина, соответствующий необходимому ВС;
- Мнемоника плагина - произвольный уникальный идентификатор создаваемого плагина, который будет использоваться для маршрутизации при обращении по REST API;
- Информационная система - предварительно созданная ИС, посредством которой плагин будет осуществлять взаимодействие со СМЭВ3;
- Узел ИС – необязательный параметр. Указывается если у ИС есть узлы, и работа плагина предполагается с конкретным узлом;
- Комментарий;
- Активен - переключатель признака доступности плагина.
Рисунок 2 - Добавление плагина.
Для обмена сообщениями посредством плагинов в Адаптере реализованы следующие методы REST API, доступные по адресу http://localhost:7590/plugin/{метод}:
- Метод «Send», обеспечивающий отправку запросов в СМЭВ3 (Рисунок 3);
- Метод «Get», обеспечивающий прием из Адаптера СМЭВ3 ответов на запросы;
- Метод «Find», обеспечивающий поиск сообщений в Адаптере СМЭВ3.
Рисунок 3 - Пример вызова метода send в Postman.
Подробнее о входных и выходных параметрах каждого метода написано в Руководстве Администратора ИУА п.4.3
Далее рассмотрим работу через плагин на одном из Видов Сведений.
Проверка действительности Паспорта Гражданина РФ по серии и номеру
Плагин предназначен для обмена в упрощенном формате по виду сведений «Проверка действительности Паспорта Гражданина РФ по серии и номеру».
Структура бизнес-данных контейнера «requestContent» метода Send
№ |
Название |
Тип |
Обязательность |
Обозначение |
Описание |
1 |
Серия паспорта |
string |
Да |
series |
|
2 |
Номер паспорта |
string |
Да |
number |
|
3 |
Дата выдачи |
date |
Да |
issueDate |
Пример отправки запроса методом «Send»:
{ "pluginMnemonic": "my-test-plugin", "requestContent": { "series": "1234", "number": "567890", "issueDate": "2020-01-01" } } |
Пример синхронного ответа на отправку запроса методом «Send»:
{ "clientId": "104e9eb0-f60d-4daf-9942-29804eb05982", "messageId": "ff2d56af-3efe-11ed-a795-0a0027000003" } |
Пример отправки запроса на получения ответа из СМЭВ методом «Get»:
{ "pluginMnemonic": "my-test-plugin" } |
Пример ответа в случае, если паспортные данные принадлежат существующему действующему паспорту:
{ "clientId": "ad6f6e31-a861-44ad-97f4-6a73b287c135", "replyToClientId": "104e9eb0-f60d-4daf-9942-29804eb05982", "messageId": "4c565e7c-5bf6-cd89-2531-248c7048f9e6", "responseContent": { "validDoc": null } } |
Пример ответа в случае, если указанные паспортные данные не существуют:
{ "clientId": "1781d3ed-5a8e-4eb1-8426-6eed78af221e", "replyToClientId": "104e9eb0-f60d-4daf-9942-29804eb05982", "messageId": "4c565e7c-5bf6-cd89-2531-248c7048f9e6", "responseContent": { "notFoundDoc": {} } } |
Пример ответа в случае, если указанный паспорт не действителен:
{ "clientId": "104e9eb0-f60d-4daf-9942-29804eb05981", "replyToClientId": "104e9eb0-f60d-4daf-9942-29804eb05982", "messageId": "4c565e7c-5bf6-cd89-2531-248c7048f9e6", "responseContent": { "invalidDoc": { "invalidityReason": "606", "invalidityDate": "2007-10-26" } } } |
Подробные примеры работы других реализованных плагинов можно найти в Руководстве Администратора ИУА п.4.3