Отправка в организацию уведомления о событии платформы согласий ЕСИА

smev3 link

smev manual

Атрибут Значение
Название esia-permission-notify
Наименование Отправка в организацию уведомления о событии платформы согласий ЕСИА
Поставщики Кредитные организации, страховые организации, микрофинансовые организации, операторы финансовых платформ по согласованию с Центральным банком Российской Федерации. Организации – операторы связи.
Потребители Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Область применения Межведомственное взаимодействие
Версия 1.0.0
Версия МР 3.5.0.1

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

Название Описание
CA_CERT сертификат центра сертификации для подключения к rabbitmq
CLIENT_CERT сертификат, используемый для подключения к rabbitmq
CLIENT_KEY ключ, используемый для подключения к rabbitmq
MQ_HOST хост rabbitmq
MQ_PORT порт rabbitmq
SMEV_SERVICE название смэв сервиса, на который будут отправляться запросы
DATABASE_URL строка подключения к БД
EMULATE_CLIENT флаг эмуляции ответа клиента

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

ELASTIC_HOST, ELASTIC_PORT, ELASTIC_METRIC_PREFIX

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

В данном разделе приведены параметры, необходимые для формирования ответа на полученный запрос.

Параметр Описание Обязательное Пример
status Статус выполнения операции. Принимает значения:
 SUCCEEDED - операция успешно выполнена
  FAULT - ошибка при выполнении запроса
+ 2147483648

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

Данный сервис получает запрос от СМЭВ 3 и ожидает получения ответа. В данном разделе указаны параметры, получаемые в результате обработки запроса.

Параметр Описание Обязательное Пример
routing_code Код маршрутизации - зарегистрированная в ЕСИА мнемоника ИС организации - получателя уведомления + TEST_SYS
notify_data Cодержимое уведомления, отправляемого из платформы согласий в ИС организации + Структура элемента NotifyData

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

Параметр Описание Обязательное Пример
op_type Код операции (события). Принимает значения:
 PermissionOperationEnum.issuePermission - выдача гражданином согласия организации
  PermissionOperationEnum.claimPermission - запрос организацией согласия гражданина
  PermissionOperationEnum.revokePermission - отзыв согласия, ранее выданного гражданином организации
  PermissionOperationEnum.refusePermission - отказ гражданина от выдачи согласия, запрошенного организацией
+ PermissionOperationEnum.issuePermission
oid Идентификатор учётной записи пользователя ЕСИА + 1000320657
session_id Идентификатор сессии (необязательный, вспомогательный атрибут согласия) - 9979b075-43dd-41c2-bec4-0db0452243ba
iss_prm_id Идентификатор согласия в реестре согласий + 59

Примеры

Отправленное сообщение имеет тип IncomingRequest и имеет следующие заголовки (headers)

Заголовок Описание Обязательное Пример
type Тип сообщения + IncomingRequest
service Имя сервиса, отправившего сообщение + esia-permission-notify
incoming_id Идентификатор обрабатываемого запроса + eeab18b6-6108-4692-ae34-a0118cd3240e

В теле сообщения-запроса (payload) передаются следующие поля:

Поле Описание
envelope XML ВС, полученного из СМЭВ
request Словарь с разобранными параметрами, извлеченными из XML ВС, переданной в envelope
metadata Словарь метаданных запроса

Пример запроса (поле request в теле запроса):

{
  "envelope": "<tns:PermissionsNotifyRequest xmlns:tns=\"urn://mincomsvyaz/esia/permissions_notify/1.0.0\">\n    <tns:RoutingCode>TEST_SYS</tns:RoutingCode>\n    <tns:notifyData>\n        <tns:opType>PermissionOperationEnum.issuePermission</tns:opType>\n        <tns:oid>1000320657</tns:oid>\n        <tns:sessionId>9979b075-43dd-41c2-bec4-0db0452243ba</tns:sessionId>\n        <tns:issPrmId>59</tns:issPrmId>\n    </tns:notifyData>\n</tns:PermissionsNotifyRequest>",
  "request": {
    "routing_code": "TEST_SYS",
    "notify_data": {
      "op_type": "PermissionOperationEnum.issuePermission",
      "oid": "1000320657",
      "session_id": "9979b075-43dd-41c2-bec4-0db0452243ba",
      "iss_prm_id": "59"
    }
  },
  "metadata": {
    "message_id": "7e14cef6-379c-11ea-9777-aaaaaa2ca900"
  }
}

Пример ответа:

{
  "status": "SUCCEEDED"
}