Çoğu satıcı «tedarikçinin API'sini bağladım, artık teslimat anlık» sanır. Gerçekte bağladığın şey bir teslimat değil, bir olasılık zinciri: müşterinin ödeme tuşuna bastığı an ile kodun ekranında göründüğü an arasında en az yedi ayrı yerde yanlış gidebilecek bir şey vardır. Zincir çalıştığı sürece kimse merak etmez; ilk koptuğu gün ise kimse nerede koptuğunu söyleyemez.
Bu yazıda o zinciri açıp içine bakıyoruz. Konu «hangi tedarikçi daha iyi» değil; bir e-pin satış scripti tedarikçi çağrısını nasıl yönetmeli, zaman aşımını kaç saniyeye kurmalı, aynı isteği iki kez göndermeyi nasıl engellemeli ve tedarikçinin «stokta var» dediği kodun neden bazen olmadığı. Anlık teslimat bir pazarlama sıfatı değil, kurulması gereken bir mühendislik disiplinidir.
«Anlık» dediğin şey kaç saniye ve kim sayıyor?
Anlık teslimat, ölçülebilir bir söz olmadığı sürece boş bir iddiadır. Bir müşteri için «anlık», ödeme onayından sonra sayfanın yenilenmesiyle kodu görmesi demektir; bu da pratikte on saniyenin altıdır. Senin için ise ölçüm ödeme sağlayıcısının onay bildirimi ile kodun müşteri ekranına yazılması arasındaki farktır.
Bu süreyi tek parça düşünmek en yaygın hata. Süreyi parçalara böl, her parçaya ayrı bütçe ver ve toplamı sözünden küçük tut. Ödeme bildirimi işlenmesi, stok ayırma, tedarikçi isteği, yanıtın doğrulanması, kaydın kalıcı hâle getirilmesi ve müşteriye gösterim. Altı parça, altı bütçe. Bütçesi olmayan adım, sessizce büyüyen adımdır.
Bütçeleri yazılı hâle getirdiğinde bir şey daha kazanırsın: hangi adımın bütçesini aştığını gördüğün an, sorunu tahmin etmeye çalışmazsın. Bu, epin yazılım tarafında raporlamanın da temelidir.
Sipariş ile tedarikçi çağrısı arasındaki o üç saniyede neler oluyor?
Ödeme onayı geldiğinde script'in yapması gereken ilk şey kodu istemek değildir. Önce siparişin gerçekten ödendiğini doğrulaması, ardından stok ayırması, sonra çağrıyı başlatması gerekir. Sıra bozulursa iki klasik felaket doğar: ödenmemiş siparişe kod verilir veya aynı stok iki müşteriye ayrılır.
Bir başka kritik ayrıntı: tedarikçi çağrısı, müşterinin beklediği web isteğinin içinde mi yoksa arka planda mı yapılıyor? İkisi de olabilir, ama karar bilinçli olmalı. İstek içinde yaparsan süre kısadır ama tedarikçi yavaşladığında müşteri beyaz ekranda kalır. Arka planda yaparsan dayanıklılık kazanırsın; bu durumda ekranın «hazırlanıyor» durumunu dürüstçe gösterebilmesi şart.
Doğru cevap genelde melez: çağrıyı arka plan işçisine ver, ama ön yüz iki saniyede bir durumu yoklasın. Müşteri yine anlık deneyim yaşar, sen ise tedarikçinin kötü gününde siparişi kaybetmezsin.
| Zincir adımı | Süre bütçesi | Tipik hata modu | Doğru davranış |
|---|---|---|---|
| Ödeme bildirimi doğrulama | 0,5 sn | Sahte veya tekrarlanan bildirim | İmza doğrula, işlem kimliğini tekilleştir |
| Stok ayırma | 0,3 sn | Aynı kodun iki siparişe düşmesi | Satır kilidi ile atomik ayırma |
| Tedarikçi isteği | 4 sn | Zaman aşımı, yanıt gelmemesi | Kısa zaman aşımı, istek kimliği gönder |
| Yanıt doğrulama | 0,4 sn | Boş veya biçimi bozuk kod | Biçim kontrolü, başarısızsa teslim etme |
| Kalıcı kayıt | 0,3 sn | Kod alındı ama kaydedilmedi | Yanıtı önce sakla, sonra göster |
| Müşteriye gösterim | 1 sn | E-posta gitti, panelde yok | Tek kaynak: sipariş detay ekranı |
| Yeniden deneme | 3 x 5 sn | Sonsuz döngü, çift kod | Sınırlı deneme, aynı istek kimliği |
Aynı kodu iki kez satmanın tek sebebi: istek tekilliği yokluğu
Anlık teslimatta en pahalı hata çift satıştır ve neredeyse her zaman aynı kökten gelir: script tedarikçiye istek gönderir, yanıt gecikir, script «başarısız» sanıp tekrar gönderir. Tedarikçi iki isteği de işler. Sen bir kod parası ödemişken iki kod düşmüştür; müşteri birini alır, diğeri havada kalır.
Çözüm basit ama disiplin ister: her sipariş satırı için bir istek kimliği üret, tedarikçiye o kimlikle git ve aynı kimlikle yapılan tekrar denemelerde tedarikçinin önceki sonucu döndürmesini bekle. Tedarikçi bunu desteklemiyorsa kendi tarafında «bekleyen istek» kaydı tutup, yanıt gelmeden ikinci isteği başlatmayacak bir kilit kurmalısın.
Bu mekanizma, kaliteli bir dijital ürün satış scriptini amatör kurgudan ayıran en net teknik işarettir. Vitrinden bakınca görünmez, ay sonu tedarikçi ekstresinde çok net görünür.
Zaman aşımını yanlış kurmak neden seni iki kez ödetir?
Zaman aşımı çok uzun olursa müşteri bekler, sepetini kapatır, ödeme itirazı açar. Çok kısa olursa henüz yolda olan başarılı bir yanıtı iptal edip yeniden denersin; tedarikçi iki kez üretir. İkisi de para kaybıdır, yönü farklıdır.
Anlık teslimat başarısızlıklarının nedenleri
- Zaman aşımı ve ağ 40%
- Tekrarlanan istek ve çift kod 25%
- Stok tükenmesi 20%
- Kimlik doğrulama ve limit 15%
Pratik kural şu: bağlantı kurma süresi ile yanıt bekleme süresini ayrı ayrı ayarla. Bağlantı için bir saniye, yanıt için dört saniye makul bir başlangıçtır. Zaman aşımına düşen istek «başarısız» değil «bilinmiyor» sayılmalı; bu durumda doğru davranış kör bir tekrar değil, tedarikçinin sipariş sorgulama ucundan sonucu teyit etmektir.
Zaman aşımına düşen siparişi başarısız saymak yerine teyit bekliyor durumuna al. Bu tek durum alanı, çift satışların büyük kısmını daha ilk günden kesip atar.
Stok senkronu: tedarikçinin «var» dediği kod neden yok?
Tedarikçi stok bilgisi bir fotoğraftır, canlı yayın değil. Beş dakika önce çekilmiş bir fotoğrafa göre satış yaparsan, popüler bir üründe kaçınılmaz olarak boşa düşersin. Özellikle indirim saatlerinde aynı havuzdan onlarca satıcı çekim yapar ve fotoğraf saniyeler içinde eskir.
Bu yüzden stok mantığını iki katmanlı kur. Vitrinde gösterilen stok, altmış saniyede bir tazelenen önbellek olabilir; ama satışa izin veren karar, sipariş anında yapılan gerçek ayırma olmalı. Vitrin yanılabilir, kasa yanılmamalı. Ayrıca tükenme anında ürünü otomatik kapatan bir eşik koy; «sipariş aldım ama veremedim» senaryosu, hiç satmamaktan daha pahalıdır.
Kendi deponda tuttuğun kodlarla tedarikçiden çektiğin kodları da aynı ekranda ayırt edebilmelisin. Bir e-pin satış yazılımı bu ikisini karıştırırsa ne kârını doğru hesaplarsın ne de hangi kanalın hata ürettiğini görürsün.
Anlık teslimatı kurumsal seviyeye çıkaran dört kural nedir?
Birincisi ölçüm: her adımın süresi ve sonucu kayıtlı olacak. İkincisi tekillik: her istek kimlikli olacak, tekrarlar çift üretmeyecek. Üçüncüsü dürüst durum: müşteri bekliyorsa ekranda bunu görecek, yalancı yeşil tik olmayacak. Dördüncüsü yedek: bir tedarikçi düştüğünde aynı ürün ikinci kaynaktan gidecek.
Bu dört kural, gerçekte bir sözleşmedir. Sözleşmeyi canlıya almadan önce test ortamında imzalaman gerekir; aşağıdaki liste tam olarak bunun için. Her satırı «evet» diyemediğin bir entegrasyonu yayına almak, riskini müşterine devretmek anlamına gelir.
| Canlıya alma kontrolü | Nasıl denenir | Kabul ölçütü |
|---|---|---|
| Zaman aşımı davranışı | Yanıtı kasıtlı geciktiren sahte uç | Sipariş teyit bekliyor durumuna düşer |
| Çift istek koruması | Aynı kimlikle iki çağrı | Tek kod, ikinci çağrı aynı sonucu döner |
| Bozuk yanıt işleme | Boş ve hatalı biçimli kod | Teslim edilmez, hata kaydı oluşur |
| Stok tükenmesi | Sıfır stokta sipariş | Satış engellenir, ürün kapanır |
| Kimlik süresi bitmesi | Geçersiz anahtarla çağrı | Yönetici uyarısı tetiklenir |
| Yedek tedarikçiye geçiş | Birinci kaynağı kapat | Sipariş ikinci kaynaktan tamamlanır |
| Fiyat ve kâr kaydı | Maliyetli tek sipariş | Alış, satış ve kâr doğru işlenir |
Anlık teslimat, sıfat değil kurulum işidir
Pinova; istek tekilliği, teyit bekleyen durum yönetimi ve yedekli tedarikçi akışını hazır sunan bir e-pin satış yazılımıdır. Zinciri sıfırdan kurmak zorunda kalmazsın.
Tedarikçi çağrısını müşterinin isteği içinde yapmak yanlış mı?
Yanlış değil ama kırılgan. Tedarikçi yavaşladığında müşteri bekler ve süreyi sen kontrol edemezsin. Arka plan işçisi artı iki saniyelik durum yoklaması, aynı hızı hissettirirken dayanıklılık kazandırır.
Tedarikçim istek kimliği desteklemiyorsa ne yapmalıyım?
Kendi tarafında bekleyen istek kilidi kur: aynı sipariş satırı için ikinci çağrı, ilkinin sonucu netleşmeden başlatılmasın. Ayrıca tedarikçinin sipariş sorgulama ucu varsa zaman aşımı sonrası kör tekrar yerine teyit sorgusu kullan.
Stok bilgisini kaç dakikada bir tazelemek yeterli?
Normal dönemde bir dakika makul. Kampanya ve çıkış saatlerinde süreyi kısaltıp, kritik ürünlerde satış anında gerçek ayırma zorunlu olmalı. Vitrin tahmini olabilir, kasa kesin olmalı.
Manuel teslimatı tamamen bırakmalı mıyım?
Hayır. Tedarikçi kesintileri ve nadir ürünler için manuel yol açık kalmalı; ancak manuel teslimat oranını ölçüp düşürmeyi hedeflemelisin. Ölçülmeyen manuel süreç, zamanla asıl akış hâline gelir.
Anlık teslimat, tek bir API anahtarıyla kazanılan bir özellik değil; süre bütçesi, tekillik, dürüst durum ve yedeklilikten oluşan bir düzenin sonucudur. Bu düzenin bir panelde nasıl göründüğünü merak ediyorsan canlı demo üzerinde bir sipariş oluşturup teslimat adımlarını sırayla izleyebilir, ardından özellikler bölümünden hangi kontrollerin hazır geldiğine bakabilirsin.

