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

Документы

Документ создаёт кадровик: загружает файл, заполняет реквизиты и отправляет его на подписание по маршруту.

Перед интеграцией с документами полезно сначала разобраться в видах подписей и их правовой роли: см. Подписи.

Документы и заявления

В HRlink есть два основных объекта для подписания: документы (создаёт кадровик) и заявления (создаёт сотрудник). Подробное сравнение вынесено на отдельную страницу: Заявления и документы.

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

Используйте документы, если процесс начинает кадровик или интеграция от имени кадровика, а в HRlink нужно отправить на подписание готовый файл кадрового документа.

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

Что нужноГде получить
clientIdТекущий пользователь
ТокенАутентификация
Файл документаРабота с файлами
Тип документаПолучить типы документов
Маршрут подписанияПолучить шаблоны маршрутов
Сотрудники и руководителиМодель данных

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

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

  1. Загрузите файл через Загрузить файл.
  2. Получите маршрут через Получить шаблоны маршрутов и выберите шаблон для документов.
  3. Получите тип документа через Получить типы документов.
  4. Создайте группу документов и отправьте её на подписание через Создать группу и отправить на подписание.
  5. Проверьте результат через Получить документ по externalId или Получить реестр документов.

Подробный пример с телом запроса и ответами — в гайде Отправка документов на подписание.

Отслеживать статус подписания

  1. Для одного документа вызывайте Получить документ или Получить документ по externalId.
  2. Для пачки документов вызывайте Получить реестр документов с фильтром statusLastModifiedDateFrom.
  3. Если нужно остановить подписание, вызовите Прервать подписание документа.
  4. Если подписанный документ нужно отменить, вызовите Аннулировать документ.

Подробный пример polling-цикла — в гайде Отслеживание статуса подписания.

Найти документы после размножения

  1. При создании черновика передайте externalId.
  2. После отправки на подписание вызовите Получить реестр документов с фильтром baseDocumentExternalIds.
  3. В ответе сопоставьте документы с сотрудниками по подписанту EMPLOYEE.

Подробные правила — в разделе Отправка на подписание: размножение документов.

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

  • Документ создаётся на основании одного файла.
  • Отправить документ на подписание до завершения PDF/A-конвертации нельзя.
  • В новых интеграциях используйте signingOrder: ROUTE.
  • Если в employeeIds несколько сотрудников, HRlink создаёт отдельный документ на каждого сотрудника.
  • При размножении externalId остаётся на черновике, а созданные документы ищутся через baseDocumentExternalIds.

Типы документов

Тип документа определяет категорию кадрового документа (трудовой договор, приказ, допсоглашение и т.д.).

ПолеОписание
idИдентификатор типа
russianNameНазвание на русском
externalIdИдентификатор во внешней системе
systemСистемный тип (создан HRlink, нельзя удалить)
visibleВидимость для пользователей
mintrudTypeIdТип по классификации Минтруда
signingByEmployeeSesEnabledРазрешено ли подписание сотрудником через ПЭППЭП Простая электронная подпись (SES). Подтверждает факт подписания, но не гарантирует неизменность документа после подписания.

Типы документов создаёт и настраивает администратор. Через API можно получить список типов, но не создавать новые.

Структура документа

Каждый документ принадлежит одному пространству клиента и одному юридическому лицу.

ПолеТипОписание
idUUIDИдентификатор документа
typeIdUUIDТип документа
legalEntityIdUUIDЮридическое лицо
numberstringНомер документа
datedatetimeДата документа
noticestringЗаметка кадровика
signingOrderenumПорядок подписания
routeTemplateIdUUIDШаблон маршрута (при signingOrder: ROUTE)
externalIdstringИдентификатор во внешней системе
hideAfterSigningbooleanСкрыть содержимое документа после подписания сотрудником
rejectionDisabledbooleanЗапретить отклонение
deadlineDayCountnumberСрок подписания в днях
deadlineDatedatetimeДата окончания срока подписания
baseDocumentIdUUIDДокумент-источник (для связанных документов)

Файлы документа

Документ всегда создаётся на основании одного файла. Прикрепить к документу несколько файлов (вложений) нельзя. Если нужно передать сотруднику дополнительные материалы — создайте отдельный документ для каждого файла.

