Для AI-агентов: markdown этой страницы — /docs-content/chats/members/managers-set.md индекс документации — /llms.txt

Заменить менеджеров

PUT /v1/chats/:dialogId/managers

Заменяет список менеджеров чата переданным целиком: менеджер, которого нет в списке, теряет роль. Владелец остаётся владельцем при любом списке. Чтобы добавить менеджеров, не трогая остальных, используйте назначение менеджеров.

Параметры

Параметр Тип Обяз. Описание
dialogId (path) string да Идентификатор группового чата chatXXX. Личный диалог отклоняется

Поля запроса (body)

Поле Тип Обяз. Описание
userIds number[] да Менеджеры после вызова — от 1 до 50 ID участников чата. Каждый элемент — положительное целое: число или строка из десятичных цифр без ведущих нулей и пробелов, не больше 2^53−1. Участники: GET /v1/chats/:dialogId/users

Другие поля тела и любые query-параметры отклоняются с 400 INVALID_PARAMS.

Примеры

curl — личный ключ

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/chats/chat42/managers" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "userIds": [7] }'

curl — OAuth-приложение

Terminal
curl -X PUT "https://vibecode.bitrix24.tech/v1/chats/chat42/managers" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "userIds": [7] }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat42/managers', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ userIds: [7] }),
})

const { success, data } = await res.json()

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat42/managers', {
  method: 'PUT',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ userIds: [7] }),
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data boolean true — список сохранён

Пример ответа

JSON
{
  "success": true,
  "data": true
}

Пример ответа при ошибке

400 — пустой список:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "`userIds` is required: a non-empty array of Bitrix24 user ids. An empty list changes nothing on the portal — to remove managers use DELETE /v1/chats/:dialogId/managers?userIds=…."
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS userIds отсутствует, пуст, не массив, длиннее 50 или содержит не положительное целое — в message названы индекс и тип; лишнее поле тела или query-параметр; тело не JSON-объект. Проверяется до обращения к Битрикс24
403 BITRIX_ACCESS_DENIED Нет права менять менеджеров или dialogId — личный диалог
403 SCOPE_DENIED API-ключ не имеет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения — см. права доступа
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24
404 ENTITY_NOT_FOUND Битрикс24 вернул «не найдено»; код портала — в error.b24Code
422 BITRIX_ERROR Битрикс24 не сохранил список; код портала — в error.b24Code. Сюда же приходит список только из пользователей не из чата: портал отвечает внутренней ошибкой, ничего не меняя
502 ME_ALIAS_RESOLUTION_FAILED Не удалось определить пользователя при использовании алиаса me

Полный список общих ошибок API — Ошибки.

Известные особенности

Пустой список не снимает менеджеров. Портал принял бы его как успех и ничего не изменил, поэтому пустой userIds отклоняется. Чтобы снять роль со всех, передайте их ID в снятие менеджеров.

Пользователи не из чата пропускаются, если в списке есть хотя бы один участник: остальные получают роль, ответ — true.

Смотрите также