Teknik

E-pin Yazılımında Kod Havuzu Boş Görünüyorsa Stok Gerçekten Bitmedi: Scriptinin Sana Söylemediği Gizli Kilit Mekanizmasını Çöz

Kod havuzu boş görünüyor ama stok duruyor. E-pin scriptinde askıda rezervasyon, kupür eşleşmesi ve şifre anahtarı sorunlarını tek tek teşhis et.

E-pin Yazılımında Kod Havuzu Boş Görünüyorsa Stok Gerçekten Bitmedi: Scriptinin Sana Söylemediği Gizli Kilit Mekanizmasını Çöz

Panelde ürünün yanında sıfır yazıyor, müşteri satın alamıyor, sen ise kodları daha dün elinle yüklediğini biliyorsun. İlk tepki hep aynı: kodlar silindi, veritabanı temizlendi, birisi havuzu boşalttı. Oysa çoğu vakada kodlar yerinde duruyor; sadece satılabilir sayılmıyorlar. E-pin scripti tarafında stok, satır sayısıyla değil durum alanıyla hesaplanır ve o durum alanını değiştiren yarım düzine sessiz mekanizma vardır.

Bu ayrımı bilmediğin sürece her boş havuz vakasında yedekten dönmeyi düşünürsün, halbuki gereken şey tek bir sorgu ve doğru filtreyi kaldırmaktır. Aşağıda havuzun neden boş göründüğünü sıralayacağım; her maddede hem nasıl teşhis edeceğini hem de e-pin satış yazılımı tarafında bunun kalıcı olarak nasıl engellendiğini bulacaksın. Sonunda elinde, gece yarısı bile uygulayabileceğin bir kontrol sırası olacak.

%40Boş havuz vakası askıda kalan rezervasyondan
15 dkSağlıklı bir rezervasyon zaman aşımı süresi
%9Gerçekten tükenmiş stok oranı
4Teşhis için yeterli kontrol adımı

Stok neden satır sayısı değil de durum alanı?

Bir kod havuzunda her satır bir koddur ama her kod satılabilir değildir. Kod; yüklendi, rezerve edildi, satıldı, iptal edildi, süresi geçti, iade edildi gibi durumlardan birinde olabilir. Panelin sana gösterdiği sayı, yalnızca satılabilir durumdaki kodları sayar. Dolayısıyla tabloda beş yüz satır olabilir ve panel sıfır gösterebilir; ikisi de doğrudur.

Bu yüzden ilk hamle asla yedek değil, durum dağılımını çıkarmaktır. Duruma göre gruplanmış basit bir sayım, sana problemin adını doğrudan söyler. Beş yüz kodun dört yüz doksanı rezerve durumundaysa sorun rezervasyondur. Hepsi yüklendi durumundaysa ama panel sıfır diyorsa sorun eşleşmededir. Hiçbiri okunamıyorsa sorun şifreleme anahtarındadır. Teşhis bu kadar hızlı ayrışır.

Askıda kalan rezervasyonlar havuzu nasıl kilitler?

Müşteri ödeme adımına geçtiğinde sistem, kodu başkasına satmamak için ayırır. Buna rezervasyon denir ve doğru kurgulanmışsa bir ömrü vardır: müşteri ödemeyi tamamlamazsa kod belirli süre sonra otomatik olarak havuza döner. Süre tanımlanmamışsa veya serbest bırakma görevi çalışmıyorsa, her terk edilen sepet havuzdan bir kod koparır ve bir daha geri vermez.

Yoğun bir kampanya gününde bu durum saatler içinde havuzu tamamen tüketebilir. En can sıkıcı yanı da şu: sen satış yapamazken kodlar aslında hiç kimseye teslim edilmemiş halde askıda bekler. Bunu fark etmenin en kolay yolu, rezerve durumundaki kodların rezervasyon zamanına bakmaktır. Saatler ya da günler öncesine ait rezervasyonlar görüyorsan mekanizma bozuktur. Sağlıklı bir dijital ürün satış scripti bu kodları arka planda düzenli olarak tarar ve süresi dolanları serbest bırakır.

