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

Обновить группы

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_EMPLOYEE IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудника совпадает с зафиксированным в шаблоне.
  • В данных участника задан IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудника (внутренний или внешний).

Request

Responses

Успешная операция.