Skip to main content
Flextell API’si, her kullanıcıyı ve her uygulamayı aşırı yükten korumak için dakika başına istek sınırı uygular. Sınırı aşarsanız API 429 yanıtı döndürür ve beklemeniz gereken süreyi bildirir. Bu sayfa sınırları, yanıtın biçimini ve önerilen tekrar deneme yöntemini anlatır.

Genel sınır

/api/v1 altındaki kimliği doğrulanmış her istek dakikada 300 istek sınırına tabidir.
Sayaç, kullanıcı ve OAuth uygulaması (client) başına ayrı tutulur. Aynı kullanıcı panelden ve sizin uygulamanızdan istek gönderiyorsa her ikisinin sayacı bağımsızdır. Farklı kullanıcıların sayaçları da birbirinden bağımsızdır.
Genel sınır, kimlik doğrulama başarılı olduktan sonra sayılır; kimliği doğrulanamayan istek 401 alır. Kimlik doğrulama için Kimlik doğrulama genel bakış sayfasına bakın.

Sınır başlıkları

Sınır uygulanan her yanıt, kalan kotanızı bildiren başlıklar taşır.
Bu başlıklar tarayıcıdaki başka bir kaynaktan (cross-origin) JavaScript ile okunamaz; API bunları CORS ile açığa çıkarmaz. Tarayıcıdan çağırıyorsanız 429 durum kodunu temel alın. Sunucu tarafı istemcilerde başlıkların hepsi okunabilir.

Özel sınırlar

Bazı endpoint’ler genel sınırın yanında daha sıkı bir sınıra da tabidir. Her iki sınır da geçerlidir; hangisi önce dolarsa 429 onun için döner.
Dışa aktarma sınırı saatliktir. Dışa aktarma endpoint’lerini döngüde çağırmayın; saatte en çok 10 çağrıya göre planlayın.

Herkese açık yüzeyler

Kimlik doğrulaması gerektirmeyen veya token yerine gizli anahtar kullanan yüzeylerin sınırları ayrıdır ve genel 300/dakika sınırından bağımsızdır. Widget ayrıntıları için Web sitesi widget’ı sayfasına bakın. Widget yolları /api altında değildir; bu yüzden aşağıdaki hata gövdesi yerine standart bir 429 yanıtı döner.
Hasta formu sayfasını kendi sitenizden sunuyorsanız IP başına 60 istek / dakika sınırı, aynı IP’yi paylaşan tüm ziyaretçilerin toplamıdır. Yoğun bir ofis ağı arkasındaki ziyaretçiler bu sınıra birlikte takılabilir.

429 yanıtı

Sınır aşıldığında API, standart hata zarfıyla 429 Too Many Requests döndürür. error_code her zaman TOO_MANY_REQUESTS olur.
message metnine göre karar vermeyin; metin sınırdan sınıra ve dile göre değişir. Hata türünü error_code ile, bekleme süresini Retry-After ile belirleyin. Diğer hata kodları için Hata kodları sayfasına bakın.
Kimlik doğrulama tamamlanmadan veya klinik belirlenmeden önce üretilen 429 yanıtlarında meta bloğu bulunmaz. Hata zarfının genel yapısı Hatalar sayfasında anlatılır.

Tekrar deneme

Önerilen yöntem şudur.
1

429 aldığınızı tanıyın

Yalnızca HTTP durum kodu 429 olan yanıtlarda yeniden deneyin. 4xx hatalarının geri kalanı isteğin kendisindeki bir sorunu gösterir; aynı isteği tekrarlamak sonucu değiştirmez.
2

Retry-After kadar bekleyin

Retry-After başlığındaki saniye kadar bekleyin. Dakika başına sınırlarda bu değer en çok 60 saniyedir. Süre dolduktan sonra sıradaki istek başarılı olur.
3

Başlık yoksa geri çekilin

Retry-After okunamıyorsa (ör. tarayıcıda) üstel geri çekilme kullanın: 1, 2, 4, 8 saniye gibi artan aralıklarla deneyin ve deneme sayısına bir üst sınır koyun.
Sınıra hiç ulaşmamak için şunları yapın.
  • X-RateLimit-Remaining değerini izleyin; sıfıra yaklaşınca istek hızınızı düşürün.
  • İstekleri bir kuyruk üzerinden, dakikada 300’ün altında bir hızla gönderin.
  • Aynı veriyi tekrar tekrar çekmeyin. Listeleri sayfalama ile makul sayfa boyutlarında alın ve değişmeyen kaynakları önbelleğe alın.
  • Hata alan POST isteklerini yeniden gönderirken çift kayıt oluşmaması için Idempotency sayfasındaki kurallara uyun.
Toplu veri çekme veya senkronizasyon işlerinde 429 aldığınızda aynı anda birden fazla istekle yeniden denemeyin. Eşzamanlı yeniden denemeler sınırı yeniden aşar ve yeni 429 yanıtlarına yol açar.