Универсальный сервис отправки сообщений пользователям ЕПГУ государственной почтовой системы (ГЭПС)

smev3 link

smev manual

Атрибут Значение
Название epgu-geps
Тип Адаптер для межведомственного взаимодействия
Наименование Универсальный сервис отправки сообщений пользователям ЕПГУ государственной почтовой системы (ГЭПС)
Назначение Отправление сообщений пользователям ЕПГУ и получения факта прочтения сообщения
Область применения Межведомственное взаимодействие
Версия ВС 2.0.3
Версия МР 3.5
Версия СМЭВ СМЭВ3
Поставщик Единый портал государственных услуг (функций) (ЕПГУ)
Потребители По согласованию с Минцифры России

Описание бизнес-процесса взаимодействия: ИС организации передает через Агредатор в СМЭВ запрос на передачу сообщений пользователям ЕПГУ. СМЭВ передает запрос в ГЭПС, которая передает сообщение гражданину. ГЭПС передает состояние сообщения (ответ) в СМЭВ, которая передает ответ в Агредатор. Агредатор направляет ответ в ИС организации.

flowchart LR; A[ИС организации] <--> B[Агредатор]; B <--> C[СМЭВ]; C <--> D[ГЭПС]; D <--> E[гражданин];

Переменные окружения

Название Описание
CA_CERT Сертификат центра сертификации для подключения к rabbitmq
CLIENT_CERT Сертификат, используемый для подключения к rabbitmq
CLIENT_KEY Ключ, используемый для подключения к rabbitmq
MQ_HOST Хост rabbitmq
MQ_PORT Порт rabbitmq
SMEV_SERVICE Название смэв сервиса, на который будут отправляться запросы

Переменные для конфигурирования подключения к БД:

DATABASE_HOST, DATABASE_PORT, DATABASE_NAME, DATABASE_USER, DATABASE_PASS.

Переменные для конфигурирования отправки метрик в Elasticsearch:

ELASTIC_HOST, ELASTIC_PORT, ELASTIC_METRIC_PREFIX.

Принимаемые параметры

Параметр Описание Обязательное Пример
routing_code Код маршрутизации + SVCDEV
general_data Общий блок отправки сообщений + Составной элемент GeneralDataRequest
requests Блоки отправки сообщений + Последовательность 1-1000 элементов Request
id Идентификатор для определения тестового сценария -  

Справочник кодов маршрутизации

Код Описание
DEV ЕПГУ (среда для разработки)
UAT ЕПГУ (среда для демонстрации)
SVCDEV ЕПГУ (среда для разработки услуг)
PROD ЕПГУ (продуктивная среда)

Рекомендуем для тестирования использовать код маршрутизации «SVCDEV». «PROD» используется в продуктивной среде.

Структура элемента GeneralDataRequest

Общий блок реестрового запроса

Параметр Описание Обязательное Пример
foiv_id Внешний идентификатор ФОИВ -  
settings Настройки для всех записей из запроса, определяющие необходимость оповещать отправителя (потребителя) о прочтении сообщений - Составной элемент Settings
re_notice Настройки для всех записей из запроса, определяющие необходимость отправлять дополнительные уведомления (email, push) по юридически значимым сообщениям, которые не были прочитаны пользователем в установленный срок - Составной элемент ReNotice
message_type Мнемоника шаблона сообщения +  

Структура элемента Settings

Настройки для всех записей из запроса, определяющие необходимость оповещать отправителя (потребителя) о прочтении сообщений

Параметр Описание Обязательное Пример
reading_notification Признак необходимости получения уведомлений о прочтении - true
period_registry_collect Период времени, в течение которого будет осуществляться сбор прочитанных уведомлений по отправленному запросу - P1Y2M2DT10H30M
period_time_registry_collect_valid Период времени, в течение которого будет осуществляться передача прочитанных уведомлений по отправленному запросу - P1Y2M2DT10H30M

Структура элемента ReNotice

Настройки для всех записей из запроса, определяющие необходимость отправлять дополнительные уведомления (email, push) по юридически значимым сообщениям, которые не были прочитаны пользователем в установленный срок

Параметр Описание Обязательное Пример
count Количество повторных уведомлений (email, push) - 0
period Период повторных уведомлений (email, push) - P1Y2M2DT10H30M

Структура элемента Request

