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

Обновить пользователя клиента

PUT 

/api/v1/clients/:clientId/users/:id

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

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

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

Обновляет данные пользователя клиента (ФИО, документы, телефон, email, внешние IDexternalIdВнешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID. и каналы оповещения) по идентификатору пользователя клиента в системе HRlink. Используйте параметр changeNqesSigningConfirmationChannelNeeded, если необходимо переназначить канал подтверждения подписания УНЭПУНЭП (Усиленная неквалифицированная электронная подпись). Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа..

Смена email или телефона

Поведение при передаче нового значения email/phone зависит от того, есть ли у пользователя хотя бы один уже подтверждённый логин или активное приглашение:

  • Нет ни одного подтверждённого логина и нет активного приглашения (пользователь ещё не подтверждён вообще) — значение заменяется сразу: старый логин освобождается, новый добавляется как неподтверждённый.
  • Есть хотя бы один подтверждённый логин или активное приглашение — прямая замена не выполняется. Вместо этого создаётся новый неподтверждённый канал оповещения, и на него отправляется приглашение для подтверждения. Подтверждает его сам пользователь (по коду/ссылке) — через API это подтверждение выполнить нельзя.

После того как пользователь примет приглашение, прежний подтверждённый логин того же типа (email или телефон) освобождается — перестаёт быть закреплён за этим пользователем, а не просто помечается неактивным.

Чтобы понять, что смена завершена, проверяйте поля confirmed и enabled у канала оповещения с нужным значением: смена завершена, когда оба поля равны true.

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

  • IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. пользователя клиента (id) соответствует формату UUID.
  • Тело запроса задано.
  • Клиент существует по заданному clientId, не удалён, и к нему относится пользователь, выполняющий операцию.
  • Обновляемый пользователь клиента существует (активен или отключён) и принадлежит заданному клиенту.
  • У пользователя, выполняющего операцию, есть право CLIENT_USERS_UPDATE на уровне пользователя клиента или на уровне сотрудника.
  • Если список userExternalIds задан — он не содержит null-элементов, типы внешних систем существуют, и каждый внешний IDexternalIdВнешний идентификатор сущности — произвольная строка, задаваемая интегратором при создании. Связывает сущность HRlink с записью во внешней системе (1С, SAP и др.) без хранения маппинга UUID. либо принадлежит обновляемому пользователю, либо не закреплён ни за кем.
  • В заданном клиенте нет другого пользователя клиента с заданным externalId пользователя.
  • Фамилия (lastName) задана.
  • В персональных документах (personalDocuments) не указаны тип и IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. документа одновременно.
  • Все документы с указанным id относятся к обновляемому человеку.
  • Все номера документов заданы корректно.
  • Сочетания типа и номера документа не пересекаются с документами других людей.
  • В списке документов нет двух документов одного типа.
  • Данные паспорта корректны: код подразделения, код региона, почтовый индекс.
  • В документах задан СНИЛС и паспорт.
  • Адрес регистрации в документах не передан (поле зарезервировано).
  • Версия каждого документа с id совпадает с актуальной версией в БД.
  • Версия данных о человеке (version) актуальна.
  • Если задан phone — он соответствует формату мобильного номера и не занят другим пользователем тенантаTenantЭкземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов..
  • Если задан email — он соответствует формату; если новый email отсутствует среди текущих каналов уведомлений пользователя, он не занят в системе.
  • У тенантаTenantЭкземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. есть активный пакет лицензий.
  • Если changeNqesSigningConfirmationChannelNeeded=true — смена канала подтверждения подписания УНЭПУНЭП (Усиленная неквалифицированная электронная подпись). Усиленная неквалифицированная электронная подпись (CLOUD_NQES). Облачная подпись, обеспечивающая целостность документа. допустима для текущего сертификата пользователя.

Request

Responses

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