humanresources.node.member.set
Обновить состав участников отдела
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод humanresources.node.member.set обновляет состав участников отдела или команды по ролям.
Параметры
nodeId
integer
обязательный
Идентификатор отдела или команды.
Идентификатор можно получить методом humanresources.node.list
userIds
object
обязательный
Объект со списками идентификаторов пользователей в формате {"Роль_пользователя": [Идентификатор_пользователя]}. Описание структуры объекта
Метод добавляет новых участников, обновляет роли существующих и удаляет из отдела пользователей, которых нет во входном объекте userIds.
Идентификаторы пользователей можно получить методом user.get
Параметр userIds
MEMBER_HEAD
array
необязательный
Идентификаторы руководителей отдела
MEMBER_DEPUTY_HEAD
array
необязательный
Идентификаторы заместителей руководителя отдела
MEMBER_EMPLOYEE
array
необязательный
Идентификаторы сотрудников отдела
MEMBER_TEAM_HEAD
array
необязательный
Идентификаторы руководителей команды
MEMBER_TEAM_DEPUTY_HEAD
array
необязательный
Идентификаторы заместителей руководителя команды
MEMBER_TEAM_EMPLOYEE
array
необязательный
Идентификаторы участников команды
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nodeId":15,"userIds":{"MEMBER_HEAD":[7],"MEMBER_DEPUTY_HEAD":[12],"MEMBER_EMPLOYEE":[18,25,31]}}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/humanresources.node.member.set
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nodeId":15,"userIds":{"MEMBER_HEAD":[7],"MEMBER_DEPUTY_HEAD":[12],"MEMBER_EMPLOYEE":[18,25,31]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/humanresources.node.member.set
// 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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type NodeMemberSetResult = {
success: boolean
}
try {
const response = await $b24.actions.v3.call.make<NodeMemberSetResult>({
method: 'humanresources.node.member.set',
params: {
nodeId: 15,
userIds: {
MEMBER_HEAD: [7],
MEMBER_DEPUTY_HEAD: [12],
MEMBER_EMPLOYEE: [18, 25, 31],
},
},
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.success)
}
} 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 setNodeMembers() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'humanresources.node.member.set',
params: {
nodeId: 15,
userIds: {
MEMBER_HEAD: [7],
MEMBER_DEPUTY_HEAD: [12],
MEMBER_EMPLOYEE: [18, 25, 31],
},
},
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.success)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', setNodeMembers)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
user_ids = {
"MEMBER_HEAD": [
7,
],
"MEMBER_DEPUTY_HEAD": [
12,
],
"MEMBER_EMPLOYEE": [
18,
25,
31,
],
}
try:
bitrix_response = client.humanresources.node.member.set(
node_id=15,
user_ids=user_ids,
).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.member.set',
[
'nodeId' => 15,
'userIds' => [
'MEMBER_HEAD' => [7],
'MEMBER_DEPUTY_HEAD' => [12],
'MEMBER_EMPLOYEE' => [18, 25, 31],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'humanresources.node.member.set',
{
nodeId: 15,
userIds: {
MEMBER_HEAD: [7],
MEMBER_DEPUTY_HEAD: [12],
MEMBER_EMPLOYEE: [18, 25, 31]
}
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'humanresources.node.member.set',
[
'nodeId' => 15,
'userIds' => [
'MEMBER_HEAD' => [7],
'MEMBER_DEPUTY_HEAD' => [12],
'MEMBER_EMPLOYEE' => [18, 25, 31]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "humanresources.node.member.set", b24.Params{
"nodeId": 15,
"userIds": b24.Params{
"MEMBER_HEAD": []int{7},
"MEMBER_DEPUTY_HEAD": []int{12},
"MEMBER_EMPLOYEE": []int{18, 25, 31},
},
})
if err != nil {
return fmt.Errorf("humanresources.node.member.set: %w", err)
}
var item struct {
Success bool `json:"success"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Success)
Ответ
HTTP-статус: 200
{
"result": {
"success": true
},
"time": {
"start": 1780405900,
"finish": 1780405900.242662,
"duration": 0.2426619529724121,
"processing": 0.19870305061340332,
"date_start": "2026-06-02T16:11:40+03:00",
"date_finish": "2026-06-02T16:11:40+03:00",
"operating_reset_at": 1780406500,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с результатом операции
success
boolean
Значение true, если состав участников успешно обновлен
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_REQUESTVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта запроса",
"validation": [
{
"message": "Invalid roles: MEMBER_OWNER. Allowed: MEMBER_HEAD, MEMBER_DEPUTY_HEAD, MEMBER_EMPLOYEE.",
"field": "userIds"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
nodeId |
Parameter "nodeId" is required. |
Передайте идентификатор отдела или команды |
userIds |
Parameter "userIds" is required and must be a non-empty array. |
Передайте объект с непустыми списками пользователей по ролям |
userIds |
Invalid roles: #ROLE#. Allowed: #ROLE_LIST#. |
Передайте только роли, которые поддерживаются для выбранного типа отдела или команды |

