Referans
Hız limitleri
Limitler API'yi sel gibi gelen isteklerden korur, normal bayilerden değil. Her hesabın harcamasıyla artan dakikalık tek bir limiti vardır ve ağır işlemler için birkaç dar limit bulunur. Tek bir siparişe ait kurallar, örneğin yenileme beklemesi, 429 yerine kendi hata kodunu döndürür.
Hız limiti katmanları
IP başına
20.000 istek / dakika / IP adresi
Anahtar doğrulamasından önce uygulanır, böylece kaba kuvvet anahtar sıralaması sınırlıdır. Aynı IP arkasındaki tüm anahtarlar arasında paylaşılır. Varsayılan, genel olarak belirlenir ve kullanıcı tarafından yapılandırılamaz.
Paylaşılan hesap penceresi
Kayan 60 saniyede 120–2.400 istek
Bir hesaptaki tüm aktif API anahtarları aynı sayacı tüketir. Doğrudan özel RPM ayarı yoksa limiti ömür boyu başarılı harcama basamağı belirler.
İşleme özel
İşleme bağlıdır
Services, catalog, cancel, refill ve webhook işlemlerinin aşağıda gösterilen kendi dar limitleri vardır. Bunlar hesap limitine eklenir; onun yerini almaz.
İşlem başına limitler
Bu limitler hesap başına dakikada sayılır. Bunlardan birinden gelen 429, X-RateLimit-DeniedBy içinde action bildirir. Cancel ve refill istekleri değil sipariş kimliklerini sayar; bu yüzden 10 sipariş için tek bir çağrı, dakikadaki kimlik hakkınızdan 10 tanesini kullanır. Bundan fazla kimlik içeren, en fazla 100 kimlikli bir cancel veya refill, dakikadaki ilk çağrınızsa kabul edilir ve dakikanın tamamını kullanır.
| İşlem | Dakikada | Neyin sayıldığı |
|---|---|---|
| services | 10 | İstekler |
| catalog | 30 | İstekler |
| cancel | 30 | Sipariş kimlikleri |
| refill | 30 | Sipariş kimlikleri |
| webhook.* | 10 | İstekler |
Ömür boyu başarılı harcama basamakları
Hesap limitiniz ömür boyu başarılı harcamanızı izler; daha yüksek bir kademe hemen daha yüksek bir limit açar. Dakikada 20.000 istekle IP tavanı, anahtar denetlenmeden önce uygulanır. Bir yönetici bir hesap için doğrudan limit belirleyebilir, en fazla 10.000. Hesabınızın kademesi X-RateLimit-Tier başlığında ve API sayfanızdadır.
| Kademe | En az ömür boyu harcama | İstek / dakika |
|---|---|---|
| 0 | $0 | 120 |
| 1 | $10 | 300 |
| 2 | $50 | 600 |
| 3 | $100 | 900 |
| 4 | $500 | 1.200 |
| 5 | $1.000 | 1.800 |
| 6 | $2.500 | 2.400 |
Yanıt header'ları
Yanıt header'ları
X-RateLimit-Limit- Normal yanıtlarda hesabın paylaşılan etkin dakika başı istek limiti. 429 yanıtında reddeden katmanın bildirdiği limit.
X-RateLimit-Remaining- Normal yanıtlarda paylaşılan hesap penceresinde kalan istekler. 429 yanıtında reddeden katmanın bildirdiği kalan değer.
X-RateLimit-Reset- Bildirilen pencerenin sıfırlanmasına kalan göreli saniye; Unix zaman damgası değildir.
X-RateLimit-Tier- Ömür boyu başarılı harcamayla kazanılan kademe (0–6). Özel RPM geçersiz kılması bu değeri değiştirmez.
X-RateLimit-DeniedBy- Adlandırılmış bir sınırlayıcı çağrıyı reddettiğinde 429 yanıtında gönderilir: "ip", "api_requests_per_minute" veya "action".
Retry-After- Yeniden denenebilir 429 veya 503 yanıtında tekrar denemeden önce Retry-After değerindeki saniye kadar bekleyin. action=add için bekledikten sonra aynı idempotency anahtarını kullanın.
429 yanıtlarını ele alma
Retry-After varsa onu bekleyin.
Yoksa X-RateLimit-Reset saniyesi kadar bekleyin. İki değer de saat zamanı değil göreli gecikmedir; yeniden denemeden önce rastgele sapma ekleyin.X-RateLimit-DeniedBy değerini okuyun.
Çağrıyı reddeden limiti adlandırır. Anahtar değiştirmek yardımcı olmaz, çünkü hesap, IP ve işlem limitleri paylaşılır.Yoklama yerine webhook kullanın.
Webhook'lar en az bir kez ulaşır; bu yüzden işleyicinizi idempotent tutun ve önemli her şeyi denetlemek içinaction=statuskullanın.Mümkün olduğunda toplu gönderin.
Status, cancel ve refill tek istekte en fazla 100 kimlik alır; sipariş kimliği sayımları cancel ve refill için yine geçerlidir.