Hata kodları

KernelHost API

Tüm hatalar RFC 7807 standardını izler. Yanıt gövdesi application/problem+json formatındadır ve type, title, status, detail, request_id ile gerektiğinde reason veya errors[] alanlarını içerir.

{
  "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"
}
HTTPtypeAnlamı
400validation_failedGirdi doğrulaması başarısız. Alan bazında ayrıntı için errors[] bakın.
401auth_failedKimlik doğrulama başarısız. Yanıt her zaman reason unauthorized (anahtar başka IP adresleriyle sınırlandırılmışsa ip_not_allowed) içerir ve bilerek daha fazlasını açıklamaz. Anahtarı, secret'ı, saati (±300 sn), nonce'u ve imzayı kontrol edin; destek ekibi kesin nedeni request_id ile bulabilir.
402payment_requiredÖdeme gerekli. reason aşağıda.
403forbidden_scopeYetki eksik. reason: missing_scope.
404not_foundKaynak mevcut değil veya bu anahtar için görünür değil (kiracı sayımını engeller).
409idempotency_conflict, order_in_progress, service_not_activeÇakışma. Ya Idempotency-Key farklı bir gövde veya endpoint ile zaten kullanılmıştır (idempotency_conflict, ilk istek hâlâ sürerken reason in_progress), ya hesabınıza ait başka bir sipariş hâlâ işlenmektedir (reason order_in_progress, Retry-After başlığını dikkate alın) ya da servis bu aksiyona izin veren bir durumda değildir (service_not_active, bkz. service_status).
413payload_too_largeİstek body'si 65.536 bayttan büyük. Kimlik doğrulamadan önce reddedilir.
422unprocessableİstek anlaşıldı ancak yürütülemiyor. reason billing_cycle_not_available: ürün bu faturalama döneminde sunulmuyor. reason zero_total_not_allowed: sipariş, promosyon kodu gibi geçerli bir neden olmadan ücretsiz olurdu.
429rate_limitedHız sınırı aşıldı. Retry-After başlığını dikkate alın.
500internal_errorDahili sunucu hatası. Destek ile iletişime geçerken denetim kaydıyla eşleştirme için request_id değerini iletin.

Ödeme gerekli sebepleri (HTTP 402)

Sipariş ödenemediğinde API, JSON gövdesinde makine tarafından okunabilir bir reason ile HTTP 402 döner.

  • insufficient_credit_and_no_card (Bakiye yetersiz ve kayıtlı kart yok. Çözüm: bakiyeyi yükleyin veya müşteri panelinden kart ekleyin.)
  • card_declined (Kart banka veya ödeme ağ geçidi tarafından reddedildi. Çözüm: başka bir kart kullanın veya bankanızla iletişime geçin.)
  • credit_apply_failed (Bakiye faturaya uygulanamadı. Hiçbir ücret alınmadı ve sipariş iptal edildi. Yeni bir Idempotency-Key ile tekrar deneyin veya destek ekibiyle iletişime geçin.)
  • client_not_found (Hesap kimliği bulunamadı (pratikte neredeyse hiç gerçekleşmemelidir, destek ile iletişime geçin).)