DurumPanelde stok sayılır mıHavuzu kilitler miOtomatik çözülür mü
YüklendiEvetHayır-
RezerveHayırEvetSüre tanımlıysa evet
SatıldıHayırKalıcıHayır
İptalHayırEvetElle geri alınır
Süresi geçtiHayırEvetHayır
OkunamıyorHayırEvetAnahtar düzeltilirse evet

Kupür ve ürün eşleşmesi neden en sık sessiz hata?

Kodlar ürüne değil, ürünün belirli bir kupürüne veya varyantına bağlanır. Yüklerken yanlış varyantı seçtiysen kodlar sisteme girer, sayılır, dururlar ama satışa çıkan varyantın havuzu boş kalır. Panelde iki farklı yerde iki farklı sayı görürsün ve hangisinin doğru olduğunu anlamaya çalışırken vakit kaybedersin.

Aynı tuzak çoklu mağaza veya şube yapısında da karşına çıkar. Kod bir mağaza kapsamına yazılmışsa diğer mağazadan görünmez. Bayi paneli üzerinden satış yapıyorsan, bayiye tanımlı fiyat listesiyle havuzun bağlı olduğu liste farklıysa yine boş görünür. Bu tür kapsam hataları asla hata mesajı üretmez; sadece sıfır gösterir. Bu yüzden içe aktarma ekranında hedef varyantın, mağazanın ve fiyat listesinin açıkça doğrulanması gerekir.

Boş görünen kod havuzunun gerçek nedenleri

  • Askıda kalan rezervasyon 40%
  • Yanlış kupür veya mağaza eşleşmesi 30%
  • Şifreleme veya içe aktarma hatası 20%
  • Gerçekten tükenen stok 10%

Şifreleme anahtarı değiştiyse kodlar okunamaz hale gelir mi?

Evet ve bu, listenin en can yakıcı maddesidir. Kodlar veritabanında açık metin olarak tutulmamalıdır; şifrelenmiş saklanır. Şifreleme anahtarı bir yapılandırma dosyasında veya sunucu ortam değişkeninde durur. Sunucu taşındığında, dosya yeniden oluşturulduğunda ya da anahtar farkında olmadan değiştirildiğinde eski kodlar çözülemez hale gelir.

Bu durumda sistem kodu geçersiz sayar ve satılabilir havuzdan çıkarır. Satır sayısı yerindedir, durum alanı bile doğru görünebilir ama teslim aşamasında anlamsız karakterler çıkar veya kod hiç gösterilmez. Çözüm yedekten dönmek değil, doğru anahtarı geri koymaktır. Bu yüzden anahtarın nerede durduğunu bilmek ve onu site dosyalarının dışında, ayrı yedeklenen bir yerde tutmak kritiktir. Pinova bu anahtarı barındırma kök dizininin dışında tutar ve içe aktarma sırasında örnek bir kodu deneme amaçlı çözerek anahtarın doğruluğunu peşin peşin doğrular.

İçe aktarma dosyası havuzu nasıl boşa düşürür?

Kodları dosyayla yüklüyorsan üç ayrıntı her şeyi belirler: ayırıcı karakter, kodlama ve sütun sırası. Yanlış ayırıcı seçilirse tüm satır tek hücreye girer ve kod alanı boş kalır. Dosya başında görünmeyen bir karakter varsa ilk kod bozulur. Sütun sırası şaşarsa kod alanına seri numarası, seri numarası alanına kod yazılır ve teslim sırasında müşteri yanlış veriyi görür.

Bu hataların ortak özelliği, içe aktarmanın başarılı görünmesidir. Sistem sana kaç satır eklediğini söyler, sen de işin bittiğini sanırsın. Bu yüzden içe aktarmadan sonra tek bir kodu örnekleyip gözle doğrulamak, kaybedilecek en kârlı otuz saniyedir. Olgun bir epin yazılım akışında bu doğrulama zorunlu bir adım olarak akışa gömülüdür; ilk üç satırın önizlemesi gösterilmeden aktarma tamamlanmaz.

