Найти узлы и сотрудников оргструктуры
POST/api/v1/clients/:clientId/orgStructures/:id/search
Описание метода
Универсальный поиск по конкретной оргструктуре. Возвращает два независимых списка: найденные узлы (departments) и найденных сотрудников этих узлов (employees).
Узлы матчатся только по name. Управленческая — DEPARTMENT и EMPLOYEE_AS_NODE из org_structure_element; Юридическая — client_department (всегда DEPARTMENT). Сотрудники матчатся по ФИО (через ekd-ididВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях.) и по должности — для управленческой используется снимок org_structure_element_employee.position_name, для Юридической — справочник employee_position.
Выдача асимметрична по активности: руководители (positionType=HEAD_MANAGER) возвращаются любой активности — и активные, и уволенные, с полем active; рядовые сотрудники (positionType=EMPLOYEE) — только активные. Это касается и employees[], и departments[i].headEmployees.
Каждый найденный узел дополнен headEmployees, employeesCount, totalEmployeesCount.
Один и тот же руководитель может одновременно попасть в departments[i].headEmployees (узел, в котором он руководитель) и в employees[] (запись с positionType=HEAD_MANAGER) — это допустимое поведение, рассчитанное на разный фокус поиска: «найти руководителя» либо «найти узел с таким руководителем». Поиск по ФИО руководителя через departments[] не выполняется — узел матчится только по названию.
Для Юридической оргструктуры поиск дополнительно охватывает активных сотрудников клиента без отдела — они возвращаются в employees[] с узлом-заглушкой {id: 549d1eb3-16b4-4cdd-95f2- 66b3671e69c7, name: "Сотрудники без отдела"}; в departments[] этот синтетический узел не попадает.
Спецсимволы LIKE (%, _) в query не экранируются и работают как wildcard-маски.
Валидации запроса
-
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. клиента соответствует формату UUID; клиент существует, не удалён, к нему относится пользователь, выполняющий операцию.
-
IDidВнутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. оргструктуры соответствует формату UUID; оргструктура существует и принадлежит клиенту (либо это Юридическая).
-
Видимость оргструктуры пользователю: с правом
ORG_STRUCTURESвидно всё; без него — только опубликованная с доступомPUBLICлибоRESTRICTEDс членством хотя бы одним активным сотрудником. Для Юридической проверка видимости пропускается. -
Тело запроса задано.
-
queryне пустая строка и не строка из пробелов. -
limitне отрицательный; превышение максимального значения пагинации недопустимо. -
offsetне отрицательный. -
Функционал оргструктур включён в настройках клиента.
Request
Responses
- 200
- 400
- 401
- 403
- 429
Успешная операция.
Ошибка при валидации данных запроса.
Запрос не аутенифицирован.
Для заданного пользователя доступ к ресурсу запрещен.
Превышен разрешенный лимит запросов за период.