Lista błędów

Kody błędów API integracji wtyczek, mapowanie statusów HTTP i troubleshooting.

Każda odpowiedź błędu z API integracji wtyczek używa tej samej koperty:

{
  "error": {
    "code": "quota_exceeded",
    "message_i18n": {
      "en": "Account does not have enough credits to reserve this job. Top up the credit balance.",
      "pl": "Konto nie ma wystarczającej liczby kredytów..."
    },
    "retryable": false,
    "doc_url": "https://qamera.ai/docs/plugin-api/errors/quota_exceeded"
  }
}

code jest stabilny między wydaniami — rozgałęziaj na nim w kliencie. message_i18n jest informacyjny i może ewoluować. retryable doradza, czy ponowienie z tym samym payloadem może się udać.

Kody

KodHTTPRetryableZnaczenie
invalid_input400niePayload zapytania nie przeszedł walidacji
unauthorized401nieBrakujący, błędny lub odwołany klucz API
forbidden403nieKlucz nie ma wymaganego uprawnienia
not_found404nieZasób nie istnieje lub jest niedostępny
idempotency_conflict409nieIdempotency-Key użyty ponownie z innym payloadem
job_not_cancelable409nieZadanie nie jest w stanie pozwalającym na anulowanie
job_not_completed409nieWyniki zażądane przed ukończeniem zadania
batch_limit_exceeded400nieZa dużo elementów w batchu
rate_limit_exceeded429takWyczerpany budżet zapytań na klucz
quota_exceeded402nieKonto bez kredytów
concurrency_limit_exceeded429takKonto osiągnęło limit równoczesnych zadań dla providera
content_policy_violation422nieŹródłowy asset lub parametry łamią politykę
source_asset_unavailable422nieNie można pobrać wskazanego source asset
low_quality_input422nieJakość source asset za niska dla wiarygodnej generacji
output_unavailable410nieWygenerowany asset został usunięty z magazynu
packshot_not_approved422nieSesja zdjęciowa nie ma zaakceptowanego packshotu dla produktu
generation_failed502takBłąd upstream providera AI
internal_error500takNieoczekiwany błąd serwera

Kategorie niepowodzeń generowania

Błąd zgłoszony w trakcie wykonywania zadania niesie dodatkowo category, a jego code jest z tej kategorii wyprowadzony. Błędy walidacji, autoryzacji i limitów nigdy nie docierają do generatora, więc nie mają category.

categorycoderetryable
CONTENT_POLICYcontent_policy_violationnie
INPUT_MISSINGsource_asset_unavailablenie
RATE_LIMITrate_limit_exceededtak
TRANSIENT_INFRAgeneration_failedtak
PROVIDER_CAPACITYgeneration_failedtak
INTERNAL_BUGinternal_errornie
PROVIDER_ACCOUNTinternal_errornie

Zadania, które zawiodły przed wprowadzeniem tej klasyfikacji, raportują generation_failed bez category.

retryable przy niepowodzeniu generowania opisuje zadanie, nie żądanie. internal_error zgłoszony w trakcie generowania jest ostateczny, mimo że ten sam kod w odpowiedzi 500 byłby wart powtórzenia — zadanie nie zostanie za Ciebie ponowione, więc ponowne wysłanie go bez zmian nic nie da.

message_i18n nigdy nie zawiera tekstu od dostawcy ani wewnętrznej diagnostyki. Rozgałęziaj logikę na code, a message_i18n pokazuj człowiekowi.

Lista błędów