Başlarken
Hatalar
Hata formatı, durum kodları ve ne zaman yeniden denemen gerektiği.
Hatalar standart HTTP durum kodlarını kullanır ve her zaman, makine tarafından okunabilen sabit bir kod içeren aynı JSON yapısını döndürür.
Hata formatı#
{
"error": {
"code": "rateLimited",
"message": "Rate limit exceeded",
"retryAfter": 12
}
}error.code sabittir; kodundaki koşulları güvenle buna göre kurabilirsin. error.message insanlar için yazılmış bir ipucudur ve değişebilir. Bazı hatalar ek alanlar içerir: istek limitleri için retryAfter, kotalar ve plan kısıtlamaları için reason, doğrulama hataları için issues.
Hata kodları#
| Durum | Kod | Anlamı | Yeniden denenmeli mi? |
|---|---|---|---|
| 400 | validation | Bir parametre ya da istek gövdesi geçersiz; error.issues alanına bak. | Hayır |
| 401 | unauthorized | API anahtarı eksik, hatalı biçimlendirilmiş ya da iptal edilmiş. | Hayır |
| 402 | planRequired | Planın API erişimini ya da bu özelliği içermiyor. | Hayır |
| 403 | forbidden | Bu isteğe izin verilmiyor. | Hayır |
| 404 | notFound | Token henüz taranmadı ya da cüzdanın profili henüz çıkarılmadı. | Daha sonra |
| 409 | conflict | İstek mevcut durumla çakışıyor. | Hayır |
| 429 | rateLimited | Dakika başına çok fazla istek gönderildi ya da aylık kota doldu. | Evet |
| 500 | generic | Bizim tarafımızda bir şeyler ters gitti. | Evet |
| 503 | unavailable | Bakım çalışması var ya da veri sağlayıcısının kapasitesi doldu. | Daha sonra |
Doğrulama hataları#
Geçersiz parametreler 400 döndürür; yanıttaki issues listesi sorunlu alanı gösterir.
400
{
"error": {
"code": "validation",
"message": "Invalid input",
"issues": [
{
"path": "pageSize",
"message": "Invalid input"
}
]
}
}