Для AI-агентов: markdown этой страницы — /docs-content/chats/commands.md индекс документации — /llms.txt
Команды ботов в чате
GET /v1/chats/:dialogId/commands
Возвращает команды ботов, которые текущий пользователь может вызвать в чате, и краткие карточки этих ботов.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
dialogId (path) |
string | да | Идентификатор диалога: chatXXX для группового чата, ID пользователя для личного диалога с ним или me для личного диалога с собой. chatXXX — поле data.items[].id последних диалогов, ID пользователя — GET /v1/users |
Параметров запроса нет. Любой параметр запроса отклоняется с 400 INVALID_PARAMS.
Примеры
curl — личный ключ
curl -X GET "https://vibecode.bitrix24.tech/v1/chats/chat42/commands" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl -X GET "https://vibecode.bitrix24.tech/v1/chats/chat42/commands" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const response = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat42/commands', {
"method": "GET",
"headers": {
"X-Api-Key": "YOUR_API_KEY"
}
})
const result = await response.json()
JavaScript — OAuth-приложение
const response = await fetch('https://vibecode.bitrix24.tech/v1/chats/chat42/commands', {
"method": "GET",
"headers": {
"X-Api-Key": "YOUR_APP_KEY",
"Authorization": "Bearer USER_SESSION_TOKEN"
}
})
const result = await response.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.commands |
array | Команды, доступные в чате |
data.commands[].id |
number | ID команды |
data.commands[].botId |
number | ID бота — владельца команды. Карточка бота — элемент data.users с тем же id |
data.commands[].command |
string | Текст команды, начинается с /, например /echo |
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 — нет |
data.users |
array | Карточки ботов, которым принадлежат команды |
data.users[].id |
number | ID бота |
data.users[].name |
string | Имя бота |
data.users[].avatar |
string | URL аватара. Пустая строка, если аватар не задан |
data.users[].color |
string | Цвет бота в формате #RRGGBB |
data.users[].type |
string | Тип пользователя — bot |
Пример ответа
{
"success": true,
"data": {
"commands": [
{
"id": 73,
"botId": 1163,
"command": "/giphy",
"category": "Giphy",
"common": "Y",
"context": "",
"title": "Опубликовать подходящее по смыслу изображение на заданную тему",
"params": "текст",
"extranet": "Y"
},
{
"id": 103,
"botId": 1291,
"command": "/echo",
"category": "MyBot",
"common": "Y",
"context": "",
"title": "Эхо",
"params": "текст",
"extranet": "N"
}
],
"users": [
{
"id": 1163,
"name": "Giphy",
"avatar": "https://example.bitrix24.ru/upload/giphy.png",
"color": "#1eb4aa",
"type": "bot"
},
{
"id": 1291,
"name": "MyBot",
"avatar": "",
"color": "#df532d",
"type": "bot"
}
]
}
}
Пример ответа при ошибке
422 — чата с таким dialogId нет:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "CHAT_NOT_FOUND",
"hint": "dialogId must be a userId (number as string) for DMs or \"chat{N}\" for group chats. Examples: \"1\" for user 1, \"chat123\" for group chat 123. Create a group chat first via POST /v1/bots/:botId/chats if needed.",
"b24Code": "CHAT_NOT_FOUND"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
dialogId — не положительный ID пользователя, не chatXXX и не me, либо передан параметр запроса |
| 401 | MISSING_API_KEY |
Не передан X-Api-Key |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов Битрикс24 |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа im |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ в режиме только для чтения, а запрос сделан не личным ключом сотрудника или dialogId не указывает на существующий диалог |
| 403 | BITRIX_ACCESS_DENIED |
Битрикс24 отказал в доступе к чату |
| 404 | ENTITY_NOT_FOUND |
Битрикс24 не нашёл объект. Код портала — в error.b24Code |
| 422 | BITRIX_ERROR |
Битрикс24 вернул ошибку, код портала — в error.b24Code. Чата нет — CHAT_NOT_FOUND |
| 429 | RATE_LIMITED |
Превышен лимит запросов к Битрикс24. Срок повтора — в заголовке Retry-After |
| 502 | ME_ALIAS_RESOLUTION_FAILED |
Не удалось определить пользователя при использовании алиаса me |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 недоступен или вернул ответ, который не удалось прочитать |
| 503 | BITRIX_TIMEOUT |
Битрикс24 не ответил за отведённое время. Срок повтора — в заголовке Retry-After |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Список содержит команды только тех ботов, которые доступны текущему пользователю в этом диалоге. Требуется активное участие в чате.
- Для ключа только для чтения существующий диалог — это
chatXXXили ID пользователя из списка последних диалогов этого сотрудника.