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

Задать источники папки «Все»

Метод в процессе раскатки — выходит в обновлении im 26.1300.0. Доступен не на всех порталах Битрикс24. Если на вашем портале метод ещё не доступен, API вернёт 422 METHOD_NOT_YET_AVAILABLE — это не ошибка интеграции, а признак того, что обновление пока не приехало на портал.

PUT /v1/chats/folders/:folderId/sources

Задаёт полный набор включённых источников папки «Все». Работает только с этой папкой. Что такое источники, их текущий набор и коды — GET /v1/chats/folders/:folderId/sources.

Параметры

Параметр Тип Обяз. Описание
folderId (path) number да ID папки «Все» — поле id папки с type: "system" и code: "all" из GET /v1/chats/folders

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

Поле Тип Обяз. Описание
sourceCodes string[] да Коды источников, которые должны быть включены, — значения data.sources[].code из GET /v1/chats/folders/:folderId/sources. Элемент — непустая строка до 64 символов. [] выключает все источники, которые можно выключить

Параметров запроса нет. Любой параметр запроса или другое поле тела отклоняется с 400 INVALID_PARAMS.

Примеры

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

Terminal
# Оставить включёнными задачи и коллабы в папке «Все» (ID 7)
curl -X PUT "https://vibecode.bitrix24.tech/v1/chats/folders/7/sources" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sourceCodes": ["tasksTask", "collab"]}'

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

Terminal
# Оставить включёнными задачи и коллабы в папке «Все» (ID 7)
curl -X PUT "https://vibecode.bitrix24.tech/v1/chats/folders/7/sources" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sourceCodes": ["tasksTask", "collab"]}'

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

javascript
const base = 'https://vibecode.bitrix24.tech/v1/chats/folders/7/sources'
const headers = { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' }

const { data } = await fetch(base, { headers }).then((r) => r.json())

// Выключить коллабы, остальное оставить как есть
const sourceCodes = data.sources
  .filter((s) => s.togglable && s.enabled && s.code !== 'collab')
  .map((s) => s.code)

const saved = await fetch(base, {
  method: 'PUT',
  headers,
  body: JSON.stringify({ sourceCodes }),
}).then((r) => r.json())

console.log('Включены:', saved.data.sourceFolders)

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

javascript
const base = 'https://vibecode.bitrix24.tech/v1/chats/folders/7/sources'
const headers = {
  'X-Api-Key': 'YOUR_APP_KEY',
  'Authorization': 'Bearer USER_SESSION_TOKEN',
  'Content-Type': 'application/json',
}

const { data } = await fetch(base, { headers }).then((r) => r.json())

// Выключить коллабы, остальное оставить как есть
const sourceCodes = data.sources
  .filter((s) => s.togglable && s.enabled && s.code !== 'collab')
  .map((s) => s.code)

const saved = await fetch(base, {
  method: 'PUT',
  headers,
  body: JSON.stringify({ sourceCodes }),
}).then((r) => r.json())

console.log('Включены:', saved.data.sourceFolders)

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.sourceFolders string[] Коды источников, включённых после записи, — с учётом обязательного

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

JSON
{
  "success": true,
  "data": {
    "sourceFolders": ["default", "tasksTask", "collab"]
  }
}

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

400 — не передан sourceCodes:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "`sourceCodes` is missing: pass the full list of enabled source codes (`[]` switches every optional source off)."
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS folderId не положительное целое, нет sourceCodes, sourceCodes не массив или его элемент некорректен, передан параметр запроса или неизвестное поле тела, тело — не JSON-объект. Проверяется до обращения к Битрикс24
404 ENTITY_NOT_FOUND Битрикс24 вернул «не найдено», код портала — в error.b24Code
422 METHOD_NOT_YET_AVAILABLE На портале ещё не установлено обновление im 26.1300.0 — см. заметку в начале страницы
422 BITRIX_ERROR Битрикс24 вернул ошибку, код портала — в error.b24Code: FOLDER_OPERATION_NOT_SUPPORTED — у папки нет источников или идёт параллельная запись той же папки. Во втором случае ничего не записано, и вызов можно повторить. FOLDER_NOT_FOUND — папки нет, FOLDER_ACCESS_DENIED — папка другого пользователя
502 BITRIX_UNAVAILABLE Битрикс24 недоступен или вернул ошибку сервера
403 SCOPE_DENIED API-ключ не имеет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24

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

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

  • Закрепление в папке «Все» следует за источниками. Выключение источника снимает закрепление его чатов в этой папке. При обратном включении закреплёнными снова становятся те чаты источника, что закреплены в общем списке чатов.
  • Применяйте ответ, а не запрос. Неизвестный код отбрасывается без ошибки, а обязательный источник добавляется, даже если его нет в sourceCodes. Итоговый набор — в data.sourceFolders.
  • Порядок элементов sourceCodes не меняет порядок data.sources в ответе чтения источников.

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