Сервис в разработкеBot API и документация будут дорабатываться: список методов, лимиты и поведение могут измениться.
Ошибки и лимиты
Формат ошибок, коды, ограничения
Формат ответа
JSON
{"ok": false, "error_code": 400, "description": "CHAT_ID_INVALID"}error_code совпадает с HTTP-статусом. description - короткий маркер ошибки, сравнивайте ошибки по нему.
Частые ошибки
| Маркер | HTTP | Причина |
|---|---|---|
ACCESS_TOKEN_INVALID | 401 | неверный токен |
METHOD_NOT_FOUND | 404 / 501 | метод не поддерживается |
CHAT_ID_INVALID | 400 | нет или неверный chat_id |
MESSAGE_EMPTY | 400 | не передан text |
MESSAGE_TOO_LONG | 400 | текст длиннее лимита |
MESSAGE_NOT_MODIFIED | 400 | правка ничего не меняет |
ENTITY_TYPE_UNSUPPORTED | 400 | неизвестный тип entity |
FILE_ID_INVALID | 400 | чужой или неизвестный файл |
FILE_TOO_BIG | 400 | файл больше 25 MiB |
BUTTON_INVALID | 400 | у кнопки нет действия или их несколько |
BOT_COMMAND_SCOPE_UNSUPPORTED | 400 | scope не default |
EPHEMERAL_TARGET_REQUIRED | 400 | нужен receiver_user_id |
EPHEMERAL_ACTION_EXPIRED | 400 | прошло больше 15 секунд |
WEBHOOK_URL_INVALID | 400 | плохой адрес вебхука |
CONFLICT | 409 | параллельный getUpdates или активный вебхук |
QUERY_ID_INVALID | 400 | устаревший pre_checkout_query_id |
CURRENCY_INVALID | 400 | валюта не XTR |
INTERNAL_SERVER_ERROR | 500 / 503 | сбой на сервере, повторите запрос |
Лимиты
| Что | Значение |
|---|---|
| Длина текста | 4096 символов |
| Длина подписи | 1024 символа |
| Entities в сообщении | 256 |
callback_data | 64 байта |
Команд в setMyCommands | 100 |
| Размер загружаемого файла | 25 MiB |
limit в getUpdates | 100 |
timeout в getUpdates | 0–50 секунд |
max_connections вебхука | 1–100 |
| Rich-сообщение | 256 KiB |