Запрос персональных данных пользователя ЕСИА при наличии его согласия

smev3 link

smev manual

Атрибут Значение
Название esia-personal-data-docs
Тип Адаптер для межведомственного взаимодействия
Наименование Запрос персональных данных при наличии согласия пользователя ЕСИА
Назначение Вид сведений предназначен для получения внешней ИС запрошенных персональных данных зарегистрированного пользователя ЕСИА.
Область применения Межведомственное взаимодействие
Версия ВС 1.0.1
Версия МР 3.5
Версия СМЭВ СМЭВ3
Поставщик ОИВ (Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации)
Потребители ОИВ, ОМСУ, КО, Верховный суд РФ, Страховые организации, осуществляющие ОСАГО

Описание бизнес-процесса взаимодействия: ИС клиента передает через Агредатор в СМЭВ запрос персональных данных зарегистрированного пользователя. ЕСИА получает из СМЭВ запрос и направляет обратно через СМЭВ в Агредатор ответ на запрос, содержащий статус выполнения операции и/или запрошенные персональные данные. Агредатор направляет в ИС клиента полученную информацию.

Особые условия

Вид сведений применим только к подтвержденным учетным записям пользователей в ЕСИА. Решение о передаче персональных данных конкретного пользователя принимается ЕСИА на основании получения оператором ИС клиента (зарегистрированной в ЕСИА под определенной мнемоникой) согласия данного пользователя на передачу указанной информации.

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

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

Название Описание
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 Код ИС обработчика запроса в СМЭВ (для продуктовой версии значение должно быть равно ISIA01001). + ISIA01001
requests Запрос ведомством персональных данных пользователя ЕСИА + Последовательность элементов Request. Не более 1000 элементов.

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

Параметр Описание Обязательное Пример
data_type Тип запрашиваемого сведения или документа гражданина + inn
person_data Персональные данные пользователя в ЕСИА для поиска его учетной записи + Составной элемент PersonData

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

Параметр Описание Обязательное Пример
oid Идентификатор (OID) учётной записи гражданина в ЕСИА -1 1245500
snils СНИЛС гражданина -1 000-510-864 81
inn ИНН гражданина -1 706550310824
fio_doc Фамилия, имя, отчество и документ, удостоверяющий личность гражданина -1 Составной элемент FIODoc

1 - должен присутствовать только один из элементов

Структура элемента FIODoc
Параметр Описание Обязательное Пример
lastname Фамилия гражданина + Фамилия
firstname Имя гражданина + Имя
middlename Отчество гражданина (при наличии) - Отчество
id_doc Документ, удостоверяющий личность гражданина + Составной элемент IdDoc
Структура элемента IdDoc
Параметр Описание Обязательное Пример
type Типы документов, удостоверящих личность гражданина на территории РФ:
- RF_PASSPORT – Паспорт гражданина РФ
- FRGN_PASS - Заграничный паспорт гражданина РФ
- FID_DOC - Паспорт иностранного гражданина
+ RF_PASSPORT
series Серия документа, удостоверяющего личность гражданина (атрибут необязателен только для паспорта иностранного гражданина) - 0000
number Номер документа, удостоверяющего личность гражданина + 123456
issue_date Дата выдачи документа, удостоверяющего личность гражданина +  

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

Параметр Описание Обязательное Пример
responses Ответы на запрос поиска персональных данных пользователя ЕСИА + Последовательность элементов Response
attachment Информация о переданном архиве вложении загруженном в файловое хранилище Агредатора - Составной элемент Attachment

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

Параметр Описание Обязательное Пример
status Статус выполнения операции. Принимает значения:
- SUCCEEDED – операция успешно выполнена (сведение или документ гражданина найден(о) и возвращён(ено) в ответе)
- PROCESSING1 - операция выполняется (отсутствующее сведение или документ гражданина запрашивается в ведомстве)
- FAULT - ошибка при выполнении операции (не найдена учётная запись гражданина, не найдено запрошенное сведение или документ и др.)
+ SUCCEEDED
error_status_info Детальная информация об ошибке - Составной элемент ErrorStatusInfo
oid Идентификатор учётной записи гражданина в ЕСИА - 1027018797
data_type Тип найденного по запросу сведения или документа гражданина - fullName
requests_info_data Информация о запросах сведения или документа гражданина в ведомстве, возвращается в ответе на запрос вида сведений вместе со статусом PROCESSING или вместе со статусом SUCCEEDED в случае, если часть документа или сведения отсутствует и запрашивается в ведомстве - Последовательность элементов RequestInfo
files_info Информация о файлах вложениях, содержащихся в вложении архиве. - Последовательность элеменитов FileInfo

