Hatalar
Sorun yanıtı sözleşmesini işleyin ve istekleri ilişkilendirin.
Hatalar, application/problem+json medya türüyle RFC 9457 sorun JSON sözleşmesini izler.
{
"type": "https://www.ninjabuy.com/api/v1/problems/bad-body",
"title": "Invalid request",
"status": 400,
"detail": "The request did not match the expected shape.",
"request_id": "REQUEST_ID",
"errors": [{"pointer": "/links", "detail": "Validation detail"}]
}type, sabit sorun tanımlayıcısıdır; title ve detail sorunu açıklar. status, HTTP durumuyla eşleşir. İsteğe bağlı errors girdileri bir JSON Pointer ve doğrulama ayrıntısı içerir; boş işaretçi tüm gövdeyi belirtir. Sorun bildirirken request_id değerini (X-Request-Id içinde de bulunur) paylaşın.
Aşağıdaki tüm türler https://www.ninjabuy.com/api/v1/problems/ ile başlar.
| Tür son eki | HTTP | Anlamı / yapılacak işlem |
|---|---|---|
bad-json | 400 | Gövde geçerli JSON değil. Sözdizimini düzeltin. |
bad-body | 400 | Gövde, sorgu parametreleri veya imleç doğrulanamadı. errors alanını okuyun. |
bad-idempotency-key | 400 | Idempotency-Key için 1 ile 255 yazdırılabilir ASCII karakteri kullanın. |
unauthorized | 401 | Geçerli bir bearer belirteci sağlayın; WWW-Authenticate keşif bilgilerini içerir. |
not-found | 404 | Kaynak kullanılamıyor, bilinmiyor veya bu hesaba ait değil. |
method-not-allowed | 405 | Allow içinde belirtilen yöntemi kullanın. |
idempotency-key-in-progress | 409 | Bu anahtarla gönderilen ilk istek çalışıyor. Retry-After süresince bekleyin. |
upload-too-large | 413 | Yüklenen baytlar bildirilen boyutu veya 20 MiB sınırını aşıyor. |
unsupported-media-type | 415 | Content-Type: application/json gönderin. |
idempotency-key-reused | 422 | Bu anahtar başka bir istekle kullanıldı. Yeni bir anahtar kullanın. |
invalid-workbook | 422 | Yükleme, sınırlar içinde okunabilir bir XLSX/CSV değil. errors alanını okuyun. |
upload-expired | 422 | Yükleme ayırmanın süresi doldu. Dosyayı yeniden yükleyin. |
rate-limited | 429 | Yeniden denemeden önce Retry-After saniyesi kadar bekleyin. |
search-rate-limited | 429 | Anahtar sözcük araması penceresi dolu. Retry-After süresince bekleyin. |
service-unavailable | 503 | Kısa süre sonra yeniden deneyin; varsa Retry-After değerine uyun. |
internal-error | 500 | Daha sonra yeniden deneyin; sorun sürerse istek kimliğini saklayın. |
Başarılı bir istek yine de girdi bazında hatalar içerebilir. Bağlantı durumlarını HTTP hatalarından ayrı işleyin. Oluşturma isteğini yinelemek için Idempotency-Key kullanın; anahtar olmadan toplu iş gönderimini yinelemek başka bir iş oluşturur.