Отправка документов на подпись в «Госключ» посредством API ЕПГУ
Атрибут | Значение |
---|---|
Название | goskey |
Наименование | Отправка документов на подпись в «Госключ» через API ЕПГУ |
Тип | Адаптер для API ЕПГУ сервиса |
Переменные окружения
Название | Обязательность | Описание | Пример значения |
---|---|---|---|
LOG_LEVEL | - | Уровень логирования | INFO |
RESTART_COUNT_THRESHOLD | - | Количество обработанных сообщений перед перезапуском | 10000 |
RESTART_DELAY | - | Временная задержка в секундах от запуска сервиса, после которой запускается проверка на количество обработанных сообщений | 600 |
FILATOR_URL | - | HTTP ссылка на файловое хранилище | http://filator |
DISABLE_SSL_VERIFY | - | Флаг отключения проверки ssl сертификатов | false |
MQ_HOST | - | Хост RabbitMQ | mq |
MQ_PORT | - | Порт RabbitMQ | 5671 |
MQ_VHOST | - | Виртуальный хост RabbitMQ | / |
MQ_ALIAS | - | Alias сервера RabbitMQ | mq |
MQ_CHANNEL_PREFETCH_SIZE | - | Количество сообщений, получаемых для одного консумера RabbitMQ | 30 |
MQ_CONSUMER_POOL_SIZE | - | Размер пула потоков, прикрепленного к каналу RabbitMQ | 3 |
MQ_USE_TLS | - | Флаг использования tls соединения с RabbitMQ | true |
MQ_USER | - | Имя пользователя используемого для не tls соединения к RabbitMQ | epgu-api |
MQ_PASS | - | Пароль пользователя используемого для не tls соединения к RabbitMQ | password |
CLIENT_KEY | + | Ключ используемый для tls соединения к RabbitMQ | Ключ в pem формате |
CLIENT_CERT | + | Сертификат используемый для tls соединения к RabbitMQ | Сертификат в pem формате |
CA_CERT | + | Сертификат УЦ выдавшего сертификат для RabbitMQ | Сертификат в pem формате |
DATABASE_HOST | - | Хост сервера базы данных | db |
DATABASE_PORT | - | Порт сервера базы данных | 5432 |
DATABASE_NAME | - | Имя базы данных | aggredator-service-epgu-api |
DATABASE_USER | - | Имя пользователя используемое при подключение к базе данных | postgres |
DATABASE_PASS | - | Пароль пользователя используемый при подключении к базе данных | |
DATABASE_POOL | - | Размер пула соединения к базе данных | 5 |
CLIENTS_SIGNERS_CONFIGURATION | + | Конфигурация сервисов подписывателей под каждого клиента. В случае использования openssl, требуются также параметры OPENSSL_KEYS_<имя клиента="">_CERT и OPENSSL_KEYS_<имя клиента="">_KEYимя>имя> | [{"name": "test_openssl", "type": "openssl"}, {"name": "jigner", "type": "jigner", "url": "http://user:pass@localhost:8000?cert=client_cert", "timeout": 15}] |
EPGU_ADAPTERS_CONFIGURATION | - | Конфигурация обращения к средам API ЕПГУ | [{"name":"test","endpoint":"https://svcdev-beta.test.gosuslugi.ru","esia_endpoint":"https://esia-portal1.test.gosuslugi.ru"},{"name":"production","endpoint":"https://www.gosuslugi.ru","esia_endpoint":"https://esia.gosuslugi.ru"}] |
EPGU_DEFAULT_ADAPTER | - | Имя адаптера к ЕПГУ, используемый по умолчанию | test |
Принимаемые параметры
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
service | Имя сервиса. Всегда должно принимать значение goskey |
+ | goskey |
region | Код ОКАТО местоположения организации (можно передавать код ОКАТО региона ) | + | 45000000000 |
client_uuid | Уникальный идентификатор формата UUID, сформированный соответствующим сервисом ЕСИА в привязке на сотрудника организации и ИС вендора, зарегистрированной в ЕСИА | + | ddf21110-3548-44ec-a56a-4d954adff75a |
signature_type | Тип подписи. Допустимые значения: - unep - УНЭП - ukep - УКЭП |
+ | unep |
oid | Идентификатор пользователя в ЕСИА, которому направляются документы | -1 | 1000550738 |
snils | СНИЛС ФЛ, которому направляются документы | -1 | 000-729-729 38 |
backlink | Ссылка для возврата после подписания | - | https://lk.gosuslugi.ru/notifications |
sign_expiration | Максимальный срок для подписания документа. Не более 24 часов с момента отправки документов. Зарезервировано для использования в будущем. В настоящее время значение элемента игнорируется – всегда по умолчанию 24 часа | - | 2022-04-28T17:22:00.000+03:00 |
documents | Данные по каждому документу | + | Последовательность элементов Document, длиной до 10 элементов |
1 - долно быть указано хотя бы одно из значений
Структура элемента Document
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
id | Идентификатор документа. Произвольное значение. | + | 1896644961 |
storage_id | Идентификатора файла в файловом хранилище агредатора | + | b1faa5c305208849be2b020cf960dfa35eec24daaa817eaa83acdb8e37c11366 |
mime_type | Mime-type содержимого документа. Допустимые значения: image/tiff, application/pdf, application/xml, text/plain. | + | application/pdf |
description | Название пакета документов | - | Документ1 |
attributes | Атрибуты документа | +1 | Последовательность элементов Attribute, длиной до 10 элементов |
1 - обязательно требуется указание атрибутов mnemonics (мнемоника внешней информационной системы) и orgName (краткое наименование организации)
Структура элемента Attribute
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
name | Мнемоника атрибута | + | orgName |
value | Значение атрибута | + | ООО "СИМЭНЕРГО" |
Параметры ответа
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
id | Номер заявления | + | 74103637 |
status | Код статуса заявления. Допустимые значения: - 3 - документы подписаны - 4 - отказано в предоставлении услуги - 5 - ошибка отправки в ведомство |
+ | 3 |
status_description | Наименование ведомственного статуса | + | Подписание документов отклонено |
service_passport_id | Идентификатор паспорта услуги | + | 600374 |
source_system | Наименование системы от куда было подано заявление | + | RNDGTEST |
request_date | Метка даты и времени запроса | + | 2023-04-18T16:11:15.635+0300 |
user_id | Идентификатор пользователя | + | 1000411228 |
current_status_id | Идентификатор статуса заявления | + | 138764442 |
statuses | Статусы заявления | + | Последовательность элементов OrderStatus |
response_attachments | Информация о файлах в ответе заявления | - | Последовательность элементов OrderResponseAttachment |
Структура элемента OrderStatus
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
id | Идентификатор статуса | + | 138764433 |
title | Наименование статуса | + | Черновик заявления |
final_status | Флаг финального статуса | - | true |
date | Дата и время смены статуса | + | 2023-04-18T16:11:11.617+0300 |
comment | Комментарий к статусу | - | Учетная запись по СНИЛС не найдена |
Структура элемента OrderResponseAttachment
Параметр | Описание | Обязательное | Пример |
---|---|---|---|
id | Идентификатор файла | + | 138764146/files/ZmlsZS1leGFtcGxlX1BERl8xTUIucGRm |
name | Имя файла | + | file-example_PDF_1MB.pdf.sig |
size | Размер файла | + | 3000 |
mime_type | MIME-тип файла | + | application/x-pkcs7-signature |
storage_id | Идентификатор файла в файловом хранилище Агредатора | + | 5da227c3b975f83c2ff1797f9781c8190b0943778c1221cc557361de5cd96df1 |
Примеры
Для проверки настройки сервиса можно отправить в консоли отправки панели администрирования следующий запрос:
{
"service": "goskey",
"region": "42",
"signature_type": "unep",
"client_uuid": "93d7aa39-79cb-41f4-acc5-cad2f3e845e6",
"snils": "993-358-010 49",
"backlink": "https://docs.agredator.ru",
"documents": [
{
"id": "bc902716-dcf9-11ed-9034-af480ed850df",
"storage_id": "303828d5c6a68e6ad5b17cabe668cc8f0ff23eae213094a47c55f0f09352d25d",
"mime_type": "application/pdf",
"description": "первый тестовый документ",
"attributes": [
{
"name": "mnemonics",
"value": "test"
},
{
"name": "orgName",
"value": "organization"
}
]
}
],
"metadata": {
"client": "rnds",
"adapter": "test"
}
}
В случае успешного подписания документа будет получен ответ:
{
"id": 74103893,
"status": 3,
"status_description": "Документы подписаны",
"service_passport_id": "600374",
"source_system": "RNDGTEST",
"request_date": "2023-04-18T17:10:13.367+0300",
"user_id": 1000411228,
"current_status_id": 138765063,
"statuses": [
{
"id": 138765060,
"title": "Черновик заявления",
"date": "2023-04-18T17:10:10.845+0300"
},
{
"id": 138765061,
"title": "Заявление в очереди на отправку",
"date": "2023-04-18T17:10:13.344+0300"
},
{
"id": 138765063,
"title": "Документы подписаны",
"final_status": true,
"date": "2023-04-18T17:10:37.705+0300"
}
],
"response_attachments": [
{
"storage_id": "90908e17aa02e6c4c6512508694186e3b9cf6c15e4b1ba384e0eca3587da1cf5",
"name": "file-example_PDF_1MB.pdf.sig",
"size": 3000,
"id": "138765063/files/ZmlsZS1leGFtcGxlX1BERl8xTUIucGRm",
"mime_type": "application/x-pkcs7-signature"
},
{
"storage_id": "d104bd536cf8af76f17c10918d76b53b0509476c2fb7b59b94d75927f2233c29",
"name": "file-example_PDF_1MB.pdf",
"size": 1042157,
"id": "138765063/files/ZmlsZS1leGFtcGxlX1BERl8xTUIucGRmX2F0dGFjaA",
"mime_type": "application/pdf"
},
{
"storage_id": "378031bb55ab2e75afd0dcf53602fcac1c63536f2fe309a5d8171f0076c68647",
"name": "req.xml",
"size": 831,
"id": "138765063/files/cmVxLnhtbF9hdHRhY2g",
"mime_type": "text/plain"
}
]
}
В случае отказа от подписи, будет получен следующий ответ:
{
"id": 74103912,
"status": 4,
"status_description": "Подписание документов отклонено",
"service_passport_id": "600374",
"source_system": "RNDGTEST",
"request_date": "2023-04-18T17:14:56.164+0300",
"user_id": 1000411228,
"current_status_id": 138765101,
"statuses": [
{
"id": 138765094,
"title": "Черновик заявления",
"date": "2023-04-18T17:14:53.576+0300"
},
{
"id": 138765095,
"title": "Заявление в очереди на отправку",
"date": "2023-04-18T17:14:56.136+0300"
},
{
"id": 138765101,
"title": "Подписание документов отклонено",
"final_status": true,
"date": "2023-04-18T17:15:50.504+0300"
}
]
}
В случае возникновения ошибок при отправке в ведомство, будет получен следующий ответ:
{
"id": 74103942,
"status": 5,
"status_description": "",
"service_passport_id": "600374",
"source_system": "RNDGTEST",
"request_date": "2023-04-18T17:18:18.576+0300",
"user_id": 1000411228,
"current_status_id": 138765121,
"statuses": [
{
"id": 138765118,
"title": "Черновик заявления",
"date": "2023-04-18T17:18:15.078+0300"
},
{
"id": 138765120,
"title": "Заявление в очереди на отправку",
"date": "2023-04-18T17:18:18.545+0300"
},
{
"id": 138765121,
"title": "Ошибка обработки заявления в ведомстве",
"final_status": true,
"date": "2023-04-18T17:18:19.047+0300",
"comment": "Учетная запись по СНИЛС не найдена"
}
]
}