Ошибки

HTTP-коды

400 — неверный запрос, 401 — токен или подпись, 403 — недостаточно прав/лимит, 404 — сущность недоступна, 409 — конфликт имени, 413 — слишком большой файл, 422 — ошибка поля, 429 — лимит запросов, 5xx — временная ошибка платформы.

Повтор запроса

Повторяйте только идемпотентные операции и 429/5xx с exponential backoff и jitter. Для отправки сообщения всегда задавайте idempotency_key.

Ошибка в чате

Если callback не выполнен, кнопка возвращается из состояния загрузки, а пользователю показывается системное сообщение. Не публикуйте stack trace или внутренний ответ webhook.

Практика с SDK

Разделяйте окончательные 4xx и временные 429/5xx. Повторяйте запросы с exponential backoff и jitter, сохраняя исходный idempotency_key.

Логируйте request id, HTTP status и безопасную часть ответа, но удаляйте токены, webhook secrets и пользовательские вложения.

Примеры использования

import { KeyChatError } from '@keychat/bots';

try { await bot.sendMessage(input); }
catch (error) {
  if (error instanceof KeyChatError && (error.status === 429 || error.status >= 500)) scheduleRetry(input);
  else throw error;
}
© 2026. Key Chat.