Wat je leert

Hoe je Klaviyo Customer Hub — of losse Klaviyo-webchat — vanuit je eigen storefront-code kunt bedienen met de window.customerHubApi JavaScript-API. Je opent en sluit de ervaring, navigeert naar een specifiek scherm, verstuurt namens de shopper een chatbericht en luistert naar events zoals toevoegen aan winkelwagen.

Voordat je van start gaat

Je hebt nodig:

  • Klaviyo Customer Hub is ingesteld en geladen op je storefront. Als je een headless of aangepaste storefront hebt, volg dan eerst Hoe je Klaviyo Customer Hub instelt met Headless Shopify — daarin lees je hoe je de onsite loader toevoegt die deze API beschikbaar maakt.
  • Mogelijkheid om de code van je webshop te bewerken en te implementeren.

Wat de Klaviyo Customer Hub-API is

Wanneer Klaviyo Customer Hub – of de losse Klaviyo-webchat – op je webshop wordt geladen, voegt Klaviyo een kleine JavaScript-API toe aan het globale window -object als window.customerHubApi. Je kunt die gebruiken om de ervaring te openen, te sluiten en ermee te werken vanuit je eigen code – bijvoorbeeld vanuit een aangepaste knop, banner of productpagina.

Werkt ook met webchat. Dezelfde API is beschikbaar, of je nu de volledige Klaviyo Customer Hub uitvoert of alleen de stand-alone Klaviyo-webchat. webchat ondersteunt minder functies dan Klaviyo Customer Hub, dus sommige van de onderstaande schermen en gebeurtenissen zijn daar niet beschikbaar. Welke schermen beschikbaar zijn, hangt in de regel af van de functies die voor je webshop zijn ingeschakeld. navigeren naar een scherm dat niet is ingeschakeld, keert terug naar het startscherm.

Tip: Klaviyo Customer Hub laadt asynchroon. Controleer altijd of window.customerHubApi bestaat voordat je een methode aanroept, zodat je code geen fout geeft als die wordt uitgevoerd voordat de Hub klaar is.

javascript
if (window.customerHubApi) {
  window.customerHubApi.open();
}

Methoden

open(route?)

Opent de lade van Klaviyo Customer Hub.

  • route (string, optioneel) — een pad om naartoe te navigeren bij het openen. Als je dit weglaat, opent de Hub op het scherm dat het als laatste liet zien.
javascript
// Open the Hub on its default screen
window.customerHubApi.open();

// Open the Hub directly to a specific screen
window.customerHubApi.open('/orders');

Beschikbare routes

Route

Scherm

/

Home

/chat

Chat

/orders

Bestellingen

/cart

Winkelwagen

/faq

Veelgestelde vragen

/profile

Profiel

/coupons

Coupons

/rewards

Beloningen/loyaliteit

/wishlist (of /favorites)

Verlanglijst

/recently-viewed

Onlangs bekeken producten

/recommended-products

Aanbevolen producten

Welke schermen beschikbaar zijn, hangt af van de functies die voor je webshop zijn ingeschakeld. Als je naar een scherm navigeert dat niet is ingeschakeld, keer je terug naar het startscherm.

close()

Sluit de Klaviyo Customer Hub-lade. De Hub blijft op het huidige scherm staan, dus opnieuw openen met open() (geen route) brengt de klant terug naar waar ze waren gebleven.

javascript
window.customerHubApi.close();

sendChatMessage(message)

Opent de Klaviyo Customer Hub in het chatscherm en verzendt een bericht namens de klant. Dit is handig voor de knoppen Chatten over dit product of Hulp vragen.

  • message (string) — het bericht dat je moet verzenden.
javascript
window.customerHubApi.sendChatMessage('I have a question about my order.');

Wanneer inloggen vereist is: Als je webshop klanten vraagt om in te loggen voordat ze kunnen chatten (en de AI-agent niet is ingeschakeld), wordt de klant naar het chatscherm gebracht waar ze eerst moeten inloggen. Het bericht wordt tijdelijk opgeslagen en automatisch verzonden zodra de klant is ingelogd. Het opgeslagen bericht verloopt na ongeveer 10 minuten als het inloggen niet is voltooid.

getActiveConversationId()

Retourneert de conversationId voor het actieve gesprek dat in de lade plaatsvindt. Retourneert null als er geen gesprek gaande is.

javascript
window.customerHubApi.getActiveConversationId();

Gebeurtenissen bekijken

window.customerHubApi.events laat je aanmelden voor gebeurtenissen die plaatsvinden in Klaviyo Customer Hub.

addtocart

Gaat af wanneer klanten een product toevoegen aan hun winkelwagen vanuit de Hub. Gebruik het om de winkelwagen van je webshop gesynchroniseerd te houden.

javascript
window.customerHubApi.events.addEventListener('addtocart', (event) => {
  // event.detail.items is an array of { variantId, quantity }
  event.detail.items.forEach((item) => {
    console.log('Added to cart:', item.variantId, 'x', item.quantity);
  });
});

Eigenschap

Type

Beschrijving

event.detail.type

'addtocart'

Het gebeurtenistype.

event.detail.items

Array<{ variantId: string; quantity: number }>

Het productvariatie dat aan winkelwagen is toegevoegd.

Volledig voorbeeld

Een knop Chatten over dit product die de Hub opent en een bericht verzendt, plus een listener die de winkelwagen van de webshop synchroniseert wanneer een shopper een artikel vanuit de Hub toevoegt:

html
<button id="ask-about-product">Ask us about this product</button>

<script>
  document
    .getElementById('ask-about-product')
    .addEventListener('click', () => {
      if (window.customerHubApi) {
        window.customerHubApi.sendChatMessage(
          'I have a question about this product.'
        );
      }
    });

  // Sync the storefront cart when a customer adds an item from the Hub
  if (window.customerHubApi) {
    window.customerHubApi.events.addEventListener('addtocart', (event) => {
      refreshStorefrontCart(event.detail.items);
    });
  }
</script>

Extra hulpbronnen

Set up and extend Customer Hub on your storefront.

Was dit artikel nuttig?
Gebruik dit formulier alleen voor feedback op artikelen. Meer informatie over hoe je contact opneemt met support.

Ontdek meer van Klaviyo

Community
Maak contact met collega's, partners en Klaviyo-experts om inspiratie op te doen, inzichten te delen en antwoorden te krijgen op al je vragen.
Partners
Huur een Klaviyo-gecertificeerde expert in om je te helpen met een specifieke taak of voor doorlopend marketingbeheer.
Support

Krijg ondersteuning via je account.

E-mailsupport (gratis proefperiodes en betaalde accounts) 24/7 beschikbaar

Chat-/virtuele assistentie
Beschikbaarheid varieert per locatie en type abonnement