Ana içeriğe atla
Bu sayfa Perquery API’sinin hataları nasıl bildirdiğini, bir anahtarın kaç istek gönderebileceğini ve uzun listeleri sayfa sayfa nasıl okuyacağınızı anlatır.

Hata biçimi

API her hatayı application/problem+json medya türünde bir problem ayrıntıları nesnesi (RFC 9457) olarak gönderir.
Bazı hatalar başka alanlar da ekler. Örneğin missing-entitlement hatası add_on_code alanını ekler.
Kodunuzda type alanının sonundaki slug’ı kullanın. title ve detail metinleri değişebilir. API bu metinleri İngilizce gönderir.

Hata slug’ları

Doğrulama hataları

Bir sorgu parametresi geçerli değilse API, validation-failed slug’ı ile 422 yanıtı verir. errors listesi her parametreyi ve sorunu belirtir.

İstek kimliği

Her yanıtta bir X-Request-Id başlığı vardır. Bu başlığın değeri, hata yanıtındaki correlation_id değeriyle aynıdır. Bir istek hakkında destek ekibine yazdığınızda bu kimliği verin. Kendi X-Request-Id başlığınızı da gönderebilirsiniz. Değer 1 ile 128 arasında harf, rakam, ., _ veya - karakteri içerebilir. API bu durumda sizin değerinizi kullanır.

Hız limiti

Her API anahtarı 60 saniyelik bir pencerede 600 istek gönderebilir. Pencere, anahtarın ilk isteğiyle başlar. Bir anahtar daha fazla istek gönderirse API, usage-limit slug’ı ile 429 yanıtı verir. Yanıtta Retry-After başlığı yoktur.
1

İstekleri durdurun

429 yanıtı aldığınızda bu anahtarla istek göndermeyi durdurun.
2

Bekleyin

60 saniye bekleyin. Pencere bundan sonra yeniden başlar.
3

İsteği yeniden gönderin

İsteği yeniden gönderin. Yine 429 yanıtı alırsanız sonraki denemeden önce daha uzun bekleyin.
Limitin altında kalmak için isteklerinizi zamana yayın. Bir endpoint destekliyorsa ETag ve If-None-Match başlıklarını kullanın. API’ye giriş sayfasını okuyun.

Sayfalama

Uzun listeler döndüren endpoint’ler listeyi sayfa sayfa gönderir. Bu endpoint’ler iki sorgu parametresi kabul eder: Yanıt, sayfanın öğelerini ve şu alanları içerir: Listenin adı endpoint’e göre değişir, örneğin rows, findings veya pages. Endpoints referansı her endpoint için bu adı gösterir.
Tüm öğeleri okumak için page=1 ile başlayın. page değeri total_pages değerine eşit olana kadar page değerini birer artırın. total_pages göndermeyen bir endpoint’te, okuduğunuz öğelerin sayısı total değerine ulaşınca durun.

İlgili sayfalar