#Список команд

GET /v1/bots/:botId/commands

Возвращает все зарегистрированные команды бота.

#⚠️ Возможная задержка после мутаций

Эндпоинт — прямой прокси на imbot.v2.Command.list без кеша на стороне Вайбкода. Однако сам Bitrix24 держит свой кеш этого ответа и не всегда инвалидирует его сразу после POST (регистрация), PATCH (обновление) или DELETE (удаление). На практике это означает, что в течение нескольких секунд (иногда минут) после успешной мутации GET может возвращать:

  • удалённые команды (их id ещё видны в списке);
  • старые значения title / params / common / hidden для только что обновлённой команды;
  • отсутствие только что зарегистрированной команды.

При этом сама команда уже действующая на стороне B24 (на неё реагирует ONIMBOTV2COMMANDADD, бот её обрабатывает) — расхождение видно только в этом GET.

#Что делать

  • Не использовать GET /commands как единственный источник правды сразу после мутации. Опирайтесь на ответ самой мутации: POST возвращает data с новым id; PATCH / DELETE — флаги успеха.
  • Если нужна синхронизация со списком (например для сверки интерфейса с реальным состоянием), запросите GET повторно через 10–30 секунд.
  • Если расхождение сохраняется дольше минуты, это уже не штатная задержка. Сообщите в feedback botId, время мутации и то, что именно ожидалось и что получено.

Вайбкод не может принудительно сбросить кеш B24 — для imbot.v2.Command.* нет соответствующего REST-метода. Внутренний баг трекается в feedback VB-c3068b1a.

#Параметры

Параметр Тип Обяз. Описание
botId (path) number да ID бота

#Примеры

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

Terminal
curl https://vibecode.bitrix24.tech/v1/bots/42/commands \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl https://vibecode.bitrix24.tech/v1/bots/42/commands \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

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)

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

javascript
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()

#Поля ответа

Поле Тип Описание
data array Массив команд
data[].id number ID команды
data[].command string Текст команды
data[].title string Заголовок (локализованный)
data[].params string Описание параметров (локализованное)
data[].common boolean Доступна во всех чатах
data[].hidden boolean Скрыта из списка
data[].extranetSupport boolean Доступна экстранет-пользователям

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 7,
      "command": "help",
      "title": "Помощь",
      "params": "тема",
      "common": true,
      "hidden": false,
      "extranetSupport": false
    },
    {
      "id": 8,
      "command": "status",
      "title": "Статус",
      "params": "",
      "common": false,
      "hidden": false,
      "extranetSupport": false
    }
  ]
}

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

404 — бот не найден:

JSON
{
  "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
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

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