Перейти к основному содержанию
Диагностируйте ошибку BetterToken API по HTTP-статусу и телу ответа вместе. Сохраните ID запроса из error.message. Перед повторной отправкой исправьте ошибки авторизации и настройки; повторяйте только запросы со сбоем, который удалось определить как временный.

Перед диагностикой

Подготовьте Model ID, Base URL и ответ с ошибкой. Проверьте состояние ключа и баланс в панели BetterToken. Если вы ещё не получили ответ модели, начните с примеров SDK или настройки вашего инструмента.

Прочитайте ответ с ошибкой

BetterToken возвращает ошибки API в JSON-объекте. Например, запрос без ключа может вернуть:
Читайте error.message, даже если error.code пуст. ID запроса в сообщении помогает найти неудачную попытку. Запрос к /v1/models без ключа возвращает 401; он не проверяет, способна ли ваша модель сгенерировать ответ. Перед обращением в поддержку сохраните: Не включайте BetterToken API Key в снимки экрана, сообщения поддержке и общедоступные логи.

Проверьте HTTP-статус

Таблица описывает общие значения статусов HTTP/API и связанные инструкции по настройке. Это не перечень собственных кодов ошибок BetterToken: выбирайте исправление по фактическому ответу. Ошибки протокола и суффиксов разобраны в FAQ по Base URL. Вопросы кэша — в FAQ по оплате кэша.

Повторяйте временные сбои

Если 429 или серверная ошибка определены как временные, используйте экспоненциальную задержку со случайным разбросом и ограничением числа попыток. Соблюдайте Retry-After, если он вернулся. Если ожидание превышает бюджет повторов, остановите цикл и подождите вне него. Повторы SDK и ваш цикл расходуют общий бюджет попыток, поэтому при собственной политике отключите повторы SDK. Не повторяйте без изменений ошибки 400, 401, 403, а также ошибки баланса и настройки. Тайм-аут клиента или разрыв потока не доказывают, что запрос прекратился до обработки. Сначала проверьте панель управления, особенно при генерации изображений или в сценарии, где действие может выполниться повторно. Примеры ниже отправляют запрос Chat Completions без потоковой выдачи, максимум в четыре попытки. Они повторяют HTTP 500, 502 и 503. Повторы 429 отключены, пока вы не подтвердите временный лимит частоты. При тайм-ауте, сетевом исключении или 504 выполнение останавливается, чтобы вы проверили завершение. Максимальное ожидание перед каждой повторной попыткой — 30 секунд.

Подготовьте запрос

Скопируйте актуальный Model ID из каталога моделей и замените оба заполнителя. Выберите текстовую модель, доступную через Chat Completions.
Пример Python использует стандартную библиотеку. Пример JavaScript сохраните в файл .mjs и запустите в версии Node.js с поддержкой fetch и AbortSignal.timeout.
Если тело ответа указывает на постоянную проблему настройки, баланса или доступа, остановите цикл и исправьте её, даже если сам статус допускает повтор. Прежде чем применять этот короткий текстовый пример к другим операциям, адаптируйте проверку завершения под ваше приложение.

Найдите инструкцию по симптому

Проверьте исправление

Отправьте короткий некритичный запрос через тот же клиент, Base URL и Model ID, с которыми возникла ошибка. Убедитесь, что получили нормальный ответ. Найдите соответствующую запись в панели управления и проверьте модель, статус, расход токенов и списание, прежде чем возвращаться к большому сценарию.

Частые вопросы

Любая ошибка 429 означает, что нужно подождать и повторить?

По FAQ о диагностике лимитов определите, что проверить и подходит ли повтор для полученного ответа.

Нужно ли увеличивать тайм-аут после одного сбоя?

Сначала выясните, кто перестал ждать: клиент, прокси или upstream-сервис. Используйте рекомендации по тайм-аутам, затем проверьте небольшой запрос.

См. также