Kullanım Planları ve Ücret Sınırları
SP-API'de kullanım planları ve ücret sınırlarının nasıl kullanıldığı hakkında bilgi edinin.
API güvenilirliği, uygulamanızın zaman içinde değişen ihtiyaçlarını karşılamak için kapasitenizi ve kaynaklarınızı boyutlandırmanıza bağlıdır. Bu nedenle Satış Ortağı API'si (SP-API) belirli bir süre içinde bir işleme yapabileceğiniz istek sayısını kontrol etmek için kullanım planlarını tanımlar.
Kullanım planları birkaç faktöre bağlıdır. Bu faktörler arasında satış ortağı hesabı, satış ortağı hesabı adına SP-API'yi çağıran uygulama, pazar yeri vb. sayılabilir.
Bu belgede SP-API'nin hız sınırlama algoritması, kullanım planlarını belirleyen faktörler, kullanım planınızı nasıl bulacağınız ve ücret sınırlarınız dahilinde çalışmayla ilgili sık sorulan sorular açıklanmaktadır.
Her SP-API işlemi için hız sınırlarından verimli bir şekilde yararlanmak için uygulama iş yüklerinizi nasıl optimize edeceğiniz konusunda rehberlik için bkz. Uygulama iş yükleri için hız sınırlarını optimize edin.
Terminoloji
Aşağıdaki terimler SP-API'deki hız sınırlaması ile ilgilidir:
- Hız sınırı: SP-API'nin saniyede belirli bir işleme yapmanıza izin verdiği maksimum istek sayısı. Kısıtlamayı önlemek için bu sınırın altında kalın.
- Patlama sınırı: Belirli bir işleme yönelik zaman içinde oluşturabileceğiniz ve ardından aynı anda gönderebileceğiniz maksimum istek sayısı.
- Kullanım planı: Belirli bir işlem için geçerli olan hız sınırı ve patlama limitinin kombinasyonu. Daha fazla bilgi için bkz. Kullanım planı türleri ve Kullanım planlarını belirleyen faktörler.
- Token kovası algoritması: SP-API'nin, API istekleri için belirteç alışverişi analojisine dayalı olarak, istekleri hız sınırlamak için kullandığı algoritma. Algoritmanın ayrıntılı bir açıklaması için, bkz. Hız sınırlama algoritması.
- Kısıtlama: Ücret limitinizi aştığınızda SP-API'nin isteklerinizi geçici olarak reddettiği durum. Kısıtlanmış bir istek 429 HTTP hata yanıtı ile sonuçlanır. Daha sonra kısıtlanan istekleri yeniden deneyebilirsiniz.
- Hesap: Geliştirici uygulamasının SP-API'yi çağırdığı satış ortağı hesabı. Bir sağlayarak hesabı belirlersiniz.
sellerId
belirli SP-API işlemlerini çağırdığınızda. - Uygulama: Bir satış ortağı adına SP-API'yi çağıran geliştirici uygulaması. Satış ortağı geliştirici konsolunda uygulama kimliğini uygulama adından sonra bulabilirsiniz.
- Hibesiz işlemler: Gerektirmeyen işlemler
sellerId
isteğin bir parçası olarak. Hibelsiz operasyonlar için, satış ortağı bu operasyon için kullanım planında bir faktör değildir. Hibelsiz işlemlerin listesi için bkz. Hibesiz Operasyonlar.
Hız sınırlama algoritması
SP-API, API'ye yönelik istekleri hız sınırlamak için belirteç klasörü algoritmasını kullanır. Algoritma, her bir belirteci API'ye bir istekle değiştirebileceğiniz, belirteçleri içeren bir kovanın analojisine dayanır.
Bu benzetmede, SP-API, klasörün maksimum boyutuna ulaşılana kadar otomatik olarak belirli bir hızda klasörünüze belirteçler ekler. Maksimum boyuta patlama hızı da denir.
SP-API'yi çağırdığınızda, SP-API, istek üstbilgisinde arayan kimliğini tanımlayan erişim belirtecine dayalı olarak bu işlem için kullanım planınızı (hız sınırı ve patlama sınırı) alır. SP-API'ye yaptığınız her istek, paketten bir belirteç çıkarır. Bölümünüz boş olduğu için belirteci bulunmayan bir istekte bulunduğunuzda kısıtlama meydana gelir. Kısaltılmış bir istek, bir hata yanıtıyla sonuçlanır.
Aşağıdaki çizim, belirteç bölmesi algoritmasına ve paket ayırma kriterlerine dayalı olarak hız sınırlamanın nasıl çalıştığını göstermektedir. Örnek, hız sınırı bir ve patlama sınırı iki olan bir işlem kullanır.
- Kova başlangıçta doludur ve iki jeton tutar (patlama limiti). 01:00:100 'te bir uygulama, AB pazarında faaliyet gösteren bir satış ortağı adına SP-API operasyonunu çağırır. Talep başarılı oldu. İstek, paketteki bir jetonu tükettiği için artık tek bir belirteç tutuyor.
- 100 milisaniyeden sonra, 01:00:200'de, aynı uygulama aynı bölgedeki aynı satış ortağı adına aynı işlemi çağırır. İstek başarılıdır ve paketteki son belirteci kullanır. Kova şimdi boş.
- 100 milisaniyeden sonra, 01:00:300'de, aynı uygulama aynı bölgedeki aynı satış ortağı adına aynı işlemi çağırır. Bu sefer, tükenmiş limitler nedeniyle (boş kova) istek kısıtlanır.
- Bu örneğin başlangıcından bir saniye sonra, 01:01:000'de SP-API, hız sınırı saniyede bir belirteç olduğundan, paketine bir belirteç koyar. Uygulama artık kısıtlanmadan işlemi başarıyla çağırabilir.
- Bir saniye daha sonra, 01:02:00, SP-API, depoya başka bir belirteç ekler.
- 01:03:00, SP-API, klasör maksimum boyutuna (patlama limiti) ulaştığı için paketine başka bir belirteç eklemez.
Hız ve patlama limitlerini belirleyen faktörler, bazı durumlarda ayrı bir token kutusu olduğu anlamına gelir. Bu örnekte, aşağıdaki durumlarda 01:00:200'de iki belirteç kullanılabilir:
- Aynı uygulama aynı işlemi tetikler ancak farklı bir satış ortağı adına.
- Aynı uygulama aynı satış ortağı adına aynı işlemi çağırır, ancak farklı bir bölgesel hesaptaki kimlik bilgilerini kullanır.
- Farklı bir uygulama aynı satış ortağı adına aynı işlemi tetikler.
Aşağıdaki resimde bu alternatif senaryolar gösterilmektedir.
Kullanım planlarını belirleyen faktörler
Her SP-API işlemi için hız ve patlama sınırları birden çok faktöre bağlıdır ve tek bir işlem için birden fazla kullanım planı uygulanabilir. İsteklerin oranı, ilk ulaştığınız eşiğe göre sınırlıdır.
SP-API, kullanım planlarını atamak için aşağıdaki faktörlere dayanır:
- API işlemi: SP-API'nin her işleminin kendi varsayılan oranı ve patlama limitleri vardır. Bu sınırları veya sınırları listeleyen belgelerin bağlantısını, her işlem için API referans belgelerinde bulabilirsiniz.
- Satış ortağı (hesap) ve uygulama çifti: Çoğu operasyonun oran limitleri satış ortağı ve uygulama çiftine göre belirlenir. Uygulama, satış ortağı adına SP-API'yi çağırır. Hibelsiz işlemler bu kuralın istisnalarıdır. Uygulamalar, bir satış ortağının izni olmadan hibesiz işlemleri arayabilir. İzinsiz işlemler için, kullanım planları bu bölümdeki diğer kriterlere göre tanımlanır.
- Bölgeler ve pazar yerleri: Kullanım planları, bir satış ortağının faaliyet gösterdiği ve bir uygulamanın SP-API'yi kendi adına çağırması için yetkilendirdiği pazar gruplarına örtük olarak bağlanır. Bu oran sınırlayıcı faktörün örtük doğası, pazara özgü farklı satış ortağı hesaplarına bağlıdır. Pazara özgü farklı satış ortağı hesaplarının farklı satıcı kimlikleri vardır.
Kullanım planı türleri
Her SP-API işlemi bir kullanım planı ile ilişkilendirilir. Bir kullanım planı, bir hız sınırı ve bir patlama sınırı belirtir. Kullanım planınızı nasıl bulacağınızla ilgili ayrıntılar için bkz. Kullanım planınızı nasıl bulabilirsiniz. İki tür kullanım planı vardır: standart ve dinamik.
-
Standart kullanım planları: SP-API'lerin çoğu standart kullanım planları tarafından yönetilir. Standart bir kullanım planında, ücret limitleri, her işlem için beklenen arama modellerine dayalı olarak tüm arayanlar için statik değerlere sahiptir. Her işlem için API referans belgelerinde kullanım planını veya kullanım planını listeleyen belgelerin bağlantısını bulabilirsiniz.
-
Dinamik kullanım planları: Bazı SP-API'ler ve işlemlerin dinamik kullanım planları vardır. Dinamik bir kullanım planı, o işletme için mevcut ve geçmiş iş ihtiyaçlarına göre her satış ortağına otomatik olarak ayarlanan bir plandır.. Dinamik kullanım planlarının amacı bu sınırları zaman içinde doğru boyutlandırmak olduğundan, oranlar değişebilir. Çeşitli satış ortağı iş ölçümleri oran ayarlamalarını etkiler. Bu metrikler yalnızca iş ölçümleridir ve geçmiş sayıda API isteği içermez. Bir uygulama API isteklerini daha sık yaptığı için oranlar dinamik olarak artmaz.
Dinamik kullanım planları yalnızca aşağıdaki SP-API'ler ve işlemler için geçerlidir.
Satış Ortağı API'si Operations Siparişler V0 Tüm işlemler Ürün Fiyatlandırması v2022-05-01 getFeaturedOfferExpectedPriceBatch
Kullanım planınızı nasıl bulabilirsiniz
Kullanım planınızı (hız ve patlama limitleri) aşağıdaki şekillerde bulabilirsiniz:
-
SP-API belgeleri: Bu sınırları veya sınırları listeleyen belgelerin bağlantısını, her işlem için API referans belgelerinde bulabilirsiniz.
-
Yanıt başlığı: Bir SP-API işlemi çağırdığınızda,
x-amzn-RateLimit-Limit
yanıt başlığı, varsa, işlemin hesap-uygulama çifti başına oran sınırlarını belirtir. Ancak, aşağıdaki nedenlerden dolayı bu başlığın mevcut olmasına güvenmemelisiniz:- Bazı durumlarda, en iyi çaba denemesine rağmen, SP-API oran sınırlarını alamaz. Bu durumda, SP-API işlemi başka türlü geçerli bir çağrıda başarısız olmaz. Bunun yerine, SP-API yanıtı olmadan döndürür
x-amzn-RateLimit-Limit
başlık. -
x-amzn-RateLimit-Limit
yanıt başlığı HTTP durum kodları 20x, 400 ve 404 içindir. Yetkisiz veya kimliği doğrulanmamış istek, bu başlığı içermez. -
x-amzn-RateLimit-Limit
başlık, diğer kullanım planı ücret sınırlarını içermez.
Dolayısıyla, yanıtta her zaman
x-amzn-RateLimit-Limit
başlığının olmasını beklememelisiniz. Bunun yerine, hız sınırı değerini kullanmayı denemeden önce başlık olup olmadığını kontrol edin. - Bazı durumlarda, en iyi çaba denemesine rağmen, SP-API oran sınırlarını alamaz. Bu durumda, SP-API işlemi başka türlü geçerli bir çağrıda başarısız olmaz. Bunun yerine, SP-API yanıtı olmadan döndürür
Sık Sorulan Sorular
Kullanım senaryom için bir işlemin hız sınırları çok düşük. Bu sınır artırılabilir mi?
Verimli arama modellerinin ideal olarak asla kısıtlanmaması hedefiyle doğru boyuttaki limitleri hedefliyoruz. Uygulamanız sürekli olarak kısıtlanıyorsa, arama kalıplarınızı daha da optimize edebileceğiniz anlamına gelebilir. Daha fazla bilgi için bkz. Başvurum sürekli olarak kısıtlanırsa ne yapmalıyım. Varsayılan oranların yeterli olmadığını fark ederseniz, bkz. Uygulama iş yükleriniz için hız sınırlarını optimize etme stratejileri.
Uygulamam, 429 yanıtını nasıl ele almalı?
429, yeniden denenebilir bir durum kodudur. Tekrar deneyebilirsiniz, ancak tekrarlanan kısıtlanmış istekler bir geri çekme stratejisi gerektirir. Kullan x-amzn-RateLimit-Limit
oran sınırlarının beklentilerinizden farklı olup olmadığını belirlemek için mevcut olduğunda yanıt başlığı. Bu başlığın ne zaman kullanılabilir olduğu hakkında ayrıntılar için, bkz. Kullanım planınızı nasıl bulabilirsiniz.
Uygulamamı, kullanım planlarına göre nasıl test edebilirim?
Satış Ortağı API sanal alanını kullanarak 429 hata işlemeyi test edebilirsiniz. Ancak, üretimdeki işlemlerin çeşitli oranları olabilirken, tüm sanal alan işlemleri aynı oranı paylaştığı için sanal alan ile oran sınırlarını test edemezsiniz. Atanmış kullanım oranlarınızı şurada bulabilirsiniz: x-amzn-RateLimit-Limit
Mümkün olduğunda her işlem için yanıt başlığı. Bu başlığın ne zaman kullanılabilir olduğu hakkında ayrıntılar için, bkz. Kullanım planınızı nasıl bulabilirsiniz.
Uygulamamın kısıtlanması tamamen önlenebilir mi?
Hayır. Kontrolünüz dışındaki herhangi bir sayıda faktör birkaç geçici 429'la sonuçlanabilir. Başvuru kodunuz bu olasılığı hesaba katmalıdır.
Uygulamam sürekli kısıtlanıyorsa ne yapmam gerekir?
Uygulamanız sürekli olarak kısıtlanıyorsa, arama kalıplarınızı daha da optimize etmeniz gerekebilir. Örneğin:
-
Daha az sıklıkta arayın ve ücret sınırlarınız dahilinde kalın.
-
Anket mekanizmaları yerine anlık bildirimlere güvenin.
-
Mümkün olduğunda toplu API'leri kullanın veya daha az çağrı ile daha fazlasını yapmaya çalışın. Örneğin, ile Beslemeler ve Raporlar API'ler, arama başına daha fazla bilgi gönderebilir veya alabilirsiniz. Genel olarak, aynı işi daha az çağrıda yapıp yapamayacağınızı belirlemek için çağrı kalıplarınızı bir API'deki işlemlere karşı inceleyin.
Daha fazla yetki aldığımda uygulamam daha sık kısıtlanacak mı?
Hayır. Kullanım planları uygulama ve satış ortağı çiftine özeldir, böylece veriminiz müşterilerinizle birlikte doğal olarak artar.
Hız sınırları değişecek mi?
Hız sınırlarını herhangi bir zamanda artırabiliriz. API başvuru belgelerinde belirtilen hız sınırlarını azaltırsak değişiklik geçerli olmadan önce size bildirimde bulunarak uygulamalarınızı güncellemeniz ve test etmeniz için zaman tanırız.
Dinamik kullanım planları için ücret sınırları, iş bağlamına bağlı olarak otomatik olarak daha yüksek veya daha düşük ayarlanır.
Uygulamam sürekli kısıtlanıyorsa hız sınırlarım artırılır mı?
Fiyatlar, bir satış ortağının iş ölçümlerine dayanır. Başvurunuz sürekli olarak kısıtlanıyorsa, arama kalıplarınız muhtemelen o satış ortağına atanan ücret sınırlarıyla uyumlu değildir. Bakınız Başvurum sürekli olarak kısıtlanırsa ne yapmalıyım? ve Bir işlem için oran sınırları, kullanım durumum için çok düşük. Limit arttırılabilir mi?.
Dinamik kullanım planlarının genel amacı nedir?
Tarihsel olarak incelediğimizde, homojen kullanım planlarının bazı durumlarda aşırı büyük ve daha da kötüsü bazı durumlarda yetersiz boyutlarda olduğunu gördük. Dinamik kullanım planlarının amacı, belirli bir çağrının bilinen işletme bağlamından yararlanarak herhangi bir durumda doğru sınırları koymaktır.
Dinamik kullanım planlarını etkileyen unsurlar neler?
Hız sınırları genel olarak satış ortağının işletme türü, boyutu ve davranışına göre şekillenir.
Belirli bir kullanım planıyla ilişkili sınırlar ne sıklıkla değişir?
Sınırlarda sık ve yıkıcı değişiklikler yapılmasını önlemeyi amaçlıyoruz. Sınırlar genel olarak Satış Ortağı hesabındaki işletme metriklerinde anlamlı değişiklikler tespit ettiğimizde değiştirilir.
Uygulamamı dinamik sınırlara uyacak şekilde nasıl kodlamam gerekir?
Aşağıdaki öneriler uygulamanızın dinamik hız sınırlarını işlemesine yardımcı olabilir:
-
Okuyun
x-amzn-RateLimit-Limit
başlık, mevcut olduğunda. Bu başlığın ne zaman kullanılabilir olduğu hakkında ayrıntılar için, bkz. Kullanım planınızı nasıl bulabilirsiniz. -
Zamanlayıcıları sabit kodlamayın.
-
Bir döngüde çalışmak yerine olaylara karşı doğal olarak kodlayın. Etkinlikler kullanıyorsanız, bir zamanlayıcıya ihtiyacınız yoktur. Örneğin, fiyatları belirli saniye sayısından ziyade fiyat bildirimlerine yanıt olarak güncelleyin.
2 ay önce güncellendi