imbot.command.answer
Отправить ответ на команду
Описание
Метод imbot.command.answer публикует ответ на команду чат-бота.
Параметры
COMMAND_ID
integer
обязательный
Идентификатор команды. Обязателен, если не передан COMMAND
COMMAND
string
обязательный
Текст команды. Обязателен, если не передан COMMAND_ID
MESSAGE_ID
integer
обязательный
Идентификатор сообщения, на которое отправляется ответ.
Идентификатор можно узнать из входящего события ONIMCOMMANDADD
MESSAGE
string
обязательный
Текст ответа
ATTACH
object
необязательный
Объект с вложением к сообщению. Минимальный формат:
{
"BLOCKS": [
{ "MESSAGE": "Текст блока" }
]
}
KEYBOARD
object
необязательный
Клавиатура сообщения. Минимальный формат:
{
"BUTTONS": [
{ "TEXT": "Повторить", "COMMAND": "echo repeat" }
]
}
MENU
object
необязательный
Контекстное меню сообщения. Минимальный формат:
[
{ "TEXT": "bitrix24", "LINK": "https://bitrix24.ru" }
]
SYSTEM
string
необязательный
Тип сообщения:
- Y - системное сообщение
- N - обычное сообщение
По умолчанию - N
URL_PREVIEW
string
необязательный
Преобразование ссылок в rich-ссылки:
- Y - включено
- N - выключено
По умолчанию - Y.
Работает для ссылок, переданных в поле MESSAGE
CLIENT_ID
string
необязательный
Параметр обязателен только для вебхуков. Передавайте тот же CLIENT_ID, который был указан при регистрации чат-бота
Примеры запроса
curl -X POST /
-H "Content-Type: application/json" /
-H "Accept: application/json" /
-d '{"COMMAND_ID":99,"MESSAGE_ID":33871,"MESSAGE":"Принято. Выполняю команду.","SYSTEM":"N","URL_PREVIEW":"Y","ATTACH":{"BLOCKS":[{"MESSAGE":"Детали задачи"},{"DELIMITER":true},{"LINK":{"NAME":"Открыть","LINK":"https://example.com"}}]},"KEYBOARD":{"BUTTONS":[{"TEXT":"Повторить","COMMAND":"echo repeat"}]},"MENU":[{"TEXT":"bitrix24","LINK":"https://bitrix24.ru"}],"CLIENT_ID":"**put_your_client_id_here**"}' /
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.command.answer
curl -X POST /
-H "Content-Type: application/json" /
-H "Accept: application/json" /
-d '{"COMMAND_ID":99,"MESSAGE_ID":33871,"MESSAGE":"Принято. Выполняю команду.","SYSTEM":"N","URL_PREVIEW":"Y","ATTACH":{"BLOCKS":[{"MESSAGE":"Детали задачи"},{"DELIMITER":true},{"LINK":{"NAME":"Открыть","LINK":"https://example.com"}}]},"KEYBOARD":{"BUTTONS":[{"TEXT":"Повторить","COMMAND":"echo repeat"}]},"MENU":[{"TEXT":"bitrix24","LINK":"https://bitrix24.ru"}],"auth":"**put_access_token_here**"}' /
https://**put_your_bitrix24_address**/rest/imbot.command.answer
try
{
const response = await $b24.callMethod(
'imbot.command.answer',
{
COMMAND_ID: 99,
MESSAGE_ID: 33871,
MESSAGE: 'Принято. Выполняю команду.',
SYSTEM: 'N',
URL_PREVIEW: 'Y',
ATTACH: {
BLOCKS: [
{MESSAGE: 'Детали задачи'},
{DELIMITER: true},
{LINK: {NAME: 'Открыть', LINK: 'https://example.com'}}
]
},
KEYBOARD: {
BUTTONS: [
{TEXT: 'Повторить', COMMAND: 'echo repeat'}
]
},
MENU: [
{TEXT: 'bitrix24', LINK: 'https://bitrix24.ru'}
]
}
);
const result = response.getData().result;
console.log('Answered command with ID:', result);
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'imbot.command.answer',
[
'COMMAND_ID' => 99,
'MESSAGE_ID' => 33871,
'MESSAGE' => 'Принято. Выполняю команду.',
'SYSTEM' => 'N',
'URL_PREVIEW' => 'Y',
'ATTACH' => [
'BLOCKS' => [
['MESSAGE' => 'Детали задачи'],
['DELIMITER' => true],
['LINK' => ['NAME' => 'Открыть', 'LINK' => 'https://example.com']]
]
],
'KEYBOARD' => [
'BUTTONS' => [
['TEXT' => 'Повторить', 'COMMAND' => 'echo repeat']
]
],
'MENU' => [
['TEXT' => 'bitrix24', 'LINK' => 'https://bitrix24.ru']
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error answering command: ' . $e->getMessage();
}
BX24.callMethod(
'imbot.command.answer',
{
COMMAND_ID: 99,
MESSAGE_ID: 33871,
MESSAGE: 'Принято. Выполняю команду.',
SYSTEM: 'N',
URL_PREVIEW: 'Y',
ATTACH: {
BLOCKS: [
{MESSAGE: 'Детали задачи'},
{DELIMITER: true},
{LINK: {NAME: 'Открыть', LINK: 'https://example.com'}}
]
},
KEYBOARD: {
BUTTONS: [
{TEXT: 'Повторить', COMMAND: 'echo repeat'}
]
},
MENU: [
{TEXT: 'bitrix24', LINK: 'https://bitrix24.ru'}
]
},
function(result)
{
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.command.answer',
[
'COMMAND_ID' => 99,
'MESSAGE_ID' => 33871,
'MESSAGE' => 'Принято. Выполняю команду.',
'SYSTEM' => 'N',
'URL_PREVIEW' => 'Y',
'ATTACH' => [
'BLOCKS' => [
['MESSAGE' => 'Детали задачи'],
['DELIMITER' => true],
['LINK' => ['NAME' => 'Открыть', 'LINK' => 'https://example.com']]
]
],
'KEYBOARD' => [
'BUTTONS' => [
['TEXT' => 'Повторить', 'COMMAND' => 'echo repeat']
]
],
'MENU' => [
['TEXT' => 'bitrix24', 'LINK' => 'https://bitrix24.ru']
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.command.answer", b24.Params{
"COMMAND_ID": 99,
"MESSAGE_ID": 33871,
"MESSAGE": "Принято. Выполняю команду.",
"SYSTEM": "N",
"URL_PREVIEW": "Y",
"ATTACH": b24.Params{
"BLOCKS": []b24.Params{
{
"MESSAGE": "Детали задачи",
},
{
"DELIMITER": true,
},
{
"LINK": b24.Params{
"NAME": "Открыть",
"LINK": "https://example.com",
},
},
},
},
"KEYBOARD": b24.Params{
"BUTTONS": []b24.Params{
{
"TEXT": "Повторить",
"COMMAND": "echo repeat",
},
},
},
"MENU": []b24.Params{
{
"TEXT": "bitrix24",
"LINK": "https://bitrix24.ru",
},
},
"CLIENT_ID": "**put_your_client_id_here**",
})
if err != nil {
return fmt.Errorf("imbot.command.answer: %w", err)
}
var value b24.ID
if err := json.Unmarshal(res.Result, &value); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("результат:", value)
Ответ
HTTP-статус: 200
{
"result": 33879,
"time": {
"start": 1772102358,
"finish": 1772102359.061859,
"duration": 1.061858892440796,
"processing": 1,
"date_start": "2026-02-26T13:39:18+03:00",
"date_finish": "2026-02-26T13:39:19+03:00",
"operating_reset_at": 1772102958,
"operating": 0
}
}
Возвращаемые данные
result
integer
Идентификатор отправленного сообщения-ответа
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "MESSAGE_EMPTY",
"error_description": "Message can't be empty"
}
| Код | Описание | Значение |
|---|---|---|
COMMAND_ID_ERROR |
Command not found | Команда не найдена |
APP_ID_ERROR |
Command was installed by another rest application | Команда зарегистрирована другим приложением |
MESSAGE_ID_EMPTY |
Message ID can't be empty | Не передан MESSAGE_ID |
MESSAGE_EMPTY |
Message can't be empty | Не передан текст сообщения |
ATTACH_ERROR |
Incorrect attach params | Невалидный объект ATTACH |
ATTACH_OVERSIZE |
You have exceeded the maximum allowable size of attach | Размер ATTACH превышает допустимый |
KEYBOARD_ERROR |
Incorrect keyboard params | Невалидный объект KEYBOARD |
KEYBOARD_OVERSIZE |
You have exceeded the maximum allowable size of keyboard | Размер KEYBOARD превышает допустимый |
MENU_ERROR |
Incorrect menu params | Невалидный объект MENU |
WRONG_REQUEST |
Message isn't added | Не удалось отправить сообщение |

