Kody błędów

Reseller API

Wszystkie błędy są zgodne z RFC 7807. Treść odpowiedzi to application/problem+json z polami type, title, status, detail, request_id oraz opcjonalnie reason lub errors[].

{
  "type": "https://www.kernelhost.com/en/reseller-api/errors/payment_required",
  "title": "Payment required",
  "status": 402,
  "detail": "The order could not be paid.",
  "request_id": "01HX7Z3K8Q...",
  "reason": "insufficient_credit_and_no_card"
}
HTTPtypeZnaczenie
400validation_failedWalidacja danych wejściowych nie powiodła się. Szczegóły poszczególnych pól w errors[].
401auth_failedUwierzytelnienie nie powiodło się. reason wskazuje przyczynę: missing_headers, bad_key, bad_timestamp, timestamp_out_of_window, bad_nonce, bad_signature, signature_mismatch, replay_detected, unknown_or_locked_key, ip_not_allowed.
402payment_requiredWymagana płatność. reason zob. poniżej.
403forbidden_scopeBrak uprawnień. reason: missing_scope.
404not_foundZasób nie istnieje lub jest niewidoczny dla tego klucza (zapobiega enumeracji lokatorów).
409idempotency_conflictIdempotency-Key już użyty z inną treścią.
429rate_limitedPrzekroczono limit szybkości. Należy uwzględnić nagłówek Retry-After.
500internal_errorWewnętrzny błąd serwera. Proszę podać request_id do korelacji z dziennikiem audytu, kontaktując się z pomocą techniczną.

Powody braku płatności (HTTP 402)

Jeżeli zamówienie nie może zostać opłacone, API zwraca HTTP 402 z czytelnym maszynowo polem reason w treści JSON.

  • insufficient_credit_and_no_card (Saldo kredytowe niewystarczające i brak karty na koncie. Rozwiązanie: doładowanie salda lub dodanie karty w panelu klienta.)
  • card_declined (Karta została odrzucona przez bank/bramkę. Rozwiązanie: spróbować innej karty lub skontaktować się z bankiem.)
  • card_expired (Karta wygasła. Rozwiązanie: dodanie nowej karty w panelu klienta.)
  • client_not_found (Identyfikator konta nieznaleziony (w praktyce nie powinno się zdarzyć, prosimy o kontakt z pomocą techniczną).)