Перейти к основному содержимому

Выпуск УНЭП

Перед тем как сотрудник подпишет что-либо через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа., эта подпись должна быть ему выпущена. Выпуск — отдельный процесс с жизненным циклом и набором API-методов.

Общие сведения о типах подписей — в разделе Подписи.

Когда использовать

Используйте эту страницу, когда интеграция должна заранее выпустить УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. сотрудникам, сменить канал подтверждения подписи или понять, почему сотрудник не может подписать через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа..

Что нужно заранее

Что нужноГде получить
tenantHostАдрес тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. HRlink
clientIdТекущий пользователь
Токен с правом на выпуск УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа.Аутентификация и Роли и права доступа
clientUserId сотрудникаПолучить пользователей или Получить пользователя клиента по СНИЛС
ФИО и документы сотрудникаВ системе-источнике или профиле HRlink
Канал подтвержденияТелефон или email сотрудника

Типовые сценарии

Выпустить УНЭП

  1. Найдите пользователя клиента.
  2. Вызовите Выпустить УНЭП.
  3. Дождитесь состояния FINISHED в lastNQESIssueRequest.

Отменить выпуск

  1. Проверьте, что задача выпуска ещё не в терминальном состоянии.
  2. Вызовите Отменить выпуск УНЭП.
  3. Перечитайте сотрудника и проверьте состояние CANCELED.

Сменить канал подписания

  1. Убедитесь, что у сотрудника уже есть выпущенный УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа..
  2. Вызовите Сменить канал подписания УНЭП.
  3. Проверьте новый nqesConfirmationChannel в данных сотрудника.

Ограничения и ошибки

  • Одновременно у сотрудника может идти только один процесс выпуска или смены канала.
  • Интегратор не подтверждает выпуск за сотрудника: сотрудник проходит шаги в ЛК HRlink.
  • Подписание через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. всегда требует код из SMS или email.
  • Провайдера УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. и удалённую идентификацию задаёт администратор тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов., а не запрос API.

Что делает кто

УчастникЧто делает
ИнтеграторЗапускает выпуск, отслеживает прогресс, при необходимости отменяет
СотрудникПодтверждает выпуск кодом, проходит идентификацию, принимает выпущенный сертификат — всё через ЛК HRlink
Система HRlinkГенерирует заявление, отправляет уведомления, общается с провайдером, обновляет состояние
Провайдер УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа.Выпускает сертификат. Администратор тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. выбирает провайдера в настройках: Астрал или Контур
ГосуслугиПроверяют личность сотрудника при удалённой идентификации (тип REMOTE)
Интегратор не управляет всем процессом

Через публичный API доступны только три действия: инициация выпуска, отмена и смена канала подписания. Подтверждение выпуска, идентификацию и приём сертификата сотрудник делает сам в ЛК HRlink — публичных методов для этого нет.

Флоу выпуска

Параллельно в любой момент интегратор может отменить процесс — задача перейдёт в CANCELED. Если система не смогла продвинуть процесс после серии повторов, задача уйдёт в AUTO_FAILED.

Методы интегратора

Инициировать выпуск

Выпустить УНЭПPOST /api/v1/clients/{clientId}/users/issue/nqes.

В запросе — массив заявок issueRequests. На каждого сотрудника:

ПолеОписание
clientUserIdIDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. пользователя клиента (обязательно)
personIdentificationTypeIN_PERSON — очная идентификация с печатью формы; REMOTE — через Госуслуги (обязательно)
firstName, lastNameФИО для сертификата (обязательны)
phone или emailХотя бы одно — контакт для отправки уведомления о выпуске и кода подтверждения. После завершения выпуска становится каналом подписания
snils, inn, passportДанные физлица для сертификата
documentsVerificationEnabledПроверять документы (СНИЛС, паспорт, ИНН) перед выпуском

После успешного ответа { "result": true } в системе появляется задача выпуска в состоянии CREATED — дальше процесс идёт автоматически.

Нельзя запустить второй выпуск поверх активного

Система отклонит запрос, если у сотрудника уже есть активный УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. или незавершённый процесс выпуска. Сначала дождитесь FINISHED или отмените текущую задачу.

Отменить выпуск

Отменить выпуск УНЭПPOST /api/v1/clients/{clientId}/users/nqesIssues/cancel.

В теле — clientUserId. Отмена возможна из любого нетерминального состояния. Задача перейдёт в CANCELED.

Сменить канал подписания

Сменить канал подписания УНЭПPOST /api/v1/clients/{clientId}/usersByExternalId/{userExternalId}/nqesChannelChangeRequests.

Канал подписания — куда сотрудник получает код подтверждения при каждой операции подписи через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа.. Возможные значения: SMS, EMAIL. Система выбирает канал автоматически при выпуске (по данным сотрудника), а после завершения выпуска интегратор меняет его этим методом.

Сменить канал во время выпуска нельзя

Валидация отклонит запрос, если у сотрудника нет выпущенного УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа., или есть активный процесс выпуска, или уже есть незавершённый запрос на смену канала.

Как отслеживать прогресс

Отдельного метода «получить состояние выпуска УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа.» нет. Состояние последней задачи выпуска приходит как поле lastNQESIssueRequest внутри UserFullInfoDTO — при чтении сотрудника или пользователя клиента любым из методов:

Внутри lastNQESIssueRequest:

  • state — текущее состояние (NqesIssuingState)
  • nqesIssueTaskIdIDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. задачи выпуска
  • providerASTRAL или KONTUR
  • nqesConfirmationChannel — текущий канал подписания
  • Даты переходов: createdDate, applicationCreatedDate, userNotifiedAboutIssueRequestDate, issuingConfirmedDate, nqesIssuedDate, certificateAcceptedDate, finishedDate и другие

