imbot.v2.Chat.InputAction.notify
Отправить индикатор действия бота
Описание
Метод imbot.v2.Chat.InputAction.notify отправляет индикатор действия бота в чат — например, «бот печатает».
Параметры
botId
integer
обязательный
ID бота
botToken
string
необязательный
Уникальный токен авторизации бота. Обязателен при авторизации через вебхук, не нужен для OAuth.
Передавайте тот же botToken, который был указан при регистрации чат-бота
dialogId
string
обязательный
ID диалога. Для групповых чатов — chat{chatId}, для личных — {userId}
statusMessageCode
string
необязательный
Код статуса действия. Список доступных кодов описан ниже. Если не указан, отображается стандартный индикатор «печатает»
duration
integer
необязательный
Длительность отображения индикатора в секундах (1–600). По умолчанию определяется сервером
Доступные коды statusMessageCode
IMBOT_AGENT_ACTION_THINKING
необязательный
Агент размышляет...
IMBOT_AGENT_ACTION_SEARCHING
необязательный
Агент ищет информацию...
IMBOT_AGENT_ACTION_GENERATING
необязательный
Агент готовит ответ...
IMBOT_AGENT_ACTION_ANALYZING
необязательный
Агент анализирует запрос...
IMBOT_AGENT_ACTION_PROCESSING
необязательный
Агент обрабатывает данные...
IMBOT_AGENT_ACTION_TRANSLATING
необязательный
Агент переводит текст...
IMBOT_AGENT_ACTION_CONNECTING
необязательный
Агент подключается к сервису...
IMBOT_AGENT_ACTION_CHECKING
необязательный
Агент проверяет данные...
IMBOT_AGENT_ACTION_CALCULATING
необязательный
Агент выполняет расчет...
IMBOT_AGENT_ACTION_READING_DOCS
необязательный
Агент изучает документы...
IMBOT_AGENT_ACTION_COMPOSING
необязательный
Агент составляет ответ...
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"botToken":"my_bot_token","dialogId":"chat5","statusMessageCode":"IMBOT_AGENT_ACTION_THINKING","duration":30}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.v2.Chat.InputAction.notify
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"dialogId":"chat5","statusMessageCode":"IMBOT_AGENT_ACTION_THINKING","duration":30,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.v2.Chat.InputAction.notify
try {
const response = await $b24.callMethod('imbot.v2.Chat.InputAction.notify', {
botId: 456,
dialogId: 'chat5',
statusMessageCode: 'IMBOT_AGENT_ACTION_THINKING',
duration: 30,
});
const { result } = response.getData();
console.log('result:', result);
} catch (error) {
console.error('Error:', error);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.imbot.v2.chat.input_action.notify(
bot_id=456,
dialog_id="chat5",
status_message_code="IMBOT_AGENT_ACTION_THINKING",
duration=30,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'imbot.v2.Chat.InputAction.notify',
[
'botId' => 456,
'dialogId' => 'chat5',
'statusMessageCode' => 'IMBOT_AGENT_ACTION_THINKING',
'duration' => 30,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'result: ' . print_r($result, true);
} catch (Throwable $exception) {
error_log($exception->getMessage());
echo 'Error: ' . $exception->getMessage();
}
BX24.callMethod(
'imbot.v2.Chat.InputAction.notify',
{
botId: 456,
dialogId: 'chat5',
statusMessageCode: 'IMBOT_AGENT_ACTION_THINKING',
duration: 30,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.v2.Chat.InputAction.notify',
[
'botId' => 456,
'dialogId' => 'chat5',
'statusMessageCode' => 'IMBOT_AGENT_ACTION_THINKING',
'duration' => 30,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Action sent';
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "imbot.v2.Chat.InputAction.notify", b24.Params{
"botId": 456,
"botToken": "my_bot_token",
"dialogId": "chat5",
"statusMessageCode": "IMBOT_AGENT_ACTION_THINKING",
"duration": 30,
})
if err != nil {
return fmt.Errorf("imbot.v2.Chat.InputAction.notify: %w", err)
}
var item struct {
Result bool `json:"result"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Result)
Ответ
HTTP-статус: 200
{
"result": {
"result": true
},
"time": {
"start": 1728626400.123,
"finish": 1728626400.234,
"duration": 0.111,
"processing": 0.045,
"date_start": "2024-10-11T10:00:00+03:00",
"date_finish": "2024-10-11T10:00:00+03:00"
}
}
Обработка ошибок
HTTP-статус: 400
{
"error": "ACCESS_DENIED",
"error_description": "Access denied"
}
| Код | Описание | Значение |
|---|---|---|
BOT_TOKEN_NOT_SPECIFIED |
Bot token is not specified | Не указан botToken. Обязателен при авторизации через вебхук |
BOT_ID_REQUIRED |
Bot ID is required | Не указан botId |
BOT_NOT_FOUND |
Bot not found | Бот не найден |
BOT_OWNERSHIP_ERROR |
Bot is registered by another application | Бот зарегистрирован другим приложением |
ACCESS_DENIED |
Access denied | Бот не является участником чата |

