#Поиск сотрудников
POST /v1/humanresources/employees/search
Возвращает сотрудников портала, чьё имя совпадает с переданной поисковой строкой запроса. Подходит, чтобы по имени найти идентификатор сотрудника перед обращением к другим операциям раздела.
#Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name |
string | да | Строка для поиска по имени сотрудника |
nodeId |
number | нет | Ограничить поиск сотрудниками одного узла. Список: GET /v1/humanresources/nodes?type=DEPARTMENT |
#Примеры
#curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/humanresources/employees/search" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Иван" }'
#curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/humanresources/employees/search" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Иван" }'
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/humanresources/employees/search', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'Иван' }),
})
const { success, data } = await res.json()
console.log(`Найдено ${data.items.length} сотрудников`)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/humanresources/employees/search', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: 'Иван' }),
})
const { success, data } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.items |
array | Массив найденных сотрудников. Пустой, если совпадений нет |
data.items[].userId |
number | Идентификатор сотрудника |
data.items[].name |
string | Имя сотрудника |
data.items[].workPosition |
string | Должность сотрудника. Пустая строка, если должность не указана |
data.items[].avatar |
string | Адрес изображения профиля сотрудника |
data.items[].url |
string | Относительный путь к карточке сотрудника на портале |
data.items[].departments |
array | Подразделения, в которые входит сотрудник |
data.items[].departments[].id |
number | Идентификатор подразделения |
data.items[].departments[].name |
string | Название подразделения |
data.items[].teams |
array | Команды, в которые входит сотрудник. Структура элемента совпадает с departments (id, name) |
#Пример ответа
{
"success": true,
"data": {
"items": [
{
"userId": 1,
"name": "Иван Петров",
"workPosition": "",
"avatar": "https://cdn.bitrix24.ru/.../avatar.jpg",
"url": "/company/personal/user/1/",
"departments": [
{ "id": 1, "name": "Компания" },
{ "id": 9, "name": "Подразделение" },
{ "id": 11, "name": "Рабочая группа" },
{ "id": 23, "name": "Отдел продаж" }
],
"teams": []
}
]
}
}
#Пример ответа при ошибке
400 — поле name не передано:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"field": "MISSING_NAME",
"message": "Parameter \"name\" is required."
}
]
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
Поле name отсутствует — в error.validation приходит запись MISSING_NAME |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа humanresources |
| 401 | TOKEN_MISSING |
У API-ключа не настроены токены Битрикс24 |
Полный список общих ошибок API — Ошибки.
#Известные особенности
Пустой результат — это успех, а не ошибка. Если по имени нет совпадений, ответ остаётся успешным (success: true), а data.items приходит пустым массивом.