Hatalar
Her hata aynı JSON gövdesiyle döner:
{"code": "bbox_too_large", "detail": "bbox sides must be at most 20°"}
| Alan | Anlamı |
|---|---|
code |
Sabit makine kodu. Sözleşmedir: yeni kod eklenebilir, var olanın anlamı değişmez. İstemci buna göre dallanır |
detail |
İnsan için açıklama. Metni değişebilir; istemci buna göre dallanmaz, yalnız günlüğe yazar |
errors |
Yalnız alan doğrulamasında (request_invalid, 422): hangi alanın neden reddedildiği listesi |
Bütün kodların uç uç listesi OpenAPI dosyasından üretilir: Hata kodları.
Durum kodları ve yeniden deneme
| HTTP | Anlamı | Yeniden denenir mi |
|---|---|---|
| 304 | If-None-Match eşleşti, veri değişmedi |
Gerek yok, elinizdekini kullanın |
| 400–422 | İstek ya da kimlik hatalı | Hayır; isteği düzeltin |
| 401, 403 | Anahtar yok, geçersiz, iptal ya da kapsam dışı | Hayır (Kimlik) |
| 404 | Kaynak yok (bölge, paket, paylaşım) | Hayır |
| 409 | Durum çakışması (ör. silinmiş uçuş) | Hayır |
| 429 | Oran sınırı ya da kota | Evet, Retry-After sonra (Oran sınırı) |
| 5xx | Geçici sunucu sorunu | Evet, üstel bekleyerek; Retry-After varsa ona uyarak |
Yükleme gibi yazma uçları eşgüçlüdür: aynı isteği yinelemek yeni kayıt açmaz (ör. aynı IGC dosyası aynı flight_id'yi verir). Bu yüzden ağ hatasında ve 5xx'te güvenle yeniden gönderebilirsiniz.
Önbellek ve 304
Okuma uçları güçlü ETag ve Cache-Control: private, max-age=60 döner. Aynı sorguyu If-None-Match: <etag> ile sorarsanız ve sonuç değişmediyse 304 gelir. Kimlik 304'ten önce denetlenir.