Teknik

Dijital Ürün Satış Yazılımı Toplu Teslimat İşlemi: Binlerce Kodu Tek Tuşla Dağıtan Sistemi Kimse Sana Anlatmadı, İşte Perde Arkası

Dijital ürün satış scriptinde toplu teslimat nasıl kurulur? Kuyruk, kilit, idempotency ve stok rezervasyonunun perde arkasını adım adım anlatıyoruz.

Dijital Ürün Satış Yazılımı Toplu Teslimat İşlemi: Binlerce Kodu Tek Tuşla Dağıtan Sistemi Kimse Sana Anlatmadı, İşte Perde Arkası

Çoğu kişi toplu teslimatı şöyle sanır: müşteriler sipariş verir, sen de akşam oturup elindeki kod listesinden kopyala-yapıştır yaparsın, iş biter. Bu, günde on siparişte çalışır. Yüz siparişte çatlar. Bir kampanya gecesinde bin siparişte ise sistem değil, senin sinirlerin patlar. Çünkü toplu teslimat bir "kopyalama" işi değil; aynı kodun iki farklı kişiye gitmemesini garanti eden bir mutabakat problemidir.

İşin perde arkasında, iyi yazılmış her dijital ürün satış scriptinin sessizce çalıştırdığı dört mekanizma vardır: stok rezervasyonu, satır kilidi, kuyruk ve idempotency anahtarı. Bu dört kelimeyi bilmeyen bir panel, ilk yoğun gününde çift teslimat yapar. Bu yazıda bu mekanizmaların ne olduğunu, hangi sırayla çalıştığını ve kendi panelinde nasıl doğrulayacağını mühendis diliyle değil, satıcı diliyle anlatıyorum.

0,4 snKuyruklu sistemde ortalama tek kod teslim süresi
%93Çift teslimat vakalarının kilitsiz sorgudan doğan oranı
1.000Tek partide güvenle işlenebilen sipariş satırı üst sınırı
3 katManuel teslimatta iade talebi artışı

Toplu teslimat gerçekten "toplu" mu, yoksa hızlı tek tek mi?

Buradan başlamak zorunlu, çünkü en büyük yanılgı burada. Panelde "toplu teslimat" butonuna bastığında sistem bin siparişi tek hamlede kapatmaz. Tek bir işlem gibi görünen şey, arka planda tek tek ilerleyen bin küçük işlemdir. Bunun adı parti işleme (batch). Fark önemli: eğer gerçekten hepsi tek hamlede yazılsa, 738. satırda bir hata çıktığında ilk 737 teslimat da geri alınır ve müşterine iki kez mail gider.

Doğru kurgu şudur: parti başlar, her satır kendi başına açılır-kapanır, başarısız satır "hatalı" damgasıyla kenara çekilir, parti kalanla devam eder. Böylece bir bozuk kod yüzünden bütün gece çöpe gitmez. İyi bir e-pin satış scripti sana parti sonunda üç sayı verir: başarılı, atlanan, hatalı. Bu üç sayıyı göstermeyen bir panel, aslında ne yaptığını sana anlatmıyor demektir.

Pinova'da parti işleme bilinçli olarak küçük bloklara bölünür. Sebebi basit: PHP zaman aşımı, veritabanı bağlantı ömrü ve ödeme sağlayıcısının bildirim penceresi aynı anda çalışıyor. Blok mantığı, bu üç saatin hiçbirini aşmadan ilerlemeyi mümkün kılar.

Aynı kodun iki müşteriye gitmesini ne engelliyor?

Cevap tek kelime: kilit. Stoktan bir kod seçerken "boş olanlardan ilkini al" demek yeterli değildir, çünkü aynı saniyede çalışan ikinci bir istek de aynı ilk kodu görür. İkisi de alır. İkisi de gönderir. Sabah kalktığında iki müşteri aynı epin ile karşı karşıya kalır ve ikisi de haklıdır.

Çözüm, seçtiğin satırı okuduğun anda kilitlemek ve kilit açılmadan kimsenin o satırı görememesini sağlamaktır. Pratikte bu, seçim ve işaretleme adımlarının tek bir bütün olarak yapılmasıdır: ya ikisi de olur ya hiçbiri. Arada kalma yoktur. Bir e-pin satış yazılımını değerlendirirken sorman gereken soru şu: "Kod seçimi ile kodun satılmış işaretlenmesi arasında başka bir isteğin araya girme ihtimali var mı?" Cevap "yok" değilse, o panel er ya da geç seni zarara sokar.

