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..mjs и запустите в версии Node.js с поддержкой fetch и AbortSignal.timeout.
- Python
- JavaScript

