Dette dokument findes foreløbig kun på tyrkisk.

Vitrin olayları

Ziyaretçinin vitrinde yaptıklarını window.piyodo ile tarayıcıda dinle: sayfa görüntüleme, ürün, sepet, arama, ödeme ve form olayları. Özel script ve tema kodu kullanabilir.

Dinleme

js
window.piyodo.on('add_to_cart', (event) => {
    console.log(event.product_id, event.quantity);
});

window.piyodo.on('*', (event, name) => {
    console.log(name, event);
});

on(olay, fn) dinleyiciyi ekler, * tüm olayları alır. Dinleyici (veri, olay adı) ile çağrılır. Dönen işlev dinlemeyi bırakır:

js
const stop = window.piyodo.on('search', (event) => console.log(event.query));
stop();

Geç bağlanan dinleyici o sayfadaki geçmiş olayları da alır: çerez onayından sonra yüklenen script page_view olayını kaçırmaz. Dinleyicide çıkan hata vitrini durdurmaz, konsola yazılır.

Olaylar

Olay Veri
page_view path, type
product_view id, name, price, currency
view_collection slug, name, count
search query, count
view_cart
add_to_cart id, product_id, variant_id, quantity
remove_from_cart id, product_id, variant_id, quantity
add_to_wishlist product_id
begin_checkout currency
complete_checkout order, value, currency, items
contact_form Form gönderilirken, veri yok
newsletter_signup Bülten formu gönderilirken, veri yok

page_view.type değerleri: home, product, collection, cart, checkout, search, order, account, page, other.

add_to_cart ve remove_from_cart içinde quantity değişen adettir. id sepet satırının kimliğidir; product_id ve variant_id ürünü verir.

complete_checkout aynı tarayıcıda sipariş başına bir kez gelir, sipariş sayfası yenilense de tekrarlanmaz.

Ödeme sayfalarında dinleme

begin_checkout ve complete_checkout ödeme ve sipariş sayfalarında olur. Özel script varsayılan olarak bu sayfalarda çalışmaz: bu olayları dinleyecek scriptte Tüm sayfalar seçeneğini aç. Ödeme sayfasında çalışan kod müşterinin yazdığı bilgileri görebilir, yalnız güvendiğin kodla yap. Ayrıntı Özel script sayfasında.

Örnek: satışı kendi aracına gönderme

js
window.piyodo.on('complete_checkout', (event) => {
    navigator.sendBeacon('https://analiz.ornek.com/satis', JSON.stringify({
        order: event.order,
        value: event.value,
        currency: event.currency,
    }));
});

Müşteri girişi

Müşteri girişi ve üyelik olayları yok: vitrin sayfaları önbelleklidir, giriş durumu sayfada bulunmaz. Müşteri kaydını sunucudan izlemek için customer.created webhook'unu kullan.