1 - для получения документа/сведения потребуется выполнить еще один запрос с повторным запросом документа/сведения.

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

Параметр Описание Обязательное Пример
code Код ошибки + ESIA-201584
message Описание ошибки + Отсутствует актуальное согласие пользователя на передачу персональных данных указанного типа

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

Параметр Описание Обязательное Пример
request_id Идентификатор запроса сведения или документа гражданина + 6242345498
context Информация о запрашиваемом в ведомстве сведении или документе - для сведений или документов,получаемых из ведомств отдельными запросами (например, сведение или документ за отчётный временной период, сведение или документ за определённый календарный год или квартал календарного года, и т.п.) -  

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

Параметр Описание Обязательное Пример
filename Название файла + fullName_79f50f6b-eac3-4a34-98f8-9cd4968cb158.xml
mime_type Тип файла + application/xml

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

Параметр Описание Обязательное Пример
smev_id Идентификатор вложения, используемый в СМЭВ конверте + fc575a79-7731-11ee-b016-669f8e3543ff
uuid Идентификатор файла в хранилище + 8d90242cf88b39b7b5c865e55be12763c21ccc7b56fcecbdb82f2cec034ed29a
checksum Контрольная сумма + 2f26c25c2cc2269bfb5b383293fc4d1ed7e0032cefb59b5304f30b0676045218
mime_type MIME тип файла + application/zip
filename Имя загруженного файла + SignedContent.zip

Справочник статусов достоверности персональных данных пользователей

Код Статус выполнения операции
verified_by_validate Данные, введённые гражданином и проверенные в ГИС
verified_by_request Сведение или документ, полученный из ГИС по запросу
unverified Данные, не проверенные в ГИС или проверка которых в ГИС неуспешна

Справочник типа сведения или документа гражданина

Код Названия сведения Ведомство Возможные статусы Запрос данных в ведомстве, при отсутствии данных у пользователя
fullName Фамилия, имя, отчество МВД/ПФР verified_by_validate -
birthDate Дата рождения МВД/ПФР verified_by_validate -
birthPlace Место рождения МВД verified_by_validate -
gender Пол МВД verified_by_validate -
citizenship Гражданство МВД verified_by_validate -
mobilePhone Номер мобильного телефона - unverified -
email Адрес электронной почты - unverified -
snils СНИЛС пользователя ЕСИА ПФР verified_by_validate -
inn ИНН пользователя ЕСИА ФНС verified_by_validate/verified_by_request -
homeAddress Адрес места проживания - unverified -
registrationAddress Адрес регистрации - unverified -
RF_PASSPORT Паспорт гражданина РФ МВД verified_by_validate -
PASSPORT_HISTORY История выданных паспортов МВД verified_by_request +
FID_DOC Документ иностранного гражданина ПФР verified_by_validate -
RF_DRIVING_LICENSE Водительское удостоверение - unverified -
MLTR_ID Военный билет - unverified -
FRGN_PASS Заграничный паспорт гражданина РФ МВД unverified/verified_by_validate -
MDCL_PLCY Полис ОМС ФФМОС unverified/verified_by_request +
FID_BRTH_CERT Свидетельство о рождении, выданное в иностранном государстве ЕГР ЗАГС unverified/ verified_by_request -
OLD_BRTH_CERT Свидетельство о рождении, выданное в СССР ЕГР ЗАГС unverified/verified_by_request -
RF_BRTH_CERT Свидетельство о рождении, выданное в РФ ЕГР ЗАГС unverified/verified_by_request -
MARRIED_CERT Свидетельство о заключении брака ЕГР ЗАГС unverified/verified_by_request -
DIVORCE_CERT Свидетельство о разводе ЕГР ЗАГС unverified/verified_by_request -
NAME_CHANGE_CERT Свидетельство о перемене имени ЕГР ЗАГС unverified/verified_by_request -
VEHICLE_CERT Сведения о свидетельствах о регистрации транспортных средств МВД unverified/ verified_by_request -
ILS_PFR Сведения о состоянии индивидуального страхового счета застрахованного лица ПФР verified_by_request +
INCOME_REFERENCE Cправки о доходах и суммах налога физического лица (форма 2-НДФЛ) ФНС verified_by_request +
PENSION_REFERENCE Справка о назначенных пенсиях и социальных выплатах на дату ПФР verified_by_request +
PRE_RETIREMENT_AGE Справка об отнесении гражданина к категории граждан предпенсионного возраста ПФР verified_by_request +
DISABLED_PERSON Справка об инвалидности ПФР verified_by_request +
PAYMENTS_EGISSO Выписка из ЕГИССО ПФР verified_by_request +
ELECTRONIC_WORKBOOK Выписка о трудовой деятельности (электронная трудовая) ПФР verified_by_request +
KID_MDCL_PLCY Полис ОМС ребенка ФФМОС verified_by_request -
FAMILY_ASSETS_BALANCE Выписка из реестра о выдаче сертификатов материнского капитала ПФР verified_by_request +
VEHICLE_INFO Выписка из ГИБДД о транспортных средствах МВД verified_by_request +
PAYOUT_INCOME Сведения о доходах физического лица и о выплатах страховых взносов, произведенных в пользу физического лица ФНС verified_by_request +
SELF_EMPLOYED Сведения о статусе самозанятости ФНС verified_by_request +
GIBDD_DRIVER_LICENSE Сведения о водительском удостовернии, полученном из ГИБДД МВД unverified/verified_by_request +
REG_REALESTATE Сведения об объектах недвижимости Росреестр verified_by_request +

