Адаптер для работы с ЕПГУ
Атрибут | Значение | |
---|---|---|
Название | epgu-adapter | |
Наименование 1 | Адаптер для работы с ЕПГУ | |
Наименование 2 | Получение государственной или муниципальной услуги для указанного пользователя или организации по инициативе третьей стороны (интеграционный модуль) | |
Область применения | Межведомственное взаимодействие | |
Версия | 1.0.3 | |
Версия МР | 3.0 | |
Версия СМЭВ | СМЭВ3 |
Адаптер для работы с ЕПГУ через сервис СМЭВ 3 версии 1.0.3
Общее описание и документация (сайт Госуслуг): https://partners.gosuslugi.ru/catalog/integration_module
Описание конкретных сервисов (сайт Госуслуг): https://gu-st.ru/content/partners/Opisanie%20parametrov%20zaprosa%20dlya%20IM.docx
Особенности тестирования и подключения сервиса в СМЭВ
Особенностью данного СМЭВ сервиса является то, что он сам является шлюзом (интеграционным модулем) к сервисам ЕПГУ. Это значит, что процесс обработки запроса выглядит следующим образом: <сервис Агредатора> -> epgu-adapter -> smev3 -> СМЭВ -> ЕПГУ
, то есть включает в процесс как конкретный сервис Агредатора (например epgu-pfr-account
), так и сервис-адаптер epgu-adapter
и адаптер СМЭВ3 - smev3
.
Таким образом, процесс подключения состоит из следующих шагов:
- Подключение к тестовому контуру СМЭВ для базовой проверки сервиса. Не требует дополнительных действий - только проверка доступности тестового контура СМЭВ.
- Подключение к тестовому контуру ЕПГУ и прохождение теста.
Проведение испытаний в тестовой среде СМЭВ должно проводиться с использованием тестовой системы поставщика ВС – тестовой среды ЕПГУ: в контрольном примере запроса значение элемента RoutingCode
указывается как SVCDEV
, в блоке данных запроса должен отсутствовать признак тестового взаимодействия (элемент TestMessage
) (см. п.п. 3.2.1 Методических рекомендаций по работе с ЕСМЭВ).
Для выполнения данного требования необходимо:
- поле ConfirmType(confirm_type
) установить в значение REST_API
- поле RoutingCode(routing_code
) установить в значение SVCDEV
- настроить сервиc smev3
в соответствии с требованием ЕПГУ:
- признак TestMsg
убирается настройкой SERVICE_USE_PRODUCTION: "true"
- необходимо указать тестовый адрес SMEV_ENDPOINT: "http://smev3-n0.test.gosuslugi.ru:7500/ws?wsdl"
- Выполнить запрос. Пример:
{
"confirm_type": "REST_API",
"routing_code": "SVCDEV",
"person": {
"snils": "000-000-000 03",
"firstName": "Имя",
"lastName": "Фамилия",
"secondName": "Отчество",
"bdate": "2014-09-19",
"passport": {
"series": "22 33",
"num": "112233",
"issueDate": "2008-09-29",
"issueCode": "123-123"
},
"phone": "+7 (912) 123-22-11"
},
"serviceFormCode": "10000012285",
"serviceCode": "10000569524"
}
- Отправить запрос на подключение к продуктовому контуру, и приложить к нему логи взаимодействия от предыдущего запроса.
Переменные окружения
Название | Описание |
---|---|
SMEV_SERVICE | название смэв сервиса, на который будут отправляться запросы |
Переменные для конфигурирования подключения к БД, и RabbitMq:
DATABASE_URL, CA_CERT, CLIENT_CERT, CLIENT_KEY, MQ_HOST, MQ_PORT
Переменные для конфигурирования отправки метрик в Elasticsearch:
ELASTIC_HOST, ELASTIC_PORT, ELASTIC_METRIC_PREFIX
Принимаемые параметры
Запрос на получение государственной или муниципальной услуги для указанного пользователя по инициативе третьей стороны
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
routing_code | Код маршрутизации на ЕПГУ среду. Для простого тестирования необходимо указывать DEV . Для прохождения контрольного теста ЕПГУ необходимо указывать SVCDEV . В продуктивной среде допустимо только значение PROD |
- | DEV |
confirm_type | Тип подтверждения: SMS или REST_API |
- | REST_API |
service_form_code | Идентификатор электронной формы услуги на ЕПГУ. Обычно заполняется конкретным сервисом (например epgu-pfr-account ) |
+ | 10000012285 |
service_code | Идентификатор цели обращения услуги по ФРГУ. Обычно заполняется конкретным сервисом (например epgu-pfr-account ) |
+ | 10000569524 |
person | Данные пользователя для поиска его в ЕСИА | + | Сложный тип Person |
Запрос на получение государственной или муниципальной услуги для указанной организации по инициативе третьей стороны (Пример: услуга «Получение разъяснений по вопросам применения федеральным антимонопольным органом антимонопольного законодательства»)
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
routing_code | Код маршрутизации на ЕПГУ среду | - | DEV |
confirm_type | Тип подтверждения | - | SMS |
service_form_code | Идентификатор электронной формы услуги на ЕПГУ | + | 10000012285 |
service_code | Идентификатор цели обращения услуги по ФРГУ | + | 10000569524 |
author | Данные сотрудника-инициатора для поиска его в ЕСИА | + | Сложный тип Person |
signer | Данные сотрудника-подписанта для поиска его в ЕСИА | + | Сложный тип Person |
draft | Форма заявления | + | Сложный тип Draft |
organization | Данные организации | - | Сложный тип Org |
Структура элемента Person
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
snils | СНИЛС пользователя | - | 000-000-000 03 |
first_name | Имя пользователя | + | Имя |
last_name | Фамилия пользователя | + | Фамилия |
second_name | Отчество пользователя | - | Отчество |
bdate | Дата рождения | + | 2014-09-19 |
phone | Номер мобильного телефона пользователя | + | +7 (912) 123-22-11 |
passport | Паспорт гражданина РФ | + | Сложный тип Passport |
Структура элемента Passport
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
series | Серия документа | + | 22 33 |
num | Номер документа | + | 112233 |
issue_date | Код подразделения | + | 2008-09-29 |
issue_code | Дата выдачи документа | + | 123-123 |
Структура элемента Org
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
ogrn | ОГРН организации | + | 0001234000009 |
inn | ИНН организации | + | 3905074565 |
Структура элемента Draft
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
version | Версия формы услуги для интеграционного модуля | + | 1 |
fields | Массив полей формы | + | Сложный тип Field |
Структура элемента Field
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
code | Код параметра формы | + | form.FormStep4.Panel1_FL.Panel1.Fias_0 |
content | Массив частей параметра | + | Сложный тип Part |
Структура элемента Part
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
value | Значение параметра иил его части | + | 465456, г. Москва, р-н. Внуковское, г. Москва, пр-кт. Андропова, д. 6, к. 1, стр. 5, кв. 45 |
order_number | Порядок части параметра | + | 0 |
Параметры ответа
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
id | Идентификатор заявки, сформированный в Интеграционном модуле | - | 1 |
statusCode | Статус обработки запроса в интеграционном модуле | + | NEW |
limit | Общие лимиты для ИС | - | Сложный тип Limit |
stat | Количество выполненных запросов для ИС | - | Сложный тип Limit |
errorStatusInfo | Детальная информация об ошибке | - | Последовательноcть элементов сложного типа Info |
Структура элемента Limit
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
day | Количество запросов за день | - | 1000 |
month | Количество запросов за месяц | - | 10000 |
total | Общее количество запросов | - | 1000000 |
Структура элемента Info
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
Code | Код ошибки | + | 0 |
Message | Описание ошибки | + | OK |
Ответ зависит от конкретного сервиса. Описание находится тут: https://gu-st.ru/content/partners/Opisanie%20parametrov%20zaprosa%20dlya%20IM.docx
Примеры
Запрос на получение государственной или муниципальной услуги для указанного пользователя по инициативе третьей стороны
Для проверки настройки сервиса можно отправить в консоли отправки панели администрирования следующий запрос:
{
"person": {
"snils": "000-000-000 03",
"firstName": "Имя",
"lastName": "Фамилия",
"secondName": "Отчество",
"bdate": "2014-09-19",
"passport": {
"series": "22 33",
"num": "112233",
"issueDate": "2008-09-29",
"issueCode": "123-123"
},
"phone": "+7 (912) 123-22-11"
},
"serviceFormCode": "10000012285",
"serviceCode": "10000569524"
}
В случае корректной настройки должен прийти следующий ответ:
{
"id": "1",
"statusCode": "NEW",
"limit": {
"day": "1000",
"month": "10000",
"total": "1000000"
},
"stat": {
"day": "5",
"month": "166",
"total": "1626"
},
"errorStatusInfo": [
{
"Code": "0",
"Message": "OK"
}
]
}
Запрос на получение государственной или муниципальной услуги для указанной организации по инициативе третьей стороны (Пример: услуга «Получение разъяснений по вопросам применения федеральным антимонопольным органом антимонопольного законодательства»)
Для проверки настройки сервиса можно отправить в консоли отправки панели администрирования следующий запрос:
{
"ConfirmType": "REST_API",
"author": {
"firstName": "Имя",
"lastName": "Фамилия",
"secondName": "Отчество",
"bdate": "1989-03-20",
"passport": {
"series": "00 00",
"num": "000000",
"issueDate": "2014-08-13",
"issueCode": "360-037"
},
"phone": "+7 (900) 000-00-00"
},
"signer": {
"firstName": "Имя",
"lastName": "Фамилия",
"secondName": "Отчество",
"bdate": "1997-08-08",
"passport": {
"series": "00 00",
"num": "000696",
"issueDate": "2000-11-11",
"issueCode": "123-312"
},
"phone": "+7 (900) 000-00-00"
},
"organization": { "ogrn": "0001234000009", "inn": "3905074565" },
"serviceFormCode": "567",
"serviceCode": "10000526395",
"draft": {
"version": "1",
"fields": [
{
"code": "IQEpguFasUlRukLaw.nameUl",
"content": [
{
"value": "value:Общество с ограниченной ответственностью \"Балтинформ\"",
"orderNumber": "0"
}
]
},
{
"code": "IQEpguFasUlRukLaw.INN",
"content": [
{
"value": "value:3905074565",
"orderNumber": "0"
},
{
"value": "value:0001234000009",
"orderNumber": "1"
}
]
}
]
}
}
В случае корректной настройки должен прийти следующий ответ:
{
"id": "1",
"statusCode": "NEW",
"limit": {
"day": "1000",
"month": "10000",
"total": "1000000"
},
"stat": {
"day": "5",
"month": "166",
"total": "1626"
},
"errorStatusInfo": [
{
"Code": "0",
"Message": "OK"
}
]
}