humanresources.node.children
Получить дочерние отделы
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод humanresources.node.children возвращает прямые дочерние отделы и команды выбранного элемента структуры.
Параметры
id
integer
обязательный
Идентификатор родительского отдела или команды.
Идентификатор можно получить методом humanresources.node.list
select
array
необязательный
Список полей отдела или команды, которые нужно вернуть.
Доступные поля:
id— идентификатор элемента структурыname— название отдела или командыtype— тип элемента структурыstructureId— идентификатор структуры компанииparentId— идентификатор родительского отдела или командыdescription— описание элемента структурыaccessCode— код доступа элемента структурыuserCount— количество пользователей в отделе или командеcolorName— цвет командыxmlId— внешний идентификатор элемента структурыcreatedAt— дата и время созданияupdatedAt— дата и время последнего обновления
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":1,"select":["id","name","type","structureId","parentId","description","accessCode","userCount","colorName","xmlId","createdAt","updatedAt"]}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/humanresources.node.children
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":1,"select":["id","name","type","structureId","parentId","description","accessCode","userCount","colorName","xmlId","createdAt","updatedAt"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/humanresources.node.children
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
type NodeItem = {
id: number
name: string
type: string
structureId: number
parentId: number | null
description: string | null
accessCode: string
userCount: number
colorName: string | null
xmlId: string | null
createdAt: ISODate
updatedAt: ISODate
}
// Shape of the payload returned in result (match the "response handling" section of the page)
type NodeChildrenResult = {
items: NodeItem[]
}
try {
const response = await $b24.actions.v3.call.make<NodeChildrenResult>({
method: 'humanresources.node.children',
params: {
id: 1,
select: [
'id',
'name',
'type',
'structureId',
'parentId',
'description',
'accessCode',
'userCount',
'colorName',
'xmlId',
'createdAt',
'updatedAt',
],
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result.items.length, result.items)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function fetchNodeChildren() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'humanresources.node.children',
params: {
id: 1,
select: [
'id',
'name',
'type',
'structureId',
'parentId',
'description',
'accessCode',
'userCount',
'colorName',
'xmlId',
'createdAt',
'updatedAt',
],
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result.items.length, result.items)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', fetchNodeChildren)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
select = [
"id",
"name",
"type",
"structureId",
"parentId",
"description",
"accessCode",
"userCount",
"colorName",
"xmlId",
"createdAt",
"updatedAt",
]
try:
bitrix_response = client.humanresources.node.children(
bitrix_id=1,
select=select,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'humanresources.node.children',
[
'id' => 1,
'select' => [
'id',
'name',
'type',
'structureId',
'parentId',
'description',
'accessCode',
'userCount',
'colorName',
'xmlId',
'createdAt',
'updatedAt'
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting children: ' . $e->getMessage();
}
BX24.callMethod(
'humanresources.node.children',
{
id: 1,
select: [
'id',
'name',
'type',
'structureId',
'parentId',
'description',
'accessCode',
'userCount',
'colorName',
'xmlId',
'createdAt',
'updatedAt'
]
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'humanresources.node.children',
[
'id' => 1,
'select' => [
'id',
'name',
'type',
'structureId',
'parentId',
'description',
'accessCode',
'userCount',
'colorName',
'xmlId',
'createdAt',
'updatedAt'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "humanresources.node.children", b24.Params{
"id": 1,
"select": []string{"id", "name", "type", "structureId", "parentId", "description", "accessCode", "userCount", "colorName", "xmlId", "createdAt", "updatedAt"},
})
if err != nil {
return fmt.Errorf("humanresources.node.children: %w", err)
}
// Метод заворачивает ответ в объект с ключом "items".
raw, ok := b24.Unwrap(res.Result, "items")
if !ok {
return fmt.Errorf("в ответе нет ключа items")
}
var items []struct {
ID b24.ID `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
StructureID b24.ID `json:"structureId"`
ParentID b24.ID `json:"parentId"`
Description string `json:"description"`
}
if err := json.Unmarshal(raw, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID)
}
Ответ
HTTP-статус: 200
{
"result": {
"items": [
{
"id": 12,
"name": "Продажи B2B",
"type": "DEPARTMENT",
"structureId": 1,
"parentId": 1,
"description": "Работа с корпоративными клиентами",
"accessCode": "DR12",
"userCount": 9,
"colorName": null,
"xmlId": null,
"createdAt": "2026-05-20T10:15:00+03:00",
"updatedAt": "2026-06-01T16:30:00+03:00"
},
{
"id": 18,
"name": "Маркетинг",
"type": "DEPARTMENT",
"structureId": 1,
"parentId": 1,
"description": "Продвижение продуктов и бренда",
"accessCode": "DR18",
"userCount": 6,
"colorName": null,
"xmlId": null,
"createdAt": "2026-05-22T11:40:00+03:00",
"updatedAt": "2026-06-03T10:05:00+03:00"
}
]
},
"time": {
"start": 1780396400,
"finish": 1780396400.428761,
"duration": 0.42876100540161133,
"processing": 0.3972141742706299,
"date_start": "2026-06-02T13:33:20+03:00",
"date_finish": "2026-06-02T13:33:20+03:00",
"operating_reset_at": 1780397000,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с данными ответа
items
array
Массив дочерних отделов и команд. Состав полей элемента зависит от select
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Обязательное поле `id` не указано",
"field": "id"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
id |
Обязательное поле id не указано |
Добавьте id в тело запроса |
id |
В поле id требуется тип данных int для такого запроса |
Убедитесь, что значение id передано числом |
select |
Передано неподдерживаемое имя поля для выборки | Используйте только значения из описания параметра select |

