Coduri de eroare

KernelHost API

Toate erorile respectă RFC 7807. Corpul răspunsului este application/problem+json, cu câmpurile type, title, status, detail, request_id și, opțional, reason sau errors[].

{
  "type": "https://www.kernelhost.com/en/kernelhost-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"
}
HTTPtypeSemnificație
400validation_failedValidarea datelor de intrare a eșuat. Consultați errors[] pentru detalii pe fiecare câmp.
401auth_failedAutentificarea a eșuat. Răspunsul conține întotdeauna reason unauthorized (sau ip_not_allowed dacă cheia este restricționată la alte adrese IP) și, intenționat, nu dezvăluie nimic în plus. Verificați cheia, secretul, ora (±300 s), nonce-ul și semnătura; echipa de suport poate găsi cauza exactă după request_id.
402payment_requiredPlată necesară. Consultați motivele de mai jos.
403forbidden_scopePermisiune lipsă. reason: missing_scope.
404not_foundResursa nu există sau nu este vizibilă pentru această cheie (previne enumerarea tenanților).
409idempotency_conflict, order_in_progress, service_not_activeConflict. Fie Idempotency-Key a fost deja folosit cu un alt body sau cu un alt endpoint (idempotency_conflict, reason in_progress cât timp prima cerere este încă în curs), fie o altă comandă a contului dumneavoastră se află încă în procesare (reason order_in_progress, respectați antetul Retry-After), fie serviciul nu se află într-o stare care permite acțiunea (service_not_active, vezi service_status).
413payload_too_largeBody-ul cererii depășește 65.536 de octeți. Este respins încă înainte de autentificare.
422unprocessableCererea este înțeleasă, dar nu poate fi executată. reason billing_cycle_not_available: produsul nu este oferit în acest ciclu de facturare. reason zero_total_not_allowed: comanda ar fi gratuită fără un motiv valid, precum un cod promoțional.
429rate_limitedLimita ratei a fost depășită. Respectați antetul Retry-After.
500internal_errorEroare internă de server. Furnizați request_id pentru corelarea cu jurnalul de audit atunci când contactați suportul.

Motive pentru "Plată necesară" (HTTP 402)

Atunci când comanda nu poate fi plătită, API-ul returnează HTTP 402, cu un motiv lizibil pentru aplicații, în corpul JSON.

  • insufficient_credit_and_no_card (Credit insuficient și niciun card înregistrat. Soluție: alimentați creditul sau adăugați un card în portalul de clienți.)
  • card_declined (Cardul a fost refuzat de bancă sau de procesatorul de plăți. Soluție: încercați un alt card sau contactați banca.)
  • credit_apply_failed (Creditul nu a putut fi aplicat facturii. Nu s-a debitat nimic, iar comanda a fost anulată. Reîncercați cu un nou Idempotency-Key sau contactați echipa de suport.)
  • client_not_found (ID-ul contului nu a fost găsit (practic, nu ar trebui să se întâmple niciodată; contactați suportul).)