Перейти к основному содержанию
Каждый шаг Электронная подпись формирует один результат для каждого подписанта. Его можно найти как элемент signatures[] в следующих местах:
  • GET /v3/session/{sessionId}/decision/ для сессий «Проверка пользователей» (KYC) и «Верификация бизнеса» (KYB).
  • decision webhook-ов сессий V3, отправляемых, когда сессия переходит в статус Approved, Declined, In Review или Abandoned.
  • на вкладке Подпись сессии в консоли и в разделе подписи PDF-отчёта.
signatures присутствует в решении только тогда, когда в сценарии есть шаг «Электронная подпись». Это пустой массив до тех пор, пока подписант не дойдет до этого шага. Шаг KYC содержит один элемент; шаг KYB содержит по одному элементу для каждого подписанта.

Пример

Объект подписи

Никогда не считайте, что подписант поставил подпись, пока status не станет signed. Для усиленной подписи (AES) значение null в полях certificate, timestamp или signed_file означает, что подпись ещё не поставлена. У подписанной простой подписи (Simple) есть signed_file, но поля certificate и timestamp всегда имеют значение null.

Подписант

Документы

Поля

Каждый элемент documents[].fields[] представляет собой одно поле документа со значением в копии документа для этого подписанта:

Скачивание подписанных документов

Используйте пути из signed_file и evidence_file с вашим API-ключом. Каждый маршрут возвращает сам PDF-файл.
Перед отправкой ответа Didit сверяет сохранённый файл с записанным значением SHA-256. Если они различаются, маршруты подписанного PDF и доказательств возвращают 409, а маршрут изображения возвращает 400, в каждом случае с signature_document_changed. Всегда передавайте signature_id в маршрут доказательств, когда в шаге KYB участвуют несколько подписантов.

Подписанный PDF

Подписанный PDF содержит по порядку:
  1. Страницы документа, показанные подписанту, со всеми проставленными значениями полей там, где вы их разместили.
  2. Страницу с доказательствами, если вы не отключили signature_evidence_page.
  3. Только для Advanced (AES): подпись PAdES с меткой времени RFC 3161, выпущенной Didit, и данными об отзыве сертификата, необходимыми для её проверки в будущем. Файл Simple PDF заканчивается после страницы с доказательствами и не содержит цифровой подписи, печати или метки времени.
В PDF Advanced (AES) подпись охватывает каждый предшествующий байт, включая значения полей и страницу с доказательствами. Любое последующее изменение файла делает его недействительным, и любой валидатор с поддержкой PAdES это покажет. Сведения о подписи содержат имя подписанта и ссылаются на его сессию проверки личности и подтверждение кодом. Значения полей становятся частью содержимого страницы, а не полями формы, поэтому их нельзя отредактировать позже, и они отображаются в любом средстве просмотра PDF. Отмеченный чекбокс отображается с галочкой, а неотмеченный остаётся в том виде, в каком он был отрисован в документе. Блок подписи высотой более 24 пунктов также получает небольшую надпись под подписью: Signed with Didit ·, за которой следуют первые 8 символов id подписи. Didit добавляет значения полей, страницу с доказательствами и подпись после байтов документа, показанного подписанту. Этот документ является точным префиксом подписанного файла, поэтому sha256_original по-прежнему можно сверять с подписанным PDF.

PDF с доказательствами

PDF с доказательствами фиксирует для одного подписанта:
  • Уровень и формат.
  • Имя подписанта, его полномочия на подписание и, для KYB, компанию.
  • Сессию проверки личности (только для Advanced (AES)).
  • Подтверждение: канал, маскированный адрес назначения и время (только для Advanced (AES)).
  • IP-адрес подписанта.
  • Каждый документ: название, количество страниц и SHA-256 оригинала. Для документа Word: имя файла Word и его SHA-256, версию конвертера и SHA-256 файла PDF.
  • Выбранную подпись: введённую текстом (с её рукописным стилем) или нарисованную, время её выбора, а также изображения подписи и инициалов.
  • Каждое поле по документам: его метку, страницу и тип, значение (изображение для подписи или инициалов), источник значения (например, Введено подписантом, Проверенное удостоверение личности или Ваш API), время заполнения (UTC) и IP-адрес подписанта в тот момент для значения, введённого им.
  • Финальное согласие: текст, с которым подписант согласился на экране проверки, и время согласия.
  • SHA-256 каждого подписанного файла и, для Advanced (AES), сертификат (кому выдан, кем выдан, серийный номер и срок действия) и метку времени.
Страница, добавляемая к каждому подписанному PDF, содержит то же самое без раздела сертификата, поскольку она добавляется до применения подписи.

Проверить подпись снова

POST /v3/session/{session_id}/signatures/{node_id}/validate/ повторно считывает каждый подписанный PDF шага и проверяет его SHA-256. Для усиленной подписи (AES) он также валидирует подпись PAdES, её сертификат, данные об отзыве и метку времени. Простая подпись не содержит цифровой подписи, поэтому проверяется только целостность файла. Запрос сохраняет результат в validation и возвращает обновлённый массив signatures[]. Передайте signature_id, чтобы проверить одного подписанта. Для этого требуется разрешение write:sessions, а в консоли за это отвечает кнопка Проверить снова. Сохранённый подписанный PDF, который больше не совпадает со своим sha256_signed, возвращает ошибку 400 с кодом signature_document_changed. До тех пор, пока документы не подписаны, validation имеет значение null. Если Didit не может подтвердить результат подписания, validation принимает значение { "valid": null, "reason": "signature_provider_outcome_unknown", "checked_at" }, а status остаётся в значении signing, пока ситуация не будет разрешена: считайте документ неподписанным.

В PDF-отчёте

В PDF-отчёте формируется раздел подписи с информацией о подписанте, подтверждении, сертификате, метке времени и документах с их хешами. Если документы содержат поля, следом идёт страница Электронная подпись · поля с одной таблицей на каждый документ: значение каждого поля, изображения подписи и инициалов, время и источники. Раздел подписи располагается после верификации банка в отчёте KYC и после документов в отчёте KYB. Передайте pages=signature, чтобы напечатать только этот раздел.

Связанные разделы

Последнее изменение 7 ноября 2026 г.