# Boş sonuç veya API hatası: Nasıl ayırt edilir?

> Boş sonuç, kısmi yanıt ve ROOTE API hatalarını ayırt edin. Doğru mesajı göstermek için koordinatları, filtreleri, kapsamı ve sınırları kontrol edin.

Source: https://www.roote.ai/tr/guides/api-hatasi-ile-bos-sonuc-nasil-ayirt-edilir/
Language: tr
Author: ROOTE

Sonuç vermeyen bir API ile hata veren bir API farklı işlemler gerektirir. Başarılı bir arama ilgili alanda hiçbir yer döndürmeyebilir. Ağ hatası, limit aşımı veya kaynak kullanılamaması ise aramanın tamamlanmasını engeller.

ROOTE için önce HTTP yanıtını, sonra iş durumu, beklenen koleksiyon ve kapsama alanını kontrol edin. Bu yöntem, Hizmet Çağrısı başarısız olduğunda 'tuvalet yok' ya da zaman aşımı sonrası 'durak yok' gibi yanlış mesajları engeller.

## Bir yanıtın üç seviyesini okumak

| Seviye | Kontrol edilecek | Muhtemel sonuç |
| --- | --- | --- |
| İletim | Bağlantı, süre ve HTTP durumu | İstek başarılı oldu mu? |
| Sözleşme | Geçerli JSON, sürüm ve beklenen alanlar | Yanıt kullanılabilir mi? |
| İş sonucu | status, collections, coverage, warnings ve meta | İstenen kapsamda ne biliyoruz? |

HTTP 200 kodu bir aramayı doğrulamak için yeterli değildir. Yanıt kısmi yürütme veya hata durumu gösterebilir. Öte yandan, bir yolda 404, boş koleksiyon için normal bir ifade değildir: URL ve sözleşmeyi kontrol edin.

## success, empty, partial ve error kavramlarını anlamak

| Durum | Önerilen işlem |
| --- | --- |
| success | Varlıkları doğrulayıp gösterin ve sınırları koruyun |
| empty | Bu arama için sonuç dönmediğini bildirin |
| partial | Kullanılabilir bilgileri uyarılarıyla birlikte gösterin |
| error | Aramayı kullanılamaz olarak gösterin; yer yok demeyin |

Sonuç yokluğu bilinen istek ve kaynaklara ilişkindir. Hizmetin fiziksel olarak olmadığını kanıtlamaz. Kapsam eksikliği, kısıtlayıcı filtre veya uygulanan limit sonuçları azaltabilir.

## Arayüzünüz için karar ağacı

```
1. La requête a-t-elle abouti ?
   Non → indisponibilité réseau ou délai dépassé.
2. Le statut HTTP est-il acceptable selon le contrat ?
   Non → traiter le code et le message d'erreur.
3. Le JSON respecte-t-il le schéma attendu ?
   Non → réponse inexploitable, jamais "aucun résultat".
4. Le statut métier est-il error ?
   Oui → recherche indisponible.
5. Le statut est-il partial ou la couverture limitée ?
   Oui → résultats utilisables + avertissement.
6. La collection attendue est-elle vide ?
   Oui → aucun résultat retourné dans ce périmètre.
   Non → afficher les résultats et leurs limites.
```

## Parametreleri doğru sırayla kontrol edin

Önce enlem ve boylamı, sırasını ve elde edilen şehri kontrol edin. Sonra yarıçap birimini ve filtre terimlerini kontrol edin. Services API types=toilets kullanır; harita URL'si modes=toilets kullanır. Bu parametreler farklı sözleşmelere aittir.

Sonra tek bir boyutu genişletin: rotanın sınırlarında yarıçapı artırın veya açıkça test için bir filtreyi kaldırın. İlk isteği kaydedin. Otomatik genişletirseniz, yeni kapsamı kullanıcıya bildirin.

[GPS koordinatları etrafında API araması oluşturma](https://www.roote.ai/tr/guides/api-ile-cevredekini-tasima-duraklari-nasil-arayabilirim/)

## Bir kaynak kullanılamazsa diğerlerini kaybetmeden işleme

Kısmi yanıt, yanıt veren kaynaklardan gelen yerleri içerebilir; başarısız olan diğer kaynak olmaz. Bu sonuçları, atıfları ve ilgili uyarıyı koruyun. Listeyi eksiksiz göstermeyin ve eksik alanları yanıltıcı varsayılan değerlerle doldurmayın.

Politikanız izin veriyorsa, önbellekte tutulan eski bilgi de faydalı olabilir. Bu bilgi eski olarak işaretli kalmalıdır. İstek alım zamanı orijinal gözlemi yenilemez.

## Mesajları ve tekrarlamaları uyarlama

| Durum | Arayüzünüze uyarlanacak mesaj | Eylem |
| --- | --- | --- |
| empty | Bu filtrelerle bu bölgede hiç sonuç yok | Bölgeyi veya filtreleri değiştirin |
| partial | Bazı sonuçlar mevcut; arama tamamlanmadı | Sonuçları ve uyarıyı gösterin |
| Doğrulama hatası | Aramada geçersiz bir parametre var | İsteği düzeltin |
| Kimlik doğrulama veya yetkiler | Bu erişim bu aramaya izin vermiyor | Hesabı veya token'ı kontrol edin |
| Limit veya kullanılabilirlik sorunu | Arama geçici olarak kullanılamıyor | Tekrar yönergelerine uyun |

429 için servisin yönergelerini ve varsa Retry-After değerini inceleyin. 400 hatası argüman düzeltmesi ister; aynı isteğin tekrarı çözüm değil. Kullanıcı token sağladıysa, 401'i otomatik anonim çağrıya dönüştürmeyin.

[ROOTE API hata referansı](https://doc.roote.ai/roote-api/errors)

[ROOTE servis durumu](https://status.roote.ai/)

## Yayınlamadan önce dört durumu test edin

Tam, boş, kısmi ve hata yanıtlarının yanı sıra geçersiz JSON ve zaman aşımı hazırlayın. Gösterilen mesajı, korunan sonuçları ve tekrar sayısını kontrol edin. Temel test, arızanın asla hizmet yokluğu iddiası üretmemesidir.

[Bu kuralları bir AI asistana uygulama](https://www.roote.ai/tr/guides/adres-civil-etrafinda-mobilite-asistani-olusturma/)

[Mobilite veri formatlarını anlama](https://www.roote.ai/tr/guides/gtfs-gtfs-rt-ve-gbfs-farklari-nelerdir/)

## Sıkça sorulan sorular

### Boş liste tuvalet olmadığını kanıtlar mı?

Hayır. Sadece bu arama ve kaynaklar için sonuç dönmediğini gösterir.

### Kısmi yanıt gösterilebilir mi?

Evet, kullanılan varlıklar geçerliyse ve uyarılar ile sınırlar korunursa.

### Her hatayı yeniden denemeli miyiz?

Hayır. Parametre veya erişim hatalarını düzeltin; geçici sorunlarda tekrarları sınırlayın ve servis yönergelerine uyun.