Допустимые форматы исходного файла: pdf, doc, docx, xls, xlsx, rtf, jpeg, jpg, bmp, png, tiff. После загрузки HRlink автоматически конвертирует файл в PDF/A (подробнее — Конвертация в PDF/A). Отправить документ на подписание до завершения конвертации нельзя.

В ходе жизненного цикла HRlink формирует дополнительные файлы:

ФайлПолеКогда появляется
Исходный файлoriginalFileIdПри создании черновика документа
PDF/AconvertedFileIdПосле конвертации (подробнее — Конвертация в PDF/A)
Печатная формапечатная форма PDF-документ с визуальным оттиском подписей, который система формирует после завершения документооборота. Печатная форма доступна для скачивания и используется для архивного хранения.printFormFileIdПосле каждого подписания или отклонения — пересоздаётся с актуальными данными подписей
XML МинтрудаmintrudXmlFileIdДля документов, попадающих под приказ №578н
Архив без протоколаarchiveWithoutDocflowProtocolFileIdПосле завершения
Архив с протоколомarchiveWithDocflowProtocolFileIdПосле завершения
Файл подписиsignatureFileId (у подписанта)После подписания участником

Подробнее о загрузке и работе с файлами — Работа с файлами.

Порядок подписания

Порядок подписания определяет, кто подписывает документ и в какой очерёдности. Используйте значение ROUTE — очерёдность, состав участников и наблюдателей задаются маршрутом подписания.

Legacy-режимы

В API также доступны значения MANAGER_FIRST, EMPLOYEE_FIRST, EMPLOYEE_ONLY и MANAGER_ONLY. Это предзаполненные маршруты, сохранённые для обратной совместимости. Они не развиваются и не поддерживают новые возможности (гибкие этапы, согласование, множественные участники). В новых интеграциях всегда используйте ROUTE.

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

Каждый участник подписания представлен отдельной записью DocumentSigner, которая хранит тип подписанта, текущий статус и даты действий. При запросе документа подписанты возвращаются в полях headManager, employees и participants:

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"headManager": {
"id": "a1b2c3d4-0001-0000-0000-000000000001",
"employeeId": "a1b2c3d4-0002-0000-0000-000000000001",
"signerType": "HEAD_MANAGER",
"seenDate": "2026-03-10T10:30:00Z",
"signedDate": "2026-03-10T11:15:00Z",
"rejectedDate": null,
"rejectionComment": null,
"signingOrder": 1
},
"employees": [
{
"id": "a1b2c3d4-0001-0000-0000-000000000002",
"employeeId": "a1b2c3d4-0002-0000-0000-000000000002",
"signerType": "EMPLOYEE",
"seenDate": "2026-03-11T09:00:00Z",
"signedDate": null,
"rejectedDate": null,
"rejectionComment": null,
"signingOrder": 2
}
],
"participants": []
}

Типы подписантов

ТипОписание
HEAD_MANAGERРуководитель-подписант — юридически значимая сторона КЭДОКЭДО Кадровый электронный документооборот — подвид ЭДО для кадровых документов (трудовые договоры, приказы, заявления). Регулируется статьями 22.1–22.3 ТК РФ. (работодатель)
EMPLOYEEСотрудник-подписант — юридически значимая сторона КЭДОКЭДО Кадровый электронный документооборот — подвид ЭДО для кадровых документов (трудовые договоры, приказы, заявления). Регулируется статьями 22.1–22.3 ТК РФ. (работник)
PARTICIPANTУчастник маршрута подписания (при signingOrder: ROUTE)
Ограничение на стороны КЭДО

HEAD_MANAGER и EMPLOYEE — юридически значимые стороны кадрового электронного документооборота. Каждая из этих ролей может присутствовать в документе только один раз. Если документ должны подписать несколько сотрудников, используйте роль PARTICIPANT и порядок подписания ROUTE с маршрутом подписания.

Если сотрудников несколько

Ограничение выше относится к одному итоговому документу. Если при создании черновика передать несколько employeeIds, HRlink при отправке на подписание создаст отдельный документ на каждого сотрудника. Подробности — в разделе Размножение документов.

Статусы подписанта

СтатусОписаниеОпределяющее поле
NOT_SEENДокумент не просмотренseenDate = null
SEENДокумент просмотренseenDate ≠ null
SIGNEDПодписанsignedDate ≠ null
REJECTEDОтклонёнrejectedDate ≠ null

