Back to the webshop
Guides and articles / Diverse funktioner og muligheder / Javascript event _saas_site_event - få adgang til data og handlinger via javascript

Javascript event _saas_site_event - få adgang til data og handlinger via javascript



I forbindelse med at en kunde handler på shoppen, dannes der javascript events som du kan aflæse og sende videre til plugins og eksterne integrationer.

Bemærk at det håndteres automatisk af eksempelvis Facebook Pixel og Google Analytics integrationerne. Hvis en ekstern tjeneste findes som integration, anbefales det at bruge integrationen frem for egen kode.

Alle events bliver sendt til _saas_site_event, men, for nu, kan vi kun love at data tilhørende typen "order_complete" ikke ændrer sig

Til at starte med kan du tage nedenstående kode og indsætte den ved at søge efter "javascript" og gå til "Indsæt egen HTML/CSS/JS kode".

<script>
window.addEventListener('_saas_site_event', function(event){
	var detail = event.detail;
	console.log(detail);
	if(detail.type === 'order_complete')
	{
		// her er gennemført en ordre
	}
	else if(detail.type === 'view_content' && !detail.has_variants)
	{
		// den besøgende kigger enten på en vare uden varianter, eller på en vares variant (noget som kan købes) - undersøg detail objektet for mere data (vare/variantnavn, id osv)
	}
});
</script>

I detail objektet findes nedenstående data ved order_complete:

{
  "type": "order_complete",
  "order_id": "1939",
  "currency": "DKK",
  "total_with_vat": 565.8,
  "total_without_vat": 452.64,
  "total_vat_before_discount": 115.16,
  "total_vat_after_discount": 113.16,
  "shipping_with_vat": 20,
  "shipping_without_vat": 16,
  "payment_with_vat": 0,
  "payment_without_vat": 0,
  "total_for_items_with_vat": 555.8,
  "total_for_items_without_vat": 444.64,
  "items": [
    {
      "id_for_stats": "I:3", // Har vare/variant SKU sat, så bruges denne, hvis ikke og vare/variant har varenummer sat så bruges denne, har vare/variant ingen af disse sat bruges: I:xxx for varer, V:xxx for varianter - xxx = Shopstarts interne id til varen/varianten 
      "item_number": "112361337z37",
      "sku": "",
      "is_variant": false, // Hvis false så er dette blot en vare, hvis true så er det en variant
      "item_title": "Dette er en vare",
      "variant_title": "",
      "price_for_one_with_vat": 277.9,
      "price_for_one_without_vat": 222.32,
      "quantity": 2
    }
  ],
  "customer": [
  	"name": "Test testersen",
  	"email": "test@testersen.com",
  	"email_sha256": "c83539fed9a8f2075b6248c992672b1df799edcaa07ba473467f1c52488b0b64",
  	"phone": "1234567890",
  	"company_name": "My company",
  	"address": "Test road 10",
  	"zip": "12355",
  	"city": "Testville",
  	"country": "Germany",
  ],
  "receiver": [
  	"name": "Test testersens friend",
  	"email": "test@testersensfriend.com",
  	"email_sha256": "c8291832b0edaa306105c11f43217512d5b3c4c7b4898a9304d8c49a5c87dbf4",
  	"phone": "123456782",
  	"company_name": "His company",
  	"address": "Test road 11",
  	"zip": "12355",
  	"city": "Testville",
  	"country": "Germany",
  ],
  "discount_code": "rabat", // Den benyttede rabatkode - Sendes kun hvis der er benyttet rabatkode på ordren
  "discount_with_vat": -10, // Sendes kun hvis der er benyttet rabatkode på ordren
  "discount_without_vat": -8 // Sendes kun hvis der er benyttet rabatkode på ordren
}

Hvis du benytter dig af denne event listener og oplever at du modtager dobbelt data, enten i Facebook eller Google Analytics, så benyt disse variable til at slå de indbyggede kald fra:

window._saas_builtin_facebook_events_skip_this = true; // Send ikke dette event til facebook
window._saas_builtin_google_analytics_events_skip_this = true; // Send ikke dette event til google analytics

Cookies
Hvis du har brug for at vide om en bruger har accepteret nogle specifikke cookies, så kan du benytte denne funktion:
cookies_allowed(cookie_type)
Den modtager kun 1 parameter "cookie_type" som kan være en af disse 3: 'functional', 'statistics', 'marketing'
Så den kan fx. bruges som følger:
if(cookies_allowed('statistics') && cookies_allowed('marketing'))
{
	// Gør noget her
}


Copyright © 2022 ideal.shop. All Rights Reserved.