Du kommer att lära dig

Så styr du Klaviyo Customer Hub – eller fristående Klaviyo Webbchatt – från din egen butiksfrontskod med hjälp av JavaScript-API:t window.customerHubApi. Du öppnar och stänger upplevelsen, navigerar till en specifik skärm, skickar ett chattmeddelande för kundens räkning och lyssnar på händelser som lägg till i kundvagn.

Innan du börjar

Du behöver:

  • Klaviyo Customer Hub är installerat och inläst på din webbplatsbutik. Om du använder en headless- eller anpassad webbplatsbutik följer du först Så konfigurerar du Klaviyo Customer Hub med Headless Shopify – där beskrivs hur du lägger till onsite loader som gör detta API tillgängligt.
  • Möjlighet att redigera och driftsätta din skyltfönsterkod.

Vad Klaviyo Customer Hub API är

Varje gång Klaviyo Customer Hub – eller fristående Klaviyo Webbchatt – läses in på din webbplats kopplar Klaviyo ett litet JavaScript-API till det globala window -objektet som window.customerHubApi. Du kan använda det för att öppna, stänga och interagera med upplevelsen från din egen kod – till exempel från en anpassad knapp, banner eller produktsida.

Fungerar även med webbchatt. Samma API är tillgängligt oavsett om du kör hela Klaviyo Customer Hub eller bara fristående Klaviyo-webbchatt. Webbchatt har färre funktioner än Klaviyo Customer Hub, så vissa av skärmarna och händelserna som beskrivs nedan är inte tillgängliga där. Vilka skärmar som är tillgängliga beror som regel på vilka funktioner som är aktiverade för din butik – att navigera till en som inte är aktiverad återgår till startskärmen.

Tips: Klaviyo Customer Hub läses in asynkront. Kontrollera alltid att window.customerHubApi finns innan du anropar en metod, så att din kod inte ger ett fel om den körs innan Hubben är redo.

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

Metoder

open(route?)

Öppnar Klaviyo Customer Hub-lådan.

  • route (sträng, valfritt) – en sökväg att navigera till när den öppnas. Om det utelämnas öppnas Hubben på den skärm som senast visades.
javascript
// Open the Hub on its default screen
window.customerHubApi.open();

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

Tillgängliga rutter

Rutt

Skärm

/

Hem

/chat

Chatt

/orders

Beställningar

/cart

Kundvagn

/faq

Vanliga frågor

/profile

Profil

/coupons

Kuponger

/rewards

Belöningar/lojalitet

/wishlist (eller /favorites)

Önskelista

/recently-viewed

Nyligen visade produkter

/recommended-products

Rekommenderade produkter

Vilka skärmar som är tillgängliga beror på vilka funktioner som är aktiverade för din butik. Att navigera till en skärm som inte är aktiverad går tillbaka till startskärmen.

close()

Stänger Klaviyo Customer Hub-lådan. Hubben stannar på sin nuvarande skärm, så om du öppnar den igen med open() (ingen rutt) hamnar kunden där de slutade.

javascript
window.customerHubApi.close();

sendChatMessage(message)

Öppnar Klaviyo Customer Hub på chattskärmen och skickar ett meddelande för kundens räkning – användbart för knapparna ”Chatta om denna produkt” eller ”Få hjälp”.

  • message (sträng) – meddelandet som ska skickas.
javascript
window.customerHubApi.sendChatMessage('I have a question about my order.');

När inloggning krävs: Om din butik kräver att kunder loggar in innan de chattar (och Klaviyo AI Agent inte är aktiverad) kommer kunden till chattskärmen för att logga in först. Meddelandet sparas tillfälligt och skickas automatiskt när inloggningen är klar. Det sparade meddelandet upphör att gälla efter cirka 10 minuter om inloggningen inte är slutförd.

getActiveConversationId()

Returnerar conversationId för den aktiva konversationen som pågår i lådan. Returnerar null om ingen konversation pågår.

javascript
window.customerHubApi.getActiveConversationId();

Lyssna efter evenemang

window.customerHubApi.events låter dig prenumerera på händelser som sker i Klaviyo Customer Hub.

addtocart

Utlöses när en kund lägger till en produkt i sin kundvagn från hubben. Använd den för att hålla din kundvagn i synk.

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);
  });
});

Egenskap

Typ

Beskrivning

event.detail.type

'addtocart'

Händelsetypen.

event.detail.items

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

De produktvarianter som lagts till i varukorgen.

Fullständigt exempel

En ”Chatta om den här produkten”-knapp som öppnar hubben och skickar ett meddelande, plus en lyssnare som synkroniserar skyltfönstervagnen när en kund lägger till en vara från hubben:

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>

Ytterligare resurser

Set up and extend Customer Hub on your storefront.

Var den här artikeln till hjälp?
Använd endast detta formulär för feedback på artiklar. Lär dig hur du kontaktar support.

Utforska mer från Klaviyo

Community
Få kontakt med kollegor, partner och Klaviyo-experter för att hitta inspiration, dela insikter och få svar på alla dina frågor.
Partners
Anlita en Klaviyo-certifierad expert för att hjälpa dig med en specifik uppgift eller för löpande marknadsföringshantering.
Support

Få tillgång till support via ditt konto.

E-postsupport (gratis provperiod och betalkonton) Tillgänglig dygnet runt, alla dagar i veckan

Chatt/virtuell hjälp
Tillgängligheten varierar beroende på plats och abonnemangstyp