humanresources.node.move
Переместить отдел
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод humanresources.node.move меняет родительский отдел для отдела или команды.
Параметры
id
integer
обязательный
Идентификатор отдела или команды, который нужно переместить.
Идентификатор можно получить методом humanresources.node.list
parentId
integer
обязательный
Идентификатор нового родительского отдела.
Идентификатор можно получить методом humanresources.node.list
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":44,"parentId":2}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/humanresources.node.move
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":44,"parentId":2,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/humanresources.node.move
// 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
// Shape of the payload returned in result (match the "response handling" section of the page)
type NodeMoveResult = {
id: number
name: string
type: string
structureId: number
parentId: number
description: string
accessCode: string
userCount: number
colorName: string | null
xmlId: string | null
createdAt: ISODate | null
updatedAt: ISODate | null
}
try {
const response = await $b24.actions.v3.call.make<NodeMoveResult>({
method: 'humanresources.node.move',
params: {
id: 44,
parentId: 2,
},
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('Department moved, id:', result.id, 'parentId:', result.parentId)
}
} 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 moveNode() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'humanresources.node.move',
params: {
id: 44,
parentId: 2,
},
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('Department moved, id:', result.id, 'parentId:', result.parentId)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', moveNode)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.humanresources.node.move(
bitrix_id=44,
parent_id=2,
).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.move',
[
'id' => 44,
'parentId' => 2,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error moving department: ' . $e->getMessage();
}
BX24.callMethod(
'humanresources.node.move',
{
id: 44,
parentId: 2
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'humanresources.node.move',
[
'id' => 44,
'parentId' => 2
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "humanresources.node.move", b24.Params{
"id": 44,
"parentId": 2,
})
if err != nil {
return fmt.Errorf("humanresources.node.move: %w", err)
}
var item 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(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.Name)
Ответ
HTTP-статус: 200
{
"result": {
"id": 44,
"name": "Отдел продаж B2B",
"type": "DEPARTMENT",
"structureId": 1,
"parentId": 2,
"description": "Работа с корпоративными клиентами",
"accessCode": "DR44",
"userCount": 18,
"colorName": null,
"xmlId": null,
"createdAt": "2026-05-30T09:20:15+03:00",
"updatedAt": "2026-06-02T14:40:18+03:00"
},
"time": {
"start": 1780400418,
"finish": 1780400418.402915,
"duration": 0.40291500091552734,
"processing": 0.3614809513092041,
"date_start": "2026-06-02T14:40:18+03:00",
"date_finish": "2026-06-02T14:40:18+03:00",
"operating_reset_at": 1780401018,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с данными перемещенного отдела или команды
id
integer
Идентификатор отдела или команды
name
string
Название отдела или команды
type
string
Тип элемента структуры
structureId
integer
Идентификатор структуры компании
parentId
integer
Идентификатор нового родительского отдела
description
string
Описание отдела или команды
accessCode
string
Код доступа отдела или команды
userCount
integer
Количество пользователей в отделе или команде
colorName
string
Цвет команды, если он задан
xmlId
string
Внешний идентификатор отдела или команды
createdAt
datetime
Дата и время создания отдела или команды
updatedAt
datetime
Дата и время последнего обновления отдела или команды
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Обязательное поле `parentId` не указано",
"field": "parentId"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
id parentId |
Обязательное поле #FIELD# не указано |
Добавьте указанное поле в тело запроса |
FIELD# |
В поле #FIELD# требуется тип данных #TYPE# для такого запроса |
Убедитесь, что передаваемое значение нужного типа |