Параметр Описание Обязательное Пример
user Идентификатор пользователя, кому отправляется сообщение + Составной элемент User
params Параметры атрибутов сообщения для отображения их в сообщении - Последовательность 0-unbounded элементов NamedElement
attachments Информация о переданных файлах вложениях, сохраненных в файловом хранилище Агредатора - Последовательность идентификаторов файлов вложений uuid. Поле обязательно присутствует, но может быть пустым. ["31625521a1f842575a3bc814cbc750dfc3017421966f634107699c8d71054f15", "181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b"]

Структура элемента User

Идентификатор пользователя, кому отправляется сообщение

Параметр Описание Обязательное Пример
type Тип пользователя. Принимаемые значения:
 PHYSICAL_PERSON
 SOLE_PROPRIETOR
 LEGAL_PERSON
+ PHYSICAL_PERSON
identifiers Идентификатор пользователя + Составной элемент Identifier

Структура элемента Identifier

Параметр Описание Обязательное Пример
type Тип идентификатора пользователя + GepsUserId
properties Свойство идентификатора пользователя + Последовательность 1-unbounded элементов NamedElement

Структура элемента NamedElement

Параметр Описание Обязательное Пример
name Наименование идентификатора пользователя + GepsUserId
value Значение идентификатора пользователя + 1234567890

Параметры ответа

Параметр Описание Обязательное Пример
general_data Общий блок отправки сообщений + Составной элемент GeneralDataRequest
responses Результаты передачи сообщений пользователям в ЛК ЕПГУ от отправителей + Последовательность 1-1000 элементов Response

Структура элемента GeneralDataResponse

Общий блок реестрового ответа

Параметр Описание Обязательное Пример
foiv_id Внешний идентификатор ФОИВ -  

Структура элемента Response

Параметр Описание Обязательное Пример
user Идентификатор пользователя, кому отправляется сообщение + Составной элемент User
status_code Статус ответа в записи. Принимаемые значения:
 ACCEPT – сообщение успешно принято
 REJECT – отказ в приёме сообщения
 READ – сообщение прочитано адресатом
+ ACCEPT
code Системный статус ответа в записи + ACCEPT_EPGU
status_message Описание статуса записи в ответе + string
date_time Дата и время прочтения (вручения) уведомления -1 2001-12-17T09:30:47Z

1 - Обязательно к заполнению при направлении ответа о факте прочтения (вручения) в статусе READ

Примеры

Для проверки настройки сервиса можно отправить в консоли отправки панели администрирования следующий запрос:

особенности эксплуатации

Поле attachments в тестовом запросе содержит последовательность "uuid" из ответа сервиса filator при загрузке в него файлов для отправке пользователю. Подробности загрузки файлов.

{
  "routing_code": "SVCDEV",
  "general_data": {
    "foiv_id": "a",
    "settings": {
      "reading_notification": "true",
      "period_registry_collect": "P1Y2M3DT10H30M",
      "period_time_registry_collect_valid": "P1Y2M3DT10H30M"
    },
    "re_notice": {
      "count": "3",
      "period": "P1M2DT10H30M"
    },
    "message_type": "string"
  },
  "requests": [
    {
      "attachments": ["31625521a1f842575a3bc814cbc750dfc3017421966f634107699c8d71054f15"],
      "user": {
        "type": "PHYSICAL_PERSON",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567890"
              }
            ]
          },
          {
            "type": "SNILS",
            "properties": [
              {
                "name": "SNILS",
                "value": "00000000024"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "034084855570"
              }
            ]
          },
          {
            "type": "Passport",
            "properties": [
              {
                "name": "Series",
                "value": "0002"
              },
              {
                "name": "Number",
                "value": "123456"
              }
            ]
          },
          {
            "type": "STS",
            "properties": [
              {
                "name": "STS",
                "value": "9919285499"
              }
            ]
          },
          {
            "type": "NumberAuto",
            "properties": [
              {
                "name": "NumberAuto",
                "value": "K881KK777"
              }
            ]
          },
          {
            "type": "VIN",
            "properties": [
              {
                "name": "VIN",
                "value": "WVWZZZ15QEW562589"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "LastName",
                "value": "Иванов"
              },
              {
                "name": "FirstName",
                "value": "Иван"
              },
              {
                "name": "MiddleName",
                "value": "Иванович"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              },
              {
                "name": "BirthDate",
                "value": "09.12.1990"
              },
              {
                "name": "PostalCode",
                "value": "127486"
              }
            ]
          }
        ]
      },
      "params": [
        {
          "name": "name1",
          "value": "value"
        },
        {
          "name": "name2",
          "value": "value"
        }
      ]
    },
    {
      "attachments": ["31625521a1f842575a3bc814cbc750dfc3017421966f634107699c8d71054f15"],
      "user": {
        "type": "SOLE_PROPRIETOR",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567892"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "123123123123"
              }
            ]
          },
          {
            "type": "OGRN",
            "properties": [
              {
                "name": "OGRN",
                "value": "313344302100137"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "LastName",
                "value": "Иванов"
              },
              {
                "name": "FirstName",
                "value": "Иван"
              },
              {
                "name": "MiddleName",
                "value": "Иванович"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              }
            ]
          }
        ]
      },
      "params": [
        {
          "name": "name1",
          "value": "value"
        },
        {
          "name": "name2",
          "value": "value"
        }
      ]
    },
    {
      "attachments": ["31625521a1f842575a3bc814cbc750dfc3017421966f634107699c8d71054f15"],
      "user": {
        "type": "LEGAL_PERSON",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567893"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "1234567890"
              }
            ]
          },
          {
            "type": "OGRN",
            "properties": [
              {
                "name": "OGRN",
                "value": "1234567890123"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "Name",
                "value": "ООО Рога Копыта"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              }
            ]
          }
        ]
      },
      "params": [
        {
          "name": "name1",
          "value": "value"
        },
        {
          "name": "name2",
          "value": "value"
        }
      ]
    }
  ]
}

