Войти

Использование плагинов в ИУА СМЭВ3

Для некоторых видов сведений (ВС) Адаптер предоставляет возможность отправки и приема сообщений в упрощенном формате. Вместо полных XML-конвертов, в запросах отправляются и в ответах возвращаются только бизнес-данные по протоколу REST API.

Это возможно благодаря плагинам, разработанным специально для определенных ВС.

На данный момент разработано 2 плагина:

  1. Проверка действительности Паспорта Гражданина РФ по серии и номеру - предназначен для обмена в упрощенном формате по виду сведений: «Проверка действительности Паспорта Гражданина РФ по серии и номеру». URN: //mvd/guvm/passport-validity/1.3.0;
  2. Передача статусов и результатов предоставления государственных и муниципальных услуг (1.0.2) - предназначен для обмена в упрощенном формате по виду сведений: «Передача статусов и результатов предоставления государственных и муниципальных услуг» версии 1.0.2. URN: http://epgu.gosuslugi.ru/elk/status/1.0.2

Для добавления плагина в интерфейсе ИУА под админской учетной записью необходимо в меню выбрать пункт «Настройка плагинов» (рисунок 1).

Рисунок 1. Раздел Настройка плагинов в меню ИУА.png

Рисунок 1 - Раздел «Настройка плагинов» в меню ИУА.

На странице «Плагины» нажать кнопку «Добавить» и заполнить поля (Рисунок 2):

  • Шаблон - шаблон плагина, соответствующий необходимому ВС;
  • Мнемоника плагина - произвольный уникальный идентификатор создаваемого плагина, который будет использоваться для маршрутизации при обращении по REST API;
  • Информационная система - предварительно созданная ИС, посредством которой плагин будет осуществлять взаимодействие со СМЭВ3;
  • Узел ИС – необязательный параметр. Указывается если у ИС есть узлы, и работа плагина предполагается с конкретным узлом;
  • Комментарий;
  • Активен - переключатель признака доступности плагина.

Рисунок 2. Добавление плагина.png

Рисунок 2 - Добавление плагина.

Для обмена сообщениями посредством плагинов в Адаптере реализованы следующие методы REST API, доступные по адресу http://localhost:7590/plugin/{метод}:

  • Метод «Send», обеспечивающий отправку запросов в СМЭВ3 (Рисунок 3);
  • Метод «Get», обеспечивающий прием из Адаптера СМЭВ3 ответов на запросы;
  • Метод «Find», обеспечивающий поиск сообщений в Адаптере СМЭВ3.

Рисунок 3. Пример вызова метода send в Postman.png

Рисунок 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

Авторизуйтесь, чтобы оставить комментарий к статье