Akinon Sepet ve Sipariş
Sepete ekleme, sepet tutarı, sipariş ve kimlik
Akinon mağazasında öneri kartından sepete ekleme, sepet tutarının okunması, sipariş takibi ve kullanıcı kimliği. Script ve veri katmanı ayarı için önce Akinon sayfasını tamamlayın.
Sepete ekleme
Ziyaretçi öneri ya da arama kartındaki düğmeye bastığında Selwise mağazanın sepet API'sine kendisi istek atar. Öneri formunda ve arama formunda sepet platformu olarak Akinon seçili olmalıdır.
| Yığın | Uç nokta |
|---|---|
| Project Zero | POST /baskets/basket/ |
| Omnife Next | POST /api/client/baskets/basket/ (mağazanın kendi proxy'si; contentType seçeneğiyle) |
Selwise sayfadan hangi yığın olduğunu tahmin edip o uç noktayı önce dener. Yalnızca 404 ya da 405 gelirse diğerini dener; 403 gibi gerçek bir cevap ikinci kez gönderilmez, böylece ürün iki kez eklenmez. Ekleme başarılı olunca Selwise mağazanın başlık sayacını ve mini sepetini yeniler (refresh-basket olayı).
Sepet kodu
Akinon sepeti ürünü yalnızca numerik pk ile kabul eder ve sku'yu reddeder. Beslemenizde pk adlı bir sütun varsa Selwise onu kendiliğinden sepet kodu olarak okur; başka adlıysa Catalog → Product Feed alan eşlemesindeki Add-to-Cart Code (Sepete Ekleme Kodu) satırına yazın. Eşleme yoksa Selwise ürünün kendi kodunu (sku) gönderir, istek reddedilir ve düğme hata durumuna geçer. Ayrıntı: Varyant Gruplama.
CSRF token'ı ham göndermeyin
Project Zero'da window.GLOBALS.csrf_token bir token değildir; şablon onu tam bir gizli input HTML'i olarak basar. Kendi kodunuzda bu değeri doğrudan X-CSRFToken başlığına koyarsanız sessiz bir 403 alırsınız. Selwise değeri ayrıştırıp içindeki gerçek token'ı kullanır.
Bedenli ürünler
Akinon'da her beden kendi pk'sı olan ayrı bir üründür. Beslemeniz beden başına satır taşıyorsa kart bedenleri kendisi gösterir. Taşımıyorsa, ziyaretçi ilk kez sepete ekle dediğinde widget ürünün bedenlerini mağazanın kendi adresinden bir kez okur (Project Zero'da ürün adresi ile ?format=json, Omnife Next'te /api/client/product/pk/). Birden çok beden varsa önce seçici çizilir ve ekleme ziyaretçi seçene kadar bekler.
Sepet tutarının okunması
Hedef çubuğu gibi tutar yazan yüzeyler, sepetin tamamını bilen bir kaynak ister. Akinon'da widget aynı sepet uç noktalarını GET ile okur ve total_amount (indirimler düşülmüş tutar) ile total_quantity değerlerini alır. Okuma sayfa açılışında, sepet hareketinden yarım saniye sonra ve sekmeye dönüldüğünde yapılır; sürekli sorgulama yoktur. Para birimi sepetten gelmez, kanalın para birimi kullanılır.
Bu okuma yalnızca kanalın veri katmanı platform ön ayarı Akinon olarak açıkça seçiliyse ve kanalda sepet okuyan bir yüzey (hedef çubuğu ya da "ücretsiz kargoyu tamamla" şeridi) varsa çalışır. Sonucu Channels → Channel Overview sayfasındaki Cart value satırı gösterir. Ayrıntı: Hedef Çubuğu.
Sipariş takibi
Sipariş iki yoldan gelebilir. İkisi birlikte de güvenlidir: aynı sipariş numarası ikinci kez gelirse sunucu onu yok sayar.
- Veri katmanı. Project Zero'nun
eepurchaseolayıpurchaseolarak okunur. Olayda sipariş numarası ve ürünler yoksa sipariş kaydı oluşmaz. trackOrder(önerilen). Teşekkür sayfası şablonunun sonuna ekleyin. Scriptasyncyüklendiğinden çağrı, widget gelene kadar kuyruğa alınır.
<script>
window.Selwise.trackOrder({
orderId: 'SIPARIS_NO',
currency: 'TRY',
total: 1299.9,
items: [
{ productItemCode: 'URUN_SKU', name: 'Ürün adı', quantity: 1, unitPrice: 1299.9 }
]
});
</script>
orderIdzorunludur.trackOrderid'yiorderId'ye, kalemdeproductId/sku'yuproductItemCode'a,price'ıunitPrice'a çevirir; yine de doğrudan doğru adları yazın. Kimliği olmayan çağrı atlanır ve konsola uyarı düşer.productItemCode, beslemedeki ürün kodu (item_code) ile aynı olmalıdır; Akinon'da bu çoğu projedesku'dur.- Kitteki
selwise-order.htmlşablonuorderId,productItemCodeveunitPricegönderir; eski bir kopyasını kullanıyorsanız güncelleyin.
Tüm alanlar ve tekilleştirme için: Sipariş Takibi.
Kullanıcı kimliği
Akinon'un hazır eşlemesi giriş ve kayıt olaylarını içermez; bu yüzden ziyaretçi, siz bildirene kadar anonim kalır. Giriş yapmış kullanıcının sayfasında kimliği bildirin:
<script>
window.Selwise.identify('KULLANICI_ID', { email: 'kullanici@ornek.com' });
</script>
Kimlik en fazla 64 karakterdir; email, kimliğe bağlanır ve özellik olarak saklanmaz. Ayrıntı: Kimliklendirme.
Arama
Kanalda Selwise araması açıksa sorgular aramanın kendisi tarafından kaydedilir. Mağazanın kendi aramasını izlemek için Data Layer Configuration → Tracking Modules bölümünde Search Tracking (Arama Takibi) açık olmalı ve sorgu gönderilmelidir:
window.selwiseLayer = window.selwiseLayer || [];
window.selwiseLayer.push({ event: 'search_query', search: { query: 'ayakkabı' } });
window.selwiseLayer.push({ event: 'search_results', search: { query: 'ayakkabı', results: 42 } });
Sonuç sayısını search_results ile bildirirseniz sonuçsuz aramalar ayrıca sayılır.
Sık yapılan hatalar
- Sepet kodu eşlenmemiştir; düğme hata verir.
trackOrderiçindeidkullanılmıştır; sipariş hiç gönderilmez.- Platform ön ayarı Auto Detect bırakılmıştır; sepet tutarı okunmaz.
Son güncelleme: 10 Ekim 2026