Обновить группы
PUT/api/v1/clients/:clientId/documentGroups
Описание метода
Обновляет один или несколько документов в одной или нескольких группах. Обновление выполняется только внутри группы: чтобы изменить один документ, передайте данные и документа, и группы, к которой он принадлежит. Вызывать метод может сотрудник с ролью «Кадровик».
⚠️ Метод перезаписывает запись целиком. Любое непереданное поле сервер считает равным null и затирает значение в базе. Передавайте все поля, даже если меняете только одно.
Обновлять можно только документы в статусе «Черновик».
Возможные ошибки: 400 — невалидное тело, 401 — нет или невалидный токен, 403 — недостаточно прав, 429 — превышен rate limitlimit Параметр пагинации — количество элементов в ответе. Значение по умолчанию — 50 (для отдельных эндпоинтов может отличаться)..
Парные поля «внутренний ID» / «внешний ID»
Если переданы оба значения пары, приоритет — у внутреннего IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. HRlink.
documentGroups[].documents[].idиdocumentGroups[].documents[].externalId.documentGroups[].documents[].headManagerIdиdocumentGroups[].documents[].headManagerExternalId.documentGroups[].documents[].employeeIdsиdocumentGroups[].documents[].employeeExternalIds.
При порядке подписания EMPLOYEE_ONLY поля documentGroups[].documents[].headManagerId и documentGroups[].documents[].headManagerExternalId не заполняйте.
Валидации запроса
Клиент и пользователь
clientIdсоответствует формату UUID.- Клиент по
clientIdсуществует и не удалён. - Пользователь, выполняющий операцию, относится к клиенту.
Группы документов
- Тело запроса задано.
- Список групп не пуст, ни одна группа не null.
- Среди групп нет групп с одинаковыми IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях..
- Если IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. группы задан — группа существует по этому IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях..
- Указана корректная версия данных группы.
Документы внутри группы
- Список документов группы не пуст, ни один документ не null.
- У каждого документа задан IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. — внутренний или внешний.
- Все документы существуют по заданным IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях..
- В группе нет документов с одинаковыми IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях..
- Все документы относятся к указанной группе.
- Все документы относятся к клиенту.
- Документы не удалены.
- Документы в статусе «Черновик».
- Указана корректная версия данных каждого документа.
- Все списки в данных документа либо не заданы, либо не содержат пустых элементов.
- Срок подписания в днях задан корректно.
Права на обновление
- Если документ не связан с юрлицом — у пользователя клиента есть право
DOCUMENTS_UPDATEна уровне ролей пользователя клиента или на уровне ролей сотрудников клиента, и пользователь — создатель документа. - Если документ связан с одним юрлицом и оно совпадает с юрлицом в базе — у пользователя клиента есть право
DOCUMENTS_UPDATEна уровне ролей пользователя клиента или на уровне сотрудника этого юрлица. - Если документ связан с одним юрлицом и оно не совпадает с юрлицом в базе — у пользователя клиента есть право
DOCUMENTS_UPDATEна уровне ролей пользователя клиента либо на уровне сотрудника юрлица из тела запроса и из базы. - Если документ — черновик: пользователю клиента доступны все отделы клиента либо пользователь — создатель документа.
- У пользователя клиента есть доступ ко всем отделам клиента сотрудников-подписантов и наблюдателей документа.
- У пользователя клиента есть право на обновление документов на уровне пользователя клиента, либо все типы документов входят в список разрешённых типов.
Тип документа
- Если
documentTypeIdзадан — тип документа существует, не скрыт и входит в список доступных типов для индекса документа в группе.
Юрлицо
- Если IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. юрлица задан (внутренний или внешний) — юрлицо существует и принадлежит клиенту.
Руководитель-подписант
- Если задан IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. руководителя — сотрудник существует, принадлежит клиенту, не уволен и имеет права руководителя в своём юрлице.
- Если юрлицо руководителя не совпадает с юрлицом документа — у пользователя есть активный сотрудник-руководитель в юрлице документа либо право руководителя в указанном юрлице через связку прав сотрудника.
- Если IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. руководителя не задан, но задан внешний IDexternalId Внешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID. и IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. юрлица руководителя — юрлицо задано корректно.
Сотрудники-подписанты
- Если заданы IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудников-подписантов (внутренние или внешние) — сотрудники существуют, принадлежат клиенту и работают.
- Среди IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудников нет пустых элементов.
Наблюдатели
- Если заданы IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. наблюдателей (внутренние или внешние) — сотрудники существуют и принадлежат клиенту.
- Среди IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. наблюдателей нет пустых элементов.
Принадлежность одному юрлицу
- Сотрудник-подписант, наблюдатели, участники маршрута и сам документ относятся к одному юрлицу.
Порядок подписания
EMPLOYEE_FIRSTилиMANAGER_FIRST— не заданы наблюдатели, участники маршрута и шаблон маршрута.MANAGER_ONLY— не заданы сотрудники-подписанты, участники маршрута и шаблон маршрута.EMPLOYEE_ONLY— не заданы руководитель, наблюдатели, участники маршрута и шаблон маршрута.ROUTE— задан корректный шаблон маршрута, данные документа соответствуют этапам шаблона.- Если порядок подписания не задан, но задан
routeTemplateIdилиrouteTemplateExternalId— порядок считаетсяROUTE.
Шаблон маршрута подписания
- Шаблон существует по заданному IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. (внутреннему или внешнему).
- Шаблон относится к клиенту.
- Шаблон не деактивирован.
- Тип подписываемого объекта в шаблоне соответствует типу документа.
- Если список юрлиц шаблона пуст — шаблон доступен всем юрлицам.
- Если у документа нет юрлица — шаблону доступен только вариант «доступен всем юрлицам».
- Если у документа есть юрлицо, а у шаблона задан непустой список юрлиц — юрлицо документа входит в список.
Участники маршрута подписания
- Если участники заданы — данные участников корректны.
- Для этапа
RECEIVINGесть участник с типомSELECTABLE_EMPLOYEE. - Каждому IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. наблюдателя соответствует участник с типом
FIXED_EMPLOYEE. - Все участники относятся к указанному маршруту подписания.
- Дубликаты IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. участников запрещены, если маршрут это не допускает.
- Сотрудники участников на одном этапе — разные пользователи клиента, с учётом фиксированных и автоопределяемых участников.
- Если этап имеет тип
RECEIVING— соответствующих участников передавайте в наблюдателях. - Если участник имеет тип
EMPLOYEEилиEMPLOYER— передавайте его в полях сотрудников или руководителя соответственно. - Если у этапа
SIGNINGнет участников с типомEMPLOYER— руководитель не задан. - Если в маршруте есть только этап
RECEIVING— список IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. наблюдателей задан и не пуст. - У участника типа
FIXED_EMPLOYEEIDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудника совпадает с зафиксированным в шаблоне. - В данных участника задан IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудника (внутренний или внешний).
Request
Responses
- 200
- 400
- 401
- 403
- 429
Успешная операция.
Ошибка при валидации данных запроса.
Запрос не аутенифицирован.
Для заданного пользователя доступ к ресурсу запрещен.
Превышен разрешенный лимит запросов за период.