Для AI-агентов: markdown этой страницы — /docs-content/bots/commands/list.md индекс документации — /llms.txt
Список команд
GET /v1/bots/:botId/commands
Возвращает зарегистрированные команды бота вместе с системными командами портала.
Возможная задержка после мутаций
Вайбкод не кеширует этот ответ. Однако сам Битрикс24 держит свой кеш списка команд и не всегда обновляет его сразу после регистрации, обновления или удаления команды. В течение нескольких секунд (иногда минут) после успешной мутации GET может возвращать:
- удалённые команды (их id ещё видны в списке)
- старые значения
title/params/commonдля только что обновлённой команды - отсутствие только что зарегистрированной команды.
При этом сама команда уже действует на стороне Битрикс24 (на неё реагирует событие ONIMBOTV2COMMANDADD, бот её обрабатывает) — расхождение видно только в этом GET.
Что делать
- Не использовать
GET /commandsкак единственный источник правды сразу после мутации. Опирайтесь на ответ самой мутации:POSTвозвращает данные с новым id,PATCH— обновлённую команду,DELETE— признак успеха. - Если нужна синхронизация со списком (например для сверки интерфейса с реальным состоянием), запросите
GETповторно через 10–30 секунд. - Если расхождение сохраняется дольше минуты, это уже не штатная задержка. Приложите к обращению в поддержку
botId, время мутации и то, что именно ожидалось и что получено.
Принудительно сбросить этот кеш на стороне Битрикс24 нельзя. Если список не обновился — повторите GET через несколько секунд.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
botId (path) |
number | да | ID бота |
Примеры
curl — личный ключ
curl https://vibecode.bitrix24.tech/v1/bots/42/commands \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl https://vibecode.bitrix24.tech/v1/bots/42/commands \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/bots/42/commands', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Команды:', data.commands)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/bots/42/commands', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
object | Результат запроса |
data.commands |
array | Команды бота и системные команды портала |
data.commands[].id |
number | string | ID команды. У команды бота — число, у системной команды портала — строка вида def0 |
data.commands[].botId |
number | ID бота — владельца команды. 0 у системной команды портала |
data.commands[].command |
string | Текст команды, начинается с /, например /help |
data.commands[].category |
string | Название группы команды в списке команд. У команды бота — имя бота |
data.commands[].common |
string | Y — команда доступна во всех чатах, N — только в личном диалоге с ботом и чатах с ботом |
data.commands[].context |
string | Контекст команды. Пустая строка, если не задан |
data.commands[].title |
string | Описание команды на языке портала |
data.commands[].params |
string | Подсказка к параметрам команды на языке портала. Пустая строка, если не задана |
data.commands[].extranet |
string | Y — команда доступна экстранет-пользователям, N — нет |
Пример ответа
Показаны две системные команды портала из шести и команда бота:
{
"success": true,
"data": {
"commands": [
{
"id": "def0",
"botId": 0,
"command": "/me",
"category": "Чат и звонки",
"common": "Y",
"context": "",
"title": "Текст будет выделен курсивом",
"params": "текст",
"extranet": "Y"
},
{
"id": "def3",
"botId": 0,
"command": "/rename",
"category": "Чаты",
"common": "Y",
"context": "chat",
"title": "Изменение заголовка чата",
"params": "новый заголовок",
"extranet": "Y"
},
{
"id": 229,
"botId": 42,
"command": "/help",
"category": "Техподдержка",
"common": "Y",
"context": "",
"title": "Помощь",
"params": "тема",
"extranet": "N"
}
]
}
}
Пример ответа при ошибке
404 — бот не найден:
{
"success": false,
"error": {
"code": "BOT_NOT_FOUND",
"message": "Bot 999 not found. Register it first via POST /v1/bots."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_BOT_ID |
botId не является числом |
| 404 | BOT_NOT_FOUND |
Бот с таким ID не найден |
| 403 | BOT_ACCESS_DENIED |
Бот принадлежит другому API-ключу |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа imbot |
| 410 | BOT_DISABLED |
Бот отключён и не обрабатывает вызовы API. Как вернуть бота — Бот отключён |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.
Известные особенности
Команды бота нужно отобрать из общего списка. Системные команды портала приходят в каждом ответе, у них botId равен 0. Чтобы получить только команды своего бота, оставьте элементы data.commands, у которых botId совпадает с ID бота.