Polling, "yeni bir şey var mı?" sorusunu düzenli aralıklarla sormaktır. Yazılım her birkaç dakikada pazaryerine istek atar, yeni siparişleri ya da değişen kayıtları çeker. Basit ve güvenilirdir; karşı tarafın bildirim göndermesine bağlı değildir.
Webhook ile farkı
| Konu | Polling | Webhook |
|---|---|---|
| Başlatan | Sizin yazılımınız | Platform |
| Gecikme | En fazla sorgu aralığı kadar | Genellikle saniyeler |
| Kaçırma riski | Düşük; her turda yeniden bakılır | Bildirim kaybolabilir |
| İstek yükü | Değişiklik olmasa da istek atılır | Yalnız olay olunca |
| Kurulum | Yalnız API erişimi yeter | Herkese açık bir alıcı adresi gerekir |
Aralık nasıl seçilir?
Aralık kısaldıkça gecikme azalır ama istek sayısı artar. Platformun istek sınırı bu dengeyi belirler. Örneğin Trendyol'un servis limitleri tablosunda sipariş paketlerini çekme için mağaza seviyesine göre dakikada 30 ile 100 istek arasında sınır yazar. Kısa aralık, birden çok mağaza ve sayfa ile birleşince bu sınıra hızla yaklaşılır.
İyi bir polling nasıl yazılır?
- Tarih penceresi: Her seferinde tüm geçmişi değil, son sorgudan bu yana değişenleri isteyin. Pencereyi biraz örtüşmeli tutun; sınırda kalan kayıt kaçmasın.
- [Sayfalama](/sozluk/sayfalama): Sonuç çok sayfaysa tüm sayfaları gezin.
- Tekrarı tolere edin: Örtüşen pencere aynı siparişi iki kez getirebilir; işlem idempotent olmalıdır.
- Hata yönetimi: 429 ya da 5xx gelince bekleyip tekrar deneyin; turu tamamen atlamayın.
En iyisi: ikisi birlikte
Pratikte en sağlam yapı, webhook ile hızlı bildirim almak ve polling ile düzenli kontrol yapmaktır. Webhook kaçarsa polling yakalar. Saystok bu yapıyı kullanır: siparişler tüm platformlarda 5 dakikada bir okunur; WooCommerce, Trendyol, Hepsiburada ve N11'de ayrıca webhook bildirimi alınır. Stoklar ise 2 saatte bir, Etsy'de 6 saatte bir kontrol edilir.
Gecikmenin genel resmi için senkronizasyon gecikmesi maddesine bakın.


