Отправка документов на подпись усиленной квалифицированной электронной подписью

smev3 link

smev manual

Атрибут Значение
Название epgu-sign-contract-ukep
Наименование Отправка документов на подпись усиленной квалифицированной электронной подписью
Тип Адаптер для СМЭВ3 сервиса
Версия СМЭВ СМЭВ3
Версия ВС 1.0.0
Версия МР 3.5.0
Поставщик Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Потребители Операторы подвижной радиотелефонной связи, государственные учреждения, иные юридические лица, индивидуальные предприниматели, участвующие в предоставлении услуг в рамках тестирования использования усиленной электронной подписи по согласованию с Министерством цифрового развития, связи и массовых коммуникаций Российской Федерации

Описание бизнес-процесса взаимодействия:

Организация хочет направить документ на подписание усиленной квалифицированной электронной подписью гражданину в личный кабинет на ЕПГУ.

ИС организации отправляет запрос через Агредатор, Агредатор в свою очередь отправляет запрос в СМЭВ к виду сведений, СМЭВ получает запрос и направляет его в ЛК ЕПГУ.

После получения запроса на подписание, гражданин в мобильном приложении "Госключ" выбирает, подписать ему документ или отказать. Далее через СМЭВ направляет в Агредатор подписанный документ или отказ в подписании, Агредатор направляет данную информацию в ИС организации.

Если отправка запроса не произошла, то Агредатор получит от СМЭВ сообщение об ошибке и передаст его в ИС организации.

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

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

Параметр Описание Обязательное Пример
id Идентификатор запроса + Q-a7c09763-c077-46eb-8fb6-38356f456404
timestamp Дата и время формирования запроса + 2021-05-31T18:54:42.963+03:00
route_number Маршрутная информация + MNSV03
oid Идентификатор пользователя в ЕСИА + 1048108555
sign_exp Максимальный срок для подписания документа + 2021-05-25T15:00:00.945+03:00
desc_doc Общее описание документов на подпись + Договор об оказании услуг связи
contracts Документы на подпись + Массив (1-1000) составных элементов Contract
backlink Ссылка для возврата пользователя после подписания - https://tele2.ru
add_data Дополнительные данные - Массив (0-10) составных элементов AddData

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

Документ на подпись

Параметр Описание Обязательное Пример
document Документ на подпись + Составной элемент Document
signature Подпись документа + Составной элемент Document

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

Описание документов

Параметр Описание Обязательное Пример
doc_id Имя-идентификатор вложения с документом + 777d8baf-b05b-4e46-afde-3cace90bd9d5
mime_type Тип содержимого + application/pdf
uuid Идентификатор файла в хранилище + 4833e4c4385dc47f2d2a08469f246e7cd1f66f416691d0b5a92a00d722f8d4ec
description Название документа - Договор купли-продажи

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

Дополнительные атрибуты

Параметр Описание Обязательное Пример
attr_name Мнемоника атрибута +  
attr_value Значение атрибута +  

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

Параметр Описание Обязательное Пример
id Идентификатор ответа + Q-a7c09763-c077-46eb-8fb6-38356f456404
req_id Идентификатор запроса + Q-a7c09763-c077-46eb-8fb6-38356f456404
timestamp Дата и время формирования ответа + 2021-05-31T09:05:42.963+03:00
oid Идентификатор пользователя в ЕСИА + 1048108555
documents Подписанные документы -1 Массив (1..1000) составных элементов SigDocument
sign_reject Отказ от подписания -1 true
error Ошибка -1 Составной элемент Error

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

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

Подписанный документ

Параметр Описание Обязательное Пример
id Имя-идентификатор вложения с документом, полученное в запросе + 777d8baf-b05b-4e46-afde-3cace90bd9d5
signature_gos_key Файл с подписью документа МП «Госключ» + Составной элемент Document

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

Дополнительные атрибуты

Параметр Описание Обязательное Пример
error_code Код ошибки + 4
error_message Сообщение об ошибке + Истекло время для подписания документов

