Skip to main content
ORIONPOS API, sistemin kararlı çalışmasını korumak ve tüm entegrasyonlara adil erişim sağlamak amacıyla istek hızını sınırlandırır. Uygulamanızı bu limitlere uygun şekilde tasarlamak, beklenmedik hata yanıtlarının önüne geçer.

İstek Kotaları

Dakikada Maksimum İstek

Herhangi bir dakikada API’ye gönderebileceğiniz toplam istek sayısı 60 ile sınırlıdır.

Saniyede Maksimum İstek

Herhangi bir saniyede art arda gönderebileceğiniz anlık istek sayısı 10 ile sınırlıdır.

Limit Aşımında Ne Olur?

Belirlenen hız limitlerini aştığınızda API, 429 Too Many Requests HTTP durum kodu ile yanıt verir. Bu yanıt geldiğinde mevcut isteğiniz işleme alınmaz; isteği kısa bir bekleme süresinin ardından yeniden göndermeniz gerekir. Limiti aşan istekleri hızla tekrar göndermek durumu daha da kötüleştirebileceğinden, aşağıda açıklanan üstel geri çekilme (exponential backoff) stratejisini uygulamanızı kesinlikle öneririz.

İstemci Tarafında Retry Stratejisi

429 Too Many Requests yanıtı aldığınızda aşağıdaki üstel geri çekilme algoritmasını kullanın. Her başarısız denemede bekleme süresini katlayarak gereksiz yük oluşturmaktan kaçının:
1

İlk İsteği Gönderin

İsteğinizi normal şekilde gönderin. 429 yanıtı alırsanız bir sonraki adıma geçin.
2

Bekleme Süresini Hesaplayın

Bekleme süresini şu formülle hesaplayın:
3

Bekleyin ve Tekrar Deneyin

Hesaplanan süre kadar bekledikten sonra isteği yeniden gönderin. 5 denemeden sonra da 429 alıyorsanız işlemi durdurun ve hatayı kayıt altına alın.
Aşağıda basit bir Python örneği verilmiştir:
Exponential Backoff Örneği
Toplu veri aktarımı yapıyorsanız isteklerinizi sıraya koyun ve her istek arasına en az 100 ms gecikme ekleyin. Bu basit önlem, saniye limitine çarpmadan düzenli bir istek akışı sağlar.

On-Premise ORIONPOS Sunucusu Hakkında

ORIONPOS API, on-premise kurulu ORIONPOS sistemlerine köprü görevi görür. Bu nedenle yanıt süreleri yalnızca API katmanına değil, hedef restoran sunucusunun durumuna da bağlıdır. Sunucu kapalıysa, internet bağlantısı yoksa ya da bağlantı yavaşsa API’den normalden daha uzun yanıt süreleri veya zaman aşımı hataları alabilirsiniz. İstemcinizi bu senaryolara karşı dayanıklı hale getirmek için uygun bağlantı zaman aşımı (connection timeout) ve okuma zaman aşımı (read timeout) değerleri belirlemenizi öneririz.