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

Обновить сотрудника

PUT 

/api/v5/clients/:clientId/employees/:id

Описание метода

⚠️ Будьте осторожны!

Методы PUT перезаписывают запись целиком: любые непереданные поля считаются null и затирают данные в БД. Поэтому при обновлении указывайте все поля.

Обновляет данные сотрудника по идентификатору сотрудника в системе HRlink. Версия v5 поддерживает поле fullTimeEquivalent (ставка сотрудника, доля от полной занятости) в дополнение к полям предыдущих версий.

Валидации запроса

  • Тело запроса задано.
  • Клиент существует по заданному clientId, не удалён, и к нему относится пользователь, выполняющий операцию.
  • IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. сотрудника (id) соответствует формату UUID.
  • Сотрудник с заданным IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. существует.
  • У пользователя клиента есть право EMPLOYEES_UPDATE на уровне пользователя клиента или на уровне сотрудника.
  • У пользователя клиента есть доступ к отделу сотрудника (в том числе с учётом замещенийSubstitution Замещение — временная передача прав одного пользователя другому (например, на время отпуска). Настраивается для конкретных контекстов: документы, заявления, сотрудники, ЛНА.).
  • Список тегов (tags) задан корректно: имена нормализуются, проверяется длина и допустимые символы.
  • Если задан отдел (departmentId или departmentExternalId) — отдел существует, относится к заданному клиенту; если отдел изменился относительно текущего отдела сотрудника, новый отдел активен.
  • Если задана должность (positionId или positionExternalId) — должность существует и относится к заданному клиенту.
  • У пользователя клиента есть права на юрлицо сотрудника (с учётом замещенийSubstitution Замещение — временная передача прав одного пользователя другому (например, на время отпуска). Настраивается для конкретных контекстов: документы, заявления, сотрудники, ЛНА.).
  • Если задан externalId сотрудника — в рамках юрлица сотрудника нет другого сотрудника с таким же внешним IDexternalId Внешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID..
  • Версия данных сотрудника (version) актуальна.
  • У тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. есть активный пакет лицензий.
  • Если roleIds заданы и отличаются от текущих — пользователь имеет право EMPLOYEES_UPDATE на уровне пользователя клиента (замещенияSubstitution Замещение — временная передача прав одного пользователя другому (например, на время отпуска). Настраивается для конкретных контекстов: документы, заявления, сотрудники, ЛНА. не учитываются).
  • Ни один roleId в списке не равен null.
  • Все указанные роли существуют у тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов..
  • После обновления у пользователя клиента не возникнет конфликта HR-ролей: нет сотрудников одновременно с ролями кадровика и делопроизводителя (роли с правом HR).
  • Если добавляется роль кадровика или делопроизводителя — у тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. есть свободная лицензия кадровика.
  • Поле fullTimeEquivalent, если задано, содержит строку длиной от 1 до 10 символов.

Request

Responses

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