При отклонении подписант указывает причину в поле rejectionComment.

Наблюдатели

Наблюдатель — сотрудник, который получает доступ к документу после завершения подписания, но сам не участвует в нём. Наблюдатель видит документ только после того, как все подписанты выполнили свои действия и никто не отклонил документ. Пока маршрут подписания ещё идёт, документ наблюдателю недоступен.

Наблюдателей можно указать при создании документа (watcherIds) или добавить позже. Также можно указать целые отделы через watcherClientDepartmentIds — все сотрудники отдела станут наблюдателями.

Ограничения наблюдателей
  • Нельзя указывать watcherIds при signingOrder = MANAGER_FIRST или EMPLOYEE_FIRST

Группы документов

DocumentGroup группирует документы в интерфейсе HRlink. При создании документов через API все документы из одного запроса попадают в одну группу и отображаются вместе в реестре.

У группы есть:

  • id — идентификатор
  • name — название

Группа помогает показывать связанные документы вместе в интерфейсе.

Статусы документа

СтатусОписание
DRAFTЧерновик — документ создан, но не отправлен на подписание
IN_PROCESSВ процессе — документ отправлен, идёт подписание по маршруту
COMPLETEDЗавершён — все участники выполнили действия
REJECTEDОтклонён — один из участников отказался подписывать
DELETEDУдалён
ANNULLEDАннулирован — подписан отдельный акт аннулирования этого документа
AWAITING_MY_SIGNING

AWAITING_MY_SIGNING — не отдельный статус, а представление статуса IN_PROCESS для конкретного пользователя, которому сейчас доступно подписание.

Жизненный цикл документа

  1. Создание. Кадровик загружает файл и заполняет реквизиты — документ получает статус DRAFT.
  2. Отправка на подписание. Кадровик отправляет документ — статус меняется на IN_PROCESS, запускается маршрут.
  3. Подписание по этапам. Участники подписывают или согласовывают документ в порядке, определённом маршрутом. Каждый следующий этап начинается после завершения предыдущего.
  4. Завершение. Когда все этапы пройдены — статус COMPLETED, фиксируется docflowFinishedDate.
  5. Отклонение. Если участник на любом этапе отклоняет документ — статус REJECTED.

В ходе документооборота HRlink формирует печатную формупечатная форма PDF-документ с визуальным оттиском подписей, который система формирует после завершения документооборота. Печатная форма доступна для скачивания и используется для архивного хранения. и архив.

Создание документа

Создание документа проходит в два шага: сначала создаётся черновик, затем черновик отправляется на подписание. На каждом шаге свой набор обязательных полей.

Создание черновика

Для создания черновика достаточно трёх полей:

ПолеАльтернатива через externalIdexternalId Внешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID.Описание
fileIdИдентификатор загруженного файла
legalEntityIdlegalEntityExternalIdЮридическое лицо
typeIdТип документа

Остальные поля можно указать сразу или добавить позже, до отправки на подписание:

ПолеАльтернатива через externalIdexternalId Внешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID.Описание
numberНомер документа
dateДата документа
noticeЗаметка кадровика
signingOrderПорядок подписания
headManagerIdheadManagerExternalIdРуководитель-подписант
headManagerLegalEntityIdheadManagerLegalEntityExternalIdЮридическое лицо руководителя-подписанта (если отличается от legalEntityId документа)
employeeIdsemployeeExternalIdsСписок сотрудников-подписантов
watcherIdswatcherExternalIdsСписок наблюдателей
watcherClientDepartmentIdsОтделы-наблюдатели
routeTemplateIdrouteTemplateExternalIdШаблон маршрута (при ROUTE)
participantsУчастники маршрута (при ROUTE)
externalIdИдентификатор документа во внешней системе
deadlineDayCountСрок подписания в днях
baseDocumentIdsourceDocumentExternalIdДокумент-источник

Для полей-ссылок на сущности (юрлицо, сотрудники, шаблон маршрута) можно передать либо внутренний id, либо externalId — идентификатор из внешней системы. Передавать оба поля одновременно не нужно.

Юридическое лицо участников

