Обработка ошибок
Формат ошибок
Заголовок раздела «Формат ошибок»OdiRouter LLM может возвращать простые ошибки или объекты ошибок в стиле OpenAI. Клиент должен обрабатывать ошибки, опираясь и на HTTP-статус, и на код ошибки.
Ошибки аутентификации
Заголовок раздела «Ошибки аутентификации»{ "error": "missing authentication token"}{ "error": "invalid_api_key"}{ "error": "insufficient balance"}Ошибка в стиле OpenAI
Заголовок раздела «Ошибка в стиле OpenAI»{ "error": { "message": "Request rejected by quota policy.", "type": "rate_limit_error", "param": null, "code": "quota_exceeded" }}Типовые HTTP-статусы
Заголовок раздела «Типовые HTTP-статусы»| Статус | Значение | Что делать |
|---|---|---|
401 | Отсутствует токен аутентификации | Проверьте заголовок Authorization |
403 | API-ключ недействителен или истек, недостаточно баланса или модель не авторизована | Не повторяйте запрос бесконечно. Сначала решите проблему аккаунта или прав |
404 | Неподдерживаемый путь или неверная публичная точка входа | Убедитесь, что запрос использует документированный маршрут /v1/* |
429 | Квота или ограничение частоты | Повторяйте с учетом Retry-After или экспоненциального backoff |
502/503/504 | Сервис временно недоступен или таймаут запроса | Зафиксируйте X-Request-Id и обратитесь к платформе для диагностики |
Рекомендации для клиента
Заголовок раздела «Рекомендации для клиента»- Записывайте HTTP-статус, тело ответа и
X-Request-Id. - Используйте ограниченные повторы с backoff только для 429 и части 5xx-ответов.
- Для ошибок аутентификации, баланса, прав на модель и путей сначала исправьте конфигурацию, затем повторяйте.
- Если потоковый запрос оборвался, не считайте, что он не сгенерирует usage или списание.