İletişim

Alışveriş Sepeti Nedir?

Kısa tanım

Alışveriş sepeti, bir e-ticaret sitesinde ziyaretçinin satın almak üzere seçtiği ürünleri, adetlerini ve seçilen varyantları ödeme adımına geçene kadar tutan bileşendir. Sepet, ürün ekleme ve çıkarma, adet değiştirme, kupon uygulama ve ara toplamı gösterme işlerini üstlenir; içeriği tarayıcıda, oturumda veya kullanıcı hesabına bağlı olarak veritabanında saklanabilir.

Diğer adları: sepet, shopping cart, cart, basket, mini sepet

Tarayıcının sepete ürün eklediği, sepetin oturumda saklandığı ve ara toplamla ödeme adımına geçildiği istek akışı

Sepet verisi nerede yaşar?

Sepet basit görünen ama birkaç mimari karar gerektiren bir bileşendir. Üç yaygın model vardır:

  • Yalnızca tarayıcıda: sepet içeriği bir çerez ya da localStorage içinde tutulur. Kurulumu kolaydır, ancak cihaz değişince sepet kaybolur ve sunucu, kullanıcı ödemeye geçene kadar sepetten habersizdir.
  • Sunucu tarafında, oturuma bağlı: tarayıcıda yalnızca bir sepet kimliği bulunur; içerik sunucuda, çoğu zaman oturum deposunda veya veritabanında tutulur.
  • Kalıcı sepet: giriş yapmış kullanıcının sepeti hesabına bağlanır; telefonda eklenen ürün bilgisayarda da görünür.

Misafir olarak ürün ekleyip sonra giriş yapan kullanıcı en çok hata çıkan senaryodur. İki sepetin birleştirilmesi, aynı ürünün adetlerinin toplanması ve stokta kalmayan kalemlerin ayıklanması için açık bir kural belirlenmezse kullanıcı ya ürünlerini kaybeder ya da sepetinde beklemediği adetlerle karşılaşır.

Sepete eklemek stok ayırmak demek değildir

Bir ürünü sepete koymak, çoğu mağazada o ürünü kullanıcı için ayırmaz. Stok genellikle sipariş oluşturulurken ya da ödeme başlatılırken düşülür. Kampanya dönemlerinde bu fark önem kazanır: aynı son ürünü yüzlerce kişi sepetine eklemiş olabilir. Bazı mağazalar ödeme adımına geçildiğinde stoğu birkaç dakikalığına rezerve eder ve süre dolunca serbest bırakır. Hangi yöntem seçilirse seçilsin, sepette gösterilen “son 2 ürün” gibi uyarıların canlı veriden gelmesi gerekir.

Fiyatı tarayıcıya bırakmamak

Sepet güvenliğinde temel kural şudur: tarayıcı yalnızca neyin istendiğini söyler, ne kadar tutacağını sunucu hesaplar. İstemciden gelen istek ürün kimliği ve adetten ibaret olmalıdır:

POST /api/cart/items
Content-Type: application/json

{"sku": "TSH-PMK-KRM-M", "quantity": 2}

Birim fiyat, indirim, vergi ve kargo tutarı her seferinde sunucuda katalogdan ve kampanya kurallarından yeniden hesaplanır. İstek gövdesinde price alanını kabul eden bir sepet, tarayıcı araçlarıyla fiyatı değiştiren birine kapıyı açık bırakır. Aynı mantık kuponlar için de geçerlidir: kuponun geçerliliği ve kullanım limiti sunucuda denetlenir.

Önbellek ve arama motorları

Sepet sayfası kişiye özeldir ve paylaşılan bir önbellekte saklanmamalıdır. CDN veya reverse proxy bir kullanıcının sepetini önbelleğe alırsa başka biri o sepeti görebilir. Bu yüzden sepet yanıtları Cache-Control başlığında private, no-store ile işaretlenir; ürün sayfasının önbellekli HTML'inde sepet sayacı varsa bu değer sonradan, ayrı bir istekle doldurulur.

Sepet sayfasının aramada bir değeri yoktur. Asıl tarama sorunu “sepete ekle” işleminin ?add-to-cart=123 gibi GET bağlantılarıyla yapılmasıdır: tarayıcı botlar bu bağlantıları izleyerek binlerce anlamsız URL üretir ve sunucuya gereksiz yük bindirir. Durum değiştiren işlemler bağlantı yerine form gönderimi veya POST isteğiyle yapılmalıdır.

Sepet davranışını ölçmek

Sepete ekleme, sepetten çıkarma ve sepeti görüntüleme, dönüşüm hunisinin ilk ticari adımlarıdır. Bu olaylar ürün ve tutar bilgisiyle birlikte kaydedildiğinde hangi ürünlerin sepete girip satın alınmadığı görülebilir. Sepetten ödeme adımına geçiş oranındaki ani bir düşüş, çoğu zaman kargo ücretinin bu aşamada ilk kez gösterilmesi gibi somut bir nedene işaret eder ve terk edilen sepet analizinin başlangıç noktasıdır.

İlgili terimler

← Sözlüğe dön