Сотрудники-подписанты (employeeIds) и наблюдатели (watcherIds) должны относиться к тому же юридическому лицу, что и документ (legalEntityId). Руководитель-подписант (headManagerId) может быть из другого юрлица, если у него есть права руководителя в юрлице документа. В этом случае укажите юрлицо руководителя в поле headManagerLegalEntityId (или headManagerLegalEntityExternalId).

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

Перед отправкой HRlink проверяет, что черновик заполнен полностью. Для отправки нужны:

  • date — дата документа
  • signingOrder — порядок подписания (используйте ROUTE)
  • конвертация файла в PDF/A завершена — convertedFileId заполнен
  • подписанты назначены согласно маршруту подписания

Если хотя бы одно условие не выполнено, HRlink вернёт ошибку и не отправит документ на подписание.

Отправка на подписание: размножение документов

При создании документа в employeeIds можно указать несколько сотрудников. В этом случае HRlink создаёт один черновик (DRAFT), а при отправке на подписание создаёт отдельный документ для каждого сотрудника.

Что происходит при отправке

  1. HRlink помечает черновик как отправленный, и он перестаёт отображаться в реестре черновиков.
  2. Для каждого сотрудника из employeeIds HRlink создаёт отдельный документ.
  3. Каждый созданный документ содержит:
    • одного сотрудника-подписанта (EMPLOYEE) из исходного списка;
    • того же руководителя-подписанта (HEAD_MANAGER), если он указан в черновике;
    • тот же файл — все документы ссылаются на один загруженный файл, копия не создаётся;
    • те же реквизиты: номер, дату, тип документа, заметку и порядок подписания.
  4. Поле baseDocumentId каждого созданного документа указывает на исходный черновик.

Особенности

  • Группа документов. Все документы из одного запроса на создание попадают в одну DocumentGroup и отображаются вместе в реестре.
  • Маршрут подписания. Каждый созданный документ проходит маршрут независимо — один сотрудник может подписать, а другой отклонить.
  • externalId. Если сотрудников больше одного, созданные документы получают externalId = null. Внешний идентификаторexternalId Внешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID. остаётся на черновике. Если сотрудник один — externalId переносится на созданный документ.
  • Наблюдатели. Списки наблюдателей (watcherIds, watcherClientDepartmentIds) копируются в каждый созданный документ.
Один сотрудник — без размножения

Если в employeeIds указан один сотрудник, HRlink создаёт ровно один документ.

Как найти созданные документы

Поскольку при размножении у созданных документов externalId: null, прямой поиск по externalId не сработает. Взамен используйте связку «найти по baseDocumentId черновика»:

  1. При создании передайте externalId в черновике (например, DRAFT-195).
  2. После отправки на подписание вызовите Получить реестр документов с фильтром baseDocumentExternalIds: ["DRAFT-195"]. В ответе — все документы, созданные из этого черновика.
  3. Для каждого документа в ответе посмотрите signers[] — там есть конкретный сотрудник-подписант (type: EMPLOYEE, поле employeeId). Сопоставьте с исходным списком employeeIds.

Альтернатива: если черновик сохранили без externalId, но запомнили его UUID — используйте фильтр baseDocumentIds вместо baseDocumentExternalIds.

Всегда передавайте externalId в черновик

Даже если вы не полагаетесь на externalId в своей системе для одиночных документов, при работе с размножением он становится единственным удобным якорем, связывающим ваш запрос с пачкой созданных документов.

Сроки подписания

Документ может иметь срок подписания:

  • deadlineDayCount — количество дней на подписание (от момента отправки)
  • deadlineDate — конкретная дата окончания срока

Если срок истёк, документ получает признак deadlineViolated: true, но статус не меняется — документ остаётся в IN_PROCESS. Нарушение срока видно в реестре документов.

Аннулирование документа

Аннулирование отменяет подписанный документ. При аннулировании:

  1. Создаётся акт аннулирования — отдельный документ с указанием причины.
  2. Исходный документ переходит в статус ANNULLED.
  3. Акт аннулирования отправляется на подписание участникам.

Аннулировать можно только документ, который:

  • не в статусе DRAFT
  • ещё не аннулирован
  • подписан всеми участниками
Аннулирование — только для документов

Заявления нельзя аннулировать. Заявление можно только отклонить или удалить.