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.

sendConversationContext(context)

Zet achtergrondcontext die buiten het chatgesprek is verzameld – zoals antwoorden uit een enquête vóór de chat – in de wachtrij om mee te sturen met het volgende chatbericht van de klant. Klaviyo slaat deze context vervolgens op en gebruikt deze als referentie voor de rest van dat gesprek.

  • context (object) — een survey-response-object dat een entries -array bevat. Elke vermelding moet een question en een answer bevatten.
javascript
window.customerHubApi.sendConversationContext({
  type: 'survey-response',
  entries: [
    { question: 'What color are you interested in?', answer: 'Red' },
  ],
});

Wat dit wel doet – en niet doet. Roep dit aan vóór het eerste chatbericht van de klant. De context wordt in de browser in de wachtrij gezet en met dat volgende bericht verzonden; als je de pagina vernieuwt, wordt alles gewist dat nog in de wachtrij staat. Deze methode opent Klaviyo Customer Hub niet, vraagt de klant niet om in te loggen en genereert niet vanzelf een antwoord. Momenteel is survey-response het enige ondersteunde contexttype.

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.

  • How to set up Customer Hub with Headless Shopify

    Connect Klaviyo Customer Hub to your headless Shopify storefront. Enable login, surface widgets (Favorites, FAQs), and power Active/Recently Viewed product experiences to lift engagement and conversion.

  • Getting started with Customer Hub on Shopify

    Learn about Customer Hub, a unique personalized experience for online store visitors that guides them from product discovery through purchase and post-purchase support.

  • How to create FAQs for your Customer Hub and product pages

    Learn how to create and manage Frequently Asked Questions (FAQs) to display in your site’s Customer Hub interface and on product detail pages. Highlighting FAQs helps you proactively address common customer questions while reducing repetitive inquiries for your support team.

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