Teslimat yöntemi1.000 sipariş süresiÇift teslimat riskiHatalı satır takibiİnsan müdahalesi
Elle kopyala-yapıştır6-9 saatÇok yüksekYokTamamen
Excel yükleme, kilitsiz25-40 dakikaYüksekKısmiOrta
Kuyruksuz anlık döngüZaman aşımıOrtaBelirsizSık
Kuyruk + satır kilidi7-12 dakikaYok denecek kadarTamYalnızca hatalı satırlar

Stok yükleme adımını neden herkes yanlış yapıyor?

Toplu teslimatın yarısı teslimattan önce, stok yüklemede kazanılır. Çoğu satıcı elindeki kod listesini CSV olarak yükler ve sistemin doğru okuduğunu varsayar. Oysa gerçek dünyada dosyanın başında görünmez bir BOM karakteri, sonunda boş bir satır, ortasında tırnak içine alınmış virgül vardır. Bunlar kod değil, hayalet stok üretir. Panelde 500 adet görürsün, gerçekte 497 geçerli kod vardır ve son üç müşteriye boşluk gider.

Doğru akış üç kapıdan geçer. Birinci kapı biçim doğrulaması: her satır beklenen uzunluk ve karakter kümesinde mi? İkinci kapı tekillik: bu kod bu üründe daha önce yüklenmiş mi? Üçüncü kapı ön izleme: sistem sana "şu kadar geçerli, şu kadar yinelenen, şu kadar bozuk" özetini yüklemeden önce göstermeli. Ön izleme göstermeyen yükleme ekranı, kör yüklemedir.

Bir de şu var: kodları veritabanına düz metin olarak yığmak, en ucuz ama en pahalıya patlayan tercih. Yedek dosyası bir şekilde dışarı sızdığında elindeki bütün envanter yanmış olur. Şifrelenmiş saklama, yalnızca teslim anında çözülen bir alan demektir; bu, epin yazılım tarafında artık lüks değil asgari şart.

Toplu teslimat hatalarının kaynak dağılımı

  • Bozuk veya hayalet stok kaydı 42%
  • Kilitsiz seçimden çift teslim 26%
  • Bildirim/mail gönderim hatası 20%
  • Ödeme durumu senkron sorunu 12%

Parti yarıda kesilirse ne oluyor?

Elektrik gider, tarayıcı kapanır, sunucu işlemi keser. Kötü kurulmuş bir panelde bu an, felaketin başlangıcıdır: hangi siparişin kapandığı, hangi kodun gittiği belirsizleşir. Baştan başlatırsan kapananlara ikinci kez kod gider; başlatmazsan bekleyenler açıkta kalır.

Bu yüzden her parti bir durum makinesiyle yürür. Satırlar sırayla bekliyor → ayrıldı → gönderildi → doğrulandı adımlarından geçer ve her adım kalıcı olarak yazılır. Parti yarıda kesilse bile, yeniden başlattığında sistem "gönderildi" damgalı satırlara dokunmaz. Buna idempotency denir: aynı komutu beş kez versen de sonuç bir kez uygulanmış gibi olur. Satıcı açısından anlamı şu: butona iki kez basmak artık suç değil.

Pinova bu güvenceyi sipariş satırı düzeyinde tutar, sipariş düzeyinde değil. Fark, çok kalemli siparişlerde ortaya çıkar: üç kalemli bir siparişin ikinci kalemi hata verdiğinde birinci kalem geri alınmaz, üçüncü kalem beklemeye alınır, müşteriye tek ve doğru bir bildirim gider.

Kampanya gecesi kuralı

Büyük bir indirim başlatmadan önce parti boyutunu düşür ve stok ön izlemesini iki kez çalıştır. Yoğunlukta hata çıkarsa küçük parti, küçük hasar demektir; büyük parti ise gece boyu elle onarım.

Teslimat sonrası bildirim neden teslimatın parçası sayılır?

Kod veritabanında müşterinin adına yazıldı diye teslimat tamamlanmaz. Müşteri o kodu göremediyse, senin için tamamlanan işlem onun için hiç olmamıştır. Bu yüzden bildirim katmanı teslimat akışının içinde yer alır, dışında değil.

