Odczytaj całą odpowiedź
Po uzyskaniu statusu niepowodzenia zachowaj kod HTTP, nagłówki, treść błędu i identyfikator żądania, po usunięciu sekretów. Pozwalają one rozróżnić nieprawidłowe żądanie od odmowy dostępu lub problemu tymczasowego.
Nie pokazuj surowej odpowiedzi usługi jako jedynej wiadomości dla użytkownika: wyjaśnij działanie, zachowując szczegóły diagnostyczne dla operatora.
curl --include --request POST https://cicora.ai/api/v1/chat/completions \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"model":"openai/gpt-5.6-sol","messages":[]}'Sklasyfikuj błąd
- Błąd 4xx zwykle wymaga poprawienia klucza, danych wejściowych lub dostępu.
- Błąd 429 wymaga przestrzegania okna limitu i unikania agresywnych ponowień.
- Błędy 5xx i awarie sieci wymagają ograniczonej liczby ponowień z wykładniczo rosnącym opóźnieniem i losowym rozrzutem.
Ponawiaj bezpiecznie
Ponawiaj tylko przejściowe błędy i tylko wtedy, gdy operacja jest idempotentna w Twoim produkcie. Przy generowaniu zachowuj identyfikator żądania klienta, aby zapobiec podwójnemu naliczeniu opłaty lub utworzeniu duplikatu artefaktu.
Podczas strumieniowania rozróżniaj błąd przed pierwszym fragmentem od przerwania po częściowym wyniku: tego drugiego nie można po cichu zastąpić nową odpowiedzią.