KontrolNe yapılırDoğru sonuçSüre
Durum dağılımıKodları duruma göre sayYüklendi sayısı beklenenle aynı1 dk
Rezervasyon yaşıEn eski rezervasyon zamanına bakZaman aşımı süresinden yeni2 dk
Varyant kapsamıKodun bağlı kupürünü doğrulaSatışa açık varyantla aynı2 dk
Mağaza ve fiyat listesiKapsam alanlarını karşılaştırBayi listesiyle uyumlu3 dk
Anahtar testiTek kodu çözmeyi deneOkunabilir çıktı2 dk
Aktarma örneğiİlk ve son satırı inceleSütunlar doğru yerde1 dk
Havuzu asla elle sıfırlamaya kalkma

Rezerve kodları topluca yüklendi durumuna çevirmek, ödemesi tamamlanmış siparişlerin kodunu ikinci bir müşteriye satmana yol açar. Önce eşleşmesi olmayan rezervasyonları ayır, sonra sadece onları serbest bırak.

Kalıcı çözüm hangi dört mekanizmadan geçer?

Birincisi süreli rezervasyon: her ayrılan kodun bir son kullanma anı olmalı ve arka plan görevi bunu düzenli olarak temizlemeli. İkincisi kapsam doğrulaması: içe aktarmada hedef varyant, mağaza ve fiyat listesi ekranda açıkça onaylanmalı. Üçüncüsü anahtar sağlığı: sistem her gün bir örnek kodu çözerek şifreleme anahtarının yerinde olduğunu kontrol etmeli ve bozulduğunda seni uyarmalı.

Dördüncüsü ise eşik uyarısı: havuz belirli sayının altına indiğinde müşteri değil sen haberdar olmalısın. Bu dördü birlikte çalıştığında boş havuz vakası bir kriz olmaktan çıkar, sıradan bir bildirime dönüşür. Özellikler bölümünde bu mekanizmaların nasıl birbirine bağlandığını, fiyat sayfasında hangi paketle geldiğini görebilirsin.

Havuzun bir daha boş görünmesin

Süreli rezervasyon, kapsam doğrulaması, anahtar sağlığı ve eşik uyarısı tek panelde birlikte çalışsın.

Kodlar tabloda duruyor ama panel sıfır gösteriyor, ne yapmalıyım?

Önce kodları duruma göre sayarak dağılımı çıkar. Çoğu rezerve durumundaysa askıda kalan rezervasyon vardır; hepsi yüklendi durumundayken panel sıfır diyorsa kupür, mağaza veya fiyat listesi kapsamı yanlış eşleşmiştir.

Rezerve kodları topluca serbest bırakmak güvenli mi?

Hayır. Topluca serbest bırakmak, ödemesi tamamlanmış siparişlerin kodunu ikinci bir müşteriye satma riski doğurur. Yalnızca geçerli bir siparişle eşleşmeyen ve zaman aşımını geçmiş rezervasyonlar serbest bırakılmalıdır.

Şifreleme anahtarını kaybettim, kodlar kurtarılabilir mi?

Anahtar olmadan şifreli kodlar çözülemez. Bu yüzden anahtar site dosyalarından ayrı bir yerde tutulmalı ve ayrıca yedeklenmelidir. Anahtarın eski bir kopyası varsa geri koyularak havuz tekrar okunabilir hale gelir.

İçe aktarma başarılı dedi ama kodlar bozuk geldi, sebebi ne?

Genellikle ayırıcı karakter, dosya kodlaması veya sütun sırası yanlıştır. Aktarma satır sayar ve başarılı görünür ama kod alanı boş ya da kaymış olur. Aktarmadan sonra mutlaka bir örnek kodu gözle doğrula.

Boş görünen bir kod havuzu neredeyse hiçbir zaman kayıp stok anlamına gelmez; çoğu zaman sistemin sana durum, kapsam veya anahtar hakkında bir şey söylemeye çalıştığı andır. Bu dört kontrolü alışkanlık haline getirdiğinde havuz yönetimi tahminden çıkar, ölçüme dönüşür. Süreli rezervasyonun ve kapsam doğrulamasının gerçek bir panelde nasıl davrandığını görmek için canlı demo içinde birkaç kod yükleyip sepeti kasten yarı yolda bırakarak kodun kendi kendine havuza döndüğünü izleyebilirsin.

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