В случае корректной настройки должен прийти ответ следующего вида вида:

{
  "general_data": {
    "foiv_id": "a"
  },
  "responses": [
    {
      "user": {
        "type": "PHYSICAL_PERSON",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567890"
              }
            ]
          },
          {
            "type": "SNILS",
            "properties": [
              {
                "name": "SNILS",
                "value": "00000000024"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "034084855570"
              }
            ]
          },
          {
            "type": "Passport",
            "properties": [
              {
                "name": "Series",
                "value": "0002"
              },
              {
                "name": "Number",
                "value": "123456"
              }
            ]
          },
          {
            "type": "STS",
            "properties": [
              {
                "name": "STS",
                "value": "9919285499"
              }
            ]
          },
          {
            "type": "NumberAuto",
            "properties": [
              {
                "name": "NumberAuto",
                "value": "K881KK777"
              }
            ]
          },
          {
            "type": "VIN",
            "properties": [
              {
                "name": "VIN",
                "value": "WVWZZZ15QEW562589"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "LastName",
                "value": "Иванов"
              },
              {
                "name": "FirstName",
                "value": "Иван"
              },
              {
                "name": "MiddleName",
                "value": "Иванович"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              },
              {
                "name": "BirthDate",
                "value": "09.12.1990"
              },
              {
                "name": "PostalCode",
                "value": "127486"
              }
            ]
          }
        ]
      },
      "status_code": "ACCEPT",
      "code": "ACCEPT_EPGU",
      "status_message": "string"
    },
    {
      "user": {
        "type": "SOLE_PROPRIETOR",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567892"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "123123123123"
              }
            ]
          },
          {
            "type": "OGRN",
            "properties": [
              {
                "name": "OGRN",
                "value": "313344302100137"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "LastName",
                "value": "Иванов"
              },
              {
                "name": "FirstName",
                "value": "Иван"
              },
              {
                "name": "MiddleName",
                "value": "Иванович"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              }
            ]
          }
        ]
      },
      "status_code": "ACCEPT",
      "code": "ACCEPT_EPGU",
      "status_message": "string"
    },
    {
      "user": {
        "type": "LEGAL_PERSON",
        "identifiers": [
          {
            "type": "GepsUserId",
            "properties": [
              {
                "name": "GepsUserId",
                "value": "1234567893"
              }
            ]
          },
          {
            "type": "INN",
            "properties": [
              {
                "name": "INN",
                "value": "1234567890"
              }
            ]
          },
          {
            "type": "OGRN",
            "properties": [
              {
                "name": "OGRN",
                "value": "1234567890123"
              }
            ]
          },
          {
            "type": "NameAddress",
            "properties": [
              {
                "name": "Name",
                "value": "ООО Рога Копыта"
              },
              {
                "name": "AddressStr",
                "value": "123123, г Москва, Пушкинская наб, д 8 стр 3, кв 3"
              },
              {
                "name": "Flat",
                "value": "3"
              },
              {
                "name": "FiasAddress",
                "value": "9f9dc1cd-f62c-4c4a-8733-38587f7e8f83"
              }
            ]
          }
        ]
      },
      "status_code": "ACCEPT",
      "code": "ACCEPT_EPGU",
      "status_message": "string"
    }
  ] 
}