Для интеграции это значит: периодически читайте сотрудников и смотрите на state — отдельный polling не нужен, информация есть там же, где остальные данные о сотруднике.

Подписание через УНЭП

После того как выпуск достиг FINISHED, сотрудник может подписывать через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа.. Флоу всегда двухшаговый: инициировать → подтвердить кодом.

Что подписываемИнициацияПодтверждение
ДокументИнициировать подписание документа УНЭППодтвердить подписание документа УНЭП
Группа заявленийИнициировать подписание группы заявлений УНЭППодтвердить подписание группы заявлений УНЭП
Пакет массовой подписиСоздать запрос массового подписания УНЭППодтвердить массовое подписание УНЭП

После инициации система отправляет сотруднику код на текущий канал подписания (SMS или EMAIL). Сотрудник передаёт код в интеграцию, интеграция вызывает метод подтверждения.

Автоподписание от лица сотрудника через УНЭП не работает

Код подтверждения физически приходит сотруднику — на его телефон или почту. Интегратор не может подписать документ УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. «за сотрудника», даже с использованием мастер-токенаMaster-Api-Token Мастер-токен для M2M-интеграций. Позволяет выполнять запросы от имени любого пользователя системы через заголовки Impersonated-User-Id. Получается через ESA с помощью сертификата интегратора. и impersonationImpersonation Выполнение API-запросов от имени другого пользователя при использовании мастер-токена. Пользователь указывается через заголовки Impersonated-User-Id и Impersonated-User-Id-Type.-заголовков. Это принципиально отличает УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. от ПЭППЭП Простая электронная подпись (SES). Подтверждает факт подписания, но не гарантирует неизменность документа после подписания..

Справочник состояний

Полный перечень NqesIssuingState с указанием, кто инициирует переход и что означает состояние.

СостояниеКто продвигаетСмысл
CREATEDСистемаЗадача создана
APPLICATION_CREATION_PENDINGСистемаГотовится файл заявления
APPLICATION_CREATEDСистемаФайл заявления готов, отправляется уведомление сотруднику
USER_NOTIFIED_ABOUT_ISSUE_REQUESTСотрудникЖдём, пока сотрудник подтвердит выпуск в ЛК
ISSUING_CONFIRMEDСистемаСотрудник подтвердил, процесс продолжается
ISSUING_REJECTING_PENDINGСистемаЗапущен процесс отклонения
PERSON_IDENTIFICATION_CREATEDСотрудникСоздана задача удалённой идентификации, ждём прохождения через Госуслуги (только для REMOTE)
PERSON_IDENTIFIEDСистемаУдалённая идентификация через Госуслуги пройдена (только для REMOTE)
PRINT_FORM_CREATION_PENDINGСистемаГотовится печатная формапечатная форма PDF-документ с визуальным оттиском подписей, который система формирует после завершения документооборота. Печатная форма доступна для скачивания и используется для архивного хранения. с оттиском ПЭППЭП Простая электронная подпись (SES). Подтверждает факт подписания, но не гарантирует неизменность документа после подписания.
PRINT_FORM_CREATEDСистемаПечатная формапечатная форма PDF-документ с визуальным оттиском подписей, который система формирует после завершения документооборота. Печатная форма доступна для скачивания и используется для архивного хранения. готова
NQES_ISSUE_REQUEST_CREATEDСистемаЗапрос ушёл в провайдер (Астрал или Контур)
NQES_ISSUEDСистемаПровайдер вернул сертификат
USER_NOTIFIED_ABOUT_CERTIFICATEСотрудникЖдём, пока сотрудник примет или отклонит сертификат в ЛК
CERTIFICATE_ACCEPTEDСистемаСотрудник принял — процесс завершается

Терминальные состояния (после них задача не меняется) — сгруппированы по смыслу.

Успех

СостояниеЧто произошлоЧто делать
FINISHEDУНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. успешно выпущен и принят сотрудникомМожно подписывать

Выпуск не состоялся — сертификат так и не был выпущен. С точки зрения бизнес-логики все три состояния равнозначны: сотрудник остаётся без УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа..

СостояниеЧто произошлоЧто делать
ISSUING_REJECTEDСотрудник отказался от выпуска на этапе подтвержденияУточнить с сотрудником и запустить новый выпуск
PERSON_IDENTIFICATION_FAILEDУдалённая идентификация через Госуслуги не прошлаРазобраться с данными и запустить новый выпуск
NQES_ISSUE_REQUEST_FAILEDПровайдер УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. отклонил запросЗапустить новый выпуск после исправления причины

Сертификат отклонён после выпуска

СостояниеЧто произошлоЧто делать
CERTIFICATE_DECLINEDСотрудник отклонил выпущенный сертификатЗапустить новый выпуск

Процесс прерван

СостояниеЧто произошлоЧто делать
CANCELEDИнтегратор отменил процесс
AUTO_FAILEDСистема превысила лимит попыток автоматических переходовОбратиться в поддержку

Ограничения

  • Один активный процесс на сотрудника. Одновременно может идти либо выпуск, либо смена канала — но не оба сразу.
  • Провайдера и возможность удалённой идентификации задаёт администратор тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. в настройках — не параметры запроса.
  • Автоподписание (impersonationImpersonation Выполнение API-запросов от имени другого пользователя при использовании мастер-токена. Пользователь указывается через заголовки Impersonated-User-Id и Impersonated-User-Id-Type.) не поддерживается. Для подписи через УНЭПУНЭП Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. нужен реальный сотрудник, который введёт код из SMS или почты.