Примеры

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

{
  "routing_code": "ISIA01001",
  "requests": [
    {
      "data_type": "inn",
      "person_data": {
        "snils": "000-510-864 81"
      }
    },
    {
      "data_type": "fullName",
      "person_data": {
        "snils": "000-510-864 81"
      }
    }
  ]
}

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

{
  "attachment": {
    "type": "ftp",
    "smev_id": "fc575a79-7731-11ee-b016-669f8e3543ff",
    "uuid": "8d90242cf88b39b7b5c865e55be12763c21ccc7b56fcecbdb82f2cec034ed29a",
    "checksum": "2f26c25c2cc2269bfb5b383293fc4d1ed7e0032cefb59b5304f30b0676045218",
    "mime_type": "application/zip",
    "filename": "SignedContent.zip"
  },
  "responses": [
    {
      "status": "SUCCEEDED",
      "oid": "1023513797",
      "data_type": "inn",
      "files_info": [
        {
          "filename": "ProofData_04cd30da-c600-4a5e-acc8-d52f2e29cc79.xml",
          "mime_type": "application/xml"
        },
        {
          "filename": "inn_f074fa75-6a66-4645-8d43-3e757ead53f1.xml",
          "mime_type": "application/xml"
        }
      ]
    },
    {
      "status": "SUCCEEDED",
      "oid": "1023513797",
      "data_type": "fullName",
      "files_info": [
        {
          "filename": "ProofData_8eb14be5-256d-4b6b-ac4c-e95e07b2070a.xml",
          "mime_type": "application/xml"
        },
        {
          "filename": "fullName_79f50f6b-eac3-4a34-98f8-9cd4968cb158.xml",
          "mime_type": "application/xml"
        }
      ]
    }
  ]
}

В случае возникновения ошибок будет получен ответ вида:

{
  "responses": [
    {
      "status": "FAULT",
      "error_status_info": {
        "code": "ESIA-201584",
        "message": "Отсутствует актуальное согласие пользователя на передачу персональных данных указанного типа"
      }
    },
    {
      "status": "FAULT",
      "error_status_info": {
        "code": "ESIA-201584",
        "message": "Отсутствует актуальное согласие пользователя на передачу персональных данных указанного типа"
      }
    }
  ]
}

В случае выполнения запроса в ведомство будет получен ответ вида:

{
  "attachment": {
    "type": "ftp",
    "smev_id": "fc575a79-7731-11ee-b016-669f8e3543ff",
    "uuid": "8d90242cf88b39b7b5c865e55be12763c21ccc7b56fcecbdb82f2cec034ed29a",
    "checksum": "2f26c25c2cc2269bfb5b383293fc4d1ed7e0032cefb59b5304f30b0676045218",
    "mime_type": "application/zip",
    "filename": "SignedContent.zip"
  },
  "responses": [
    {
      "status": "SUCCEEDED",
      "oid": "1063913797",
      "data_type": "inn",
    },
    {
      "status": "PROCESSING",
      "oid": "1063913797",
      "data_type": "ILS_PFR",
      "requests_info_data": {
        "request_id": "6242357477"
      },
    }
  ]
}

Набор HTTP запросов

Файл набора HTTP запросов - это файл, созданный в приложении Postman, который содержит набор HTTP запросов, ответов и сопутствующей информации, связанной с тестированием API.

Коллекция в Postman обычно включает в себя следующую информацию:

  1. HTTP запросы: GET, POST, PUT, DELETE и другие типы запросов.
  2. Параметры запросов: параметры пути, параметры запроса, тело запроса, заголовки запроса и другие параметры.
  3. Ожидаемые ответы: коды ответов, тела ответов и заголовки ответов.
  4. Тесты: наборы скриптов, которые используются для проверки правильности ответов на запросы.
  5. Переменные: значения переменных, которые могут использоваться в разных запросах, чтобы избежать повторений.

Загрузить файл с набором HTTP запросов