Przejdź do głównej zawartości
EN

Błędy i ponowienia

Kody odpowiedzi i bezpieczne ponawianie operacji.

Format błędu

{
  "error": {
    "code": "validation",
    "message": "domain must be a hostname",
    "details": {"field": "domains"}
  }
}

Kieruj logikę integracji na code, nie na tekst message. Dla pól formularza wykorzystaj details.field.

Najczęstsze odpowiedzi

Status Kod Działanie
400 bad_json, validation Popraw format żądania.
401 unauthorized, token_invalid Sprawdź klucz lub sesję; nie ponawiaj w pętli.
403 forbidden, user_required, plan_restricted Sprawdź rolę, typ uwierzytelnienia i plan.
404 not_found Sprawdź ID i organizację. Brak dostępu może celowo wyglądać jak brak zasobu.
409 domain_taken, in_use Usuń konflikt danych lub zależności.
422 validation, quota_exceeded, target_invalid Popraw dane, wybór zasobu lub limit planu.
429 rate_limited Odczekaj; ogranicz częstotliwość żądań.
500 / 502 / 503 internal lub błąd połączenia Dla odczytów ponów z opóźnieniem.

Ponawianie

Dla GET stosuj ograniczoną liczbę prób z rosnącym opóźnieniem i losowym rozrzutem. Nie ponawiaj automatycznie wszystkich błędów 4xx.

Po timeoutcie POST stan jest niepewny: serwer mógł zapisać operację. Sprawdź istniejące zasoby przed następną próbą. Nie zakładaj obsługi kluczy idempotencji ani webhooków, dopóki nie zostaną opisane w kontrakcie API.

Dane w logach

Zapisuj metodę, ścieżkę bez sekretów, status i kod błędu. Nie zapisuj nagłówka Authorization, tokenów, haseł ani pełnych odpowiedzi tworzenia kluczy.