Примеры

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

Параметр uuid в тестовых запросах — это значение "uuid" из ответа сервиса filator при загрузке в него файлов для подписания. Подробности загрузки файлов. В тестовой среде эмулятор не возвращает вложения и uuid в ответе будет равен 0.

Тестовый сценарий 1. Успешное подписание документов.

Запрос:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "route_number": "MNSV03",
  "timestamp": "2021-08-23T15:00:42.963+03:00",
  "oid": "1048108555",
  "sign_exp": "2021-08-24T15:00:00.945+03:00",
  "desc_doc": "Договор об оказании услуг связи",
  "contracts": [
    {
      "document": {
        "doc_id": "777d8baf-b05b-4e46-afde-3cace90bd9d5",
        "uuid": "b8db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/pdf",
        "description": "Договор купли-продажи"
      },
      "signature": {
        "doc_id": "5bfd8baf-b05b-4e46-afde-3cace90bd9db",
        "uuid": "38db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/sig",
        "description": "Подпись оператора связи"
      }
    }
  ],
  "backlink": "https://tele2.ru"
}

Ответ:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456404",
  "req_id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "timestamp": "2021-08-23T15:00:42.963+03:00",
  "oid": "1048108555",
  "documents": [
    {
      "id": "777d8baf-b05b-4e46-afde-3cace90bd9d5",
      "signature_gos_key": {
        "doc_id": "5bfd8baf-b05b-4e46-afde-3cace90bd9db",
        "uuid": "0",
        "mime_type": "application/sig"
      }
    }
  ]
}

Тестовый сценарий 2. Отклонение подписания пользователем.

Запрос:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "route_number": "MNSV03",
  "timestamp": "2021-08-23T15:00:42.963+03:00",
  "oid": "1048108556",
  "sign_exp": "2021-08-24T18:00:00.945+03:00",
  "desc_doc": "Пакет документов для оказания услуг связи",
  "contracts": [
    {
      "document": {
        "doc_id": "777d8baf-b05b-4e46-afde-3cace90bd9d5",
        "uuid": "b8db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/pdf",
        "description": "Договор купли-продажи"
      },
      "signature": {
        "doc_id": "5bfd8baf-b05b-4e46-afde-3cace90bd9db",
        "uuid": "38db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/sig",
        "description": "Подпись оператора связи"
      }
    }
  ],
  "backlink": "https://tele2.ru"
}

Ответ:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456404",
  "req_id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "timestamp": "2021-08-23T15:00:42.963+03:00",
  "oid": "1048108556",
  "sign_reject": true
}

Тестовый сценарий 3. Ошибка подписания документов.

Запрос:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "route_number": "MNSV03",
  "timestamp": "2021-08-23T16:00:42.963+03:00",
  "oid": "1048108557",
  "sign_exp": "2021-08-24T19:00:00.945+03:00",
  "desc_doc": "Договор с физ. лицом",
  "contracts": [
    {
      "document": {
        "doc_id": "777d8baf-b05b-4e46-afde-3cace90bd9d5",
        "uuid": "b8db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/pdf",
        "description": "Договор купли-продажи"
      },
      "signature": {
        "doc_id": "5bfd8baf-b05b-4e46-afde-3cace90bd9db",
        "uuid": "38db842e8b72a60d4c4059326445359872b3bfe32accb57e9a2929bdf6c878f5",
        "mime_type": "application/sig",
        "description": "Подпись оператора связи"
      }
    }
  ],
  "backlink": "https://tele2.ru"
}

Ответ:

{
  "id": "Q-a7c09763-c077-46eb-8fb6-38356f456404",
  "req_id": "Q-a7c09763-c077-46eb-8fb6-38356f456575",
  "timestamp": "2021-08-23T09:05:42.963+03:00",
  "oid": "1048108557",
  "error": {
    "error_code": "4",
    "error_message": "Истекло время для подписания документов"
  }
}