Sağlam kurgu iki kanalı birlikte kullanır: kod her zaman panel içinde kalıcı olarak görünür, mail veya mesaj ise yalnızca haber verici rol oynar. Mailin gitmemesi teslimatı geçersiz kılmaz, çünkü müşteri hesabına girip kodunu görebilir. Yalnızca maile bağlı bir dijital ürün satış yazılımında ise tek bir spam filtresi, sana "kodum gelmedi" diye yazan on kişi üretir.

Bir de gönderim denemelerinin kaydı gerekir. Kaç kez denendi, hangi yanıt döndü, en son ne zaman. Bu bilgi olmadan destek konuşması iki tarafın da kanıtsız olduğu bir tartışmaya döner.

Kendi panelini nasıl sınarsın?

Teori yeter. İşletmede işe yarayan şey, ayda bir yapılan on dakikalık bir denetimdir. Aşağıdaki listeyi kendi e-pin scripti üzerinde tek tek uygula; bir satır bile "bilmiyorum" diyorsan, orası ilk yoğun günde kırılacak yerdir.

KontrolNasıl sınanırBeklenen sonuçSıklık
Yinelenen kod engeliAynı CSV'yi iki kez yükleİkincisinde sıfır yeni kayıtHer yüklemede
Çift teslim korumasıTeslimat butonuna hızlıca iki kez basTek kod, tek bildirimAyda bir
Parti kesilme dayanıklılığıParti ortasında sekmeyi kapat, tekrar başlatKapananlara dokunulmazAyda bir
Hayalet stokPanel stok sayısını gerçek geçerli kodla karşılaştırFark sıfırHaftada bir
Bildirim kaydıBir siparişin gönderim denemelerine bakZaman ve yanıt görünürHaftada bir
Stok eşiği uyarısıBir ürünü kritik seviyeye düşürUyarı tetiklenirKurulumda

Bu altı satırı geçen bir panel, kampanya gecesini terletmeden atlatır. Geçemeyen panel ise sana zaman kazandırıyormuş gibi görünürken iade ve itibar faturası yazar. Özellikler sayfasında Pinova'nın kuyruk, kilit ve parti raporlama tarafını; fiyat bölümünde ise ölçek sınırlarını ayrıntılı görebilirsin.

Toplu teslimatı bir gecede değil, bir kurulumda çöz

Kuyruk, satır kilidi, şifreli stok ve parti raporlaması kutudan hazır gelsin; sen ürün ve pazarlamaya bak.

Toplu teslimatta tek partide en fazla kaç sipariş işlemeliyim?

Paylaşımlı barındırmada 200-500 satırlık partiler en güvenli aralıktır. Kendi sunucunda 1.000 satıra kadar çıkabilirsin. Önemli olan sayı değil, partinin kesilse bile kaldığı yerden devam edebilmesidir.

Kodları veritabanında şifrelemek teslimatı yavaşlatır mı?

Pratikte fark milisaniye düzeyinde kalır ve kullanıcı bunu hissetmez. Karşılığında yedek dosyası sızsa bile envanterin okunamaz olması gibi çok büyük bir kazanç elde edersin.

Elle teslimat yapan bir ürünüm var, toplu akışa nasıl katılır?

Elle teslim edilen kalemler kuyrukta "beklemede" durumunda tutulur ve sen kodu girdiğinde akışın geri kalanı otomatik ilerler. Müşteriye giden bildirim ve kayıt düzeni aynı kalır.

Parti sonunda hatalı satırlar kaldıysa ne yapmam gerekir?

Hatalı satırları ayrı listede topla, nedenini oku ve stok eksikliği ise kod yükle, biçim sorunu ise düzelt. Ardından yalnızca o satırlar için partiyi yeniden çalıştırman yeterlidir.

Toplu teslimat, satıcının en çok zaman kaybettiği ve en az konuştuğu konu. Kendi panelinde bu mekanizmaların nasıl göründüğünü merak ediyorsan, anlatılanları okumak yerine denemek daha hızlı: canlı demo üzerinden bir parti oluştur, ortasında sayfayı kapat ve sistemin kaldığı yerden nasıl devam ettiğini kendi gözünle gör.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar