# imbot.command.answer

URL: https://chugunov.pro/api-bitrix24/chat-bots/outdated/commands/imbot-command-answer/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Отправить ответ на команду
Scope: `imbot`
Кто может выполнять метод: пользователь приложения, которое зарегистрировало чат-бота

> Устаревший метод. Развитие метода остановлено. Используйте imbot.v2.Command.answer.

## Описание

Метод `imbot.command.answer` публикует ответ на команду чат-бота.

## Параметры

- `COMMAND_ID` `integer` — обязательный. Идентификатор команды. Обязателен, если не передан `COMMAND`
- `COMMAND` `string` — обязательный. Текст команды. Обязателен, если не передан `COMMAND_ID`
- `MESSAGE_ID` `integer` — обязательный. Идентификатор сообщения, на которое отправляется ответ.
  Идентификатор можно узнать из входящего события [ONIMCOMMANDADD](https://chugunov.pro/api-bitrix24/chat-bots/outdated/commands/events/on-im-command-add/)
- `MESSAGE` `string` — обязательный. Текст ответа
- `ATTACH` `object` — необязательный. Объект с вложением к сообщению. Минимальный формат: 
  ```json
  {
    "BLOCKS": [
      { "MESSAGE": "Текст блока" }
    ]
  }
  ```
  [Подробное описание](https://apidocs.bitrix24.ru/api-reference/chats/messages/attachments.html)
- `KEYBOARD` `object` — необязательный. Клавиатура сообщения. Минимальный формат:
  ```json
  {
    "BUTTONS": [
      { "TEXT": "Повторить", "COMMAND": "echo repeat" }
    ]
  }
  ```
  [Подробное описание](https://apidocs.bitrix24.ru/api-reference/chats/messages/keyboards.html)
- `MENU` `object` — необязательный. Контекстное меню сообщения. Минимальный формат:
  ```json
  [
    { "TEXT": "bitrix24", "LINK": "https://bitrix24.ru" }
  ]
  ```
  [Подробное описание](https://apidocs.bitrix24.ru/api-reference/chats/messages/menu.html)
- `SYSTEM` `string` — необязательный. Тип сообщения:
  - `Y` - системное сообщение
  - `N` - обычное сообщение
  По умолчанию - `N`
- `URL_PREVIEW` `string` — необязательный. Преобразование ссылок в rich-ссылки:
  - `Y` - включено
  - `N` - выключено
  По умолчанию - `Y`.
  Работает для ссылок, переданных в поле `MESSAGE`
- `CLIENT_ID` `string` — необязательный. Параметр обязателен только для вебхуков. Передавайте тот же CLIENT_ID, который был указан при регистрации чат-бота

## Ответ

HTTP-статус: 200

```json
{
    "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

```json
{
    "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. Не удалось отправить сообщение

## Примеры запроса

### cURL (Webhook)

```bash
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 (OAuth)

```bash
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
```

### JS

```js
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);
}
```

### PHP

```php
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.js

```js
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());
    }
);
```

### PHP CRest

```php
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>';
```

### Go

```go
// 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)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/chat-bots/outdated/commands/imbot-command-answer.html
