Hız Sınırları
Her isteğe iki sınır uygulanır: neredeyse her uç noktayı kapsayan hesap düzeyinde sınır ve birkaç uç noktada bunların kendi daha sıkı sınırı. Bunlardan hangisi düşükse ona takılırsınız.Hesap düzeyinde sınır
Hesap başına, sabit bir dakikalık pencerede sayılır. Bir hesabın tüm API anahtarları tek bir bütçeyi paylaşır — daha fazla anahtar oluşturmak sınırınızı yükseltmez.
Kimlik doğrulamasız bütçeler her uç nokta grubu için ayrı sayılır — fiyatlar, fatura durumu, adres
sorguları, kimlik doğrulama ve geri kalan her şey — böylece fiyat sorgulamak diğer isteklerin
bütçesini asla tüketmez.
Bunlar varsayılan değerlerdir. Entegrasyonunuzun daha yüksek bir tavana ihtiyacı varsa, bunu hesabınız
için yükseltiriz: bize Telegram üzerinden yazın.
Pencere sabittir, kayan değil: sayaç her dakikanın başında sıfırlanır. Ancak bu sınırın çevresine bir
patlama kurgulamayın. İki ayrı mekanizma bunu kötü bir bahis yapar. API’nin önünde IP adresi başına
saniyede yaklaşık 50 istek olan bir kenar siniri durur ve aşıldığında JSON hata değil, HTML gövdeli
503 döner. Ayrıca üst üste üç dakika sınırının üzerinde kalan bir hesabın sınırı sonraki on dakika
boyunca yarıya iner; böyle üç dakika daha olursa hesap otuz dakika tamamen engellenir ve
Retry-After: 1800 döner. 1000/dakika kademesindeki hesaplar bu tırmanmadan muaftır.Kendi daha sıkı sınırı olan uç noktalar
Dikkat:
POST /api/v1/invoices hesaba göre değil, IP adresine göre sayılır. Birden fazla
istemciniz aynı çıkış IP’sinden istek gönderiyorsa, dakikada 10’luk tek bir bütçeyi paylaşırlar.
Satın alma uç noktaları — POST /api/v1/energy/buy, POST /api/v1/energy/activate,
POST /api/v1/bandwidth/buy ve POST /api/v1/bandwidth/rentals — IP adresi başına sayılan, dakikada
1000 isteklik daha eski bir bütçe taşır (iki bandwidth uç noktası tek bir bütçeyi paylaşır). Tek bir
hesap için bu asla belirleyici sınır olmaz, ancak aynı çıkış IP’sinin ardındaki istemciler onu birbiriyle
paylaşır.
Webhook yönetim uç noktaları (/api/v1/webhooks/...) hesap düzeyindeki sınırın kapsamında değildir.
Belgelenmiş diğer tüm uç noktaların kendi sınırı yoktur — onlara yalnızca hesap düzeyindeki sınır
uygulanır.
429 yanıtı nasıl görünür
Gövde, hangi sınıra takıldığınıza bağlıdır. Üç biçim vardır; bu nedenle birini varsaymak yerine savunmacı biçimde ayrıştırın. Hesap düzeyinde sınır. Yanıt, beklenecek saniye sayısını içeren birRetry-After başlığı taşır:
POST /api/v1/invoices üzerinde. Retry-After başlığı yoktur;
pencere bir dakikadır:
POST /api/v1/account/withdrawal. Kalan saniyeyi içeren düz metin bir detail, hata kodu yok:
Yeniden denemenin çözmediği bir 429
POST /api/v1/invoices, elinizde ödenmemiş çok sayıda fatura varken de 429 döner — IP adresi başına
en fazla 3, hesap başına en fazla 5. IP başına sınır oturum açmış isteklere de uygulanır, bu
yüzden genellikle önce ona takılırsınız:
429 olarak bildirir — örneğin
{"detail":"Energy price unavailable"}. Nasıl tepki vereceğinize karar vermeden önce mesajı okuyun.
Yeniden deneme
- Yanıtta
Retry-Afterbaşlığı varsa tam olarak o kadar saniye bekleyin. - Yoksa bir saniyeden başlayarak üstel geri çekilme kullanın.
- Asla hemen yeniden denemeyin.
- Yeniden denemeden önce gövdeyi okuyun:
Too many pending invoicesdaha uzun bekleme değil, başka bir eylem gerektirir.