Informacje dodatkowe o interfejsie API JavaScript Klaviyo Customer Hub
Czego się dowiesz?
Jak kontrolować Klaviyo Customer Hub — lub samodzielny czat online Klaviyo — z poziomu własnego kodu sklepu internetowego za pomocą interfejsu JavaScript API window.customerHubApi. Otworzysz i zamkniesz to środowisko, przejdziesz do konkretnego ekranu, wyślesz wiadomość na czacie w imieniu kupującego i będziesz nasłuchiwać zdarzeń, takich jak dodanie do koszyka.
Kilka słów na początek
Potrzebne będą:
- Klaviyo Customer Hub skonfigurowany i załadowany w Twoim sklepie. Jeśli korzystasz ze sklepu typu headless lub niestandardowego, najpierw postępuj zgodnie z instrukcjami w artykule Jak skonfigurować Klaviyo Customer Hub z Headless Shopify — zawiera informacje o dodaniu modułu ładującego na stronie, który udostępnia to API.
- Możliwość edytowania i wdrażania kodu sklepu.
Czym jest interfejs API Klaviyo Customer Hub
Za każdym razem, gdy na Twoim sklepie wczytuje się Klaviyo Customer Hub — lub samodzielny czat online Klaviyo — Klaviyo dołącza małe API JavaScript do globalnego obiektu window jako window.customerHubApi. Możesz go użyć do otwierania, zamykania i interakcji z tym doświadczeniem z własnego kodu — na przykład z niestandardowego przycisku, banera lub strony produktu.
Działa również z internetem – Mozaika. To samo interfejs API jest dostępne online bez względu na to, czy uruchomisz pełną wersję Klaviyo Customer Hub, czy samodzielny Klaviyo Customer Hub. tajne online obsługuje mniej funkcji niż Klaviyo Customer Hub, w związku z czym niektóre z opisanych poniżej ekranów i zdarzeń nie są tam dostępne. Co do zasady, to, to, jaki ekran będzie dostępny, zależy od funkcji włączoną dla Twojego sklepu – przejście do takiego, który nie jest włączony, powoduje powrót na ekran główny.
Wskazówka: Klaviyo Customer Hub ładuje się asynchronicznie. Zawsze sprawdzaj, czy window.customerHubApi istnieje, zanim wywołasz metodę, aby Twój kod nie zgłosił błędu, jeśli uruchomi się, zanim Hub będzie gotowy.
if (window.customerHubApi) {
window.customerHubApi.open();
}Metody
open(route?)
Otwiera szufladę Klaviyo Customer Hub.
route(ciąg znaków, opcjonalnie) — ścieżka, do której ma przejść podczas otwierania. Jeśli zostanie pominięta, Hub otworzy się na ekranie, który był wyświetlany jako ostatni.
// Open the Hub on its default screen
window.customerHubApi.open();
// Open the Hub directly to a specific screen
window.customerHubApi.open('/orders');Dostępne trasy
Trasa | Ekran |
| Strona główna |
| Czat |
| Zamówienia |
| Koszyk |
| Najczęściej zadawane pytania |
| Profil |
| Kupony |
| Nagrody/lojalność |
| Lista życzeń |
| Ostatnio oglądane produkty |
| Polecane produkty |
To, które ekrany będą dostępne, zależy od funkcji włączonych dla Twojego sklepu. Przejście do ekranu, który nie jest włączony, powoduje powrót do ekranu głównego.
close()
Zamyka panel wysuwany Klaviyo Customer Hub. Hub pozostaje na bieżącym ekranie, więc ponowne otwarcie za pomocą open() (bez trasy) przenosi klienta z powrotem do miejsca, w którym skończył.
window.customerHubApi.close();sendChatMessage(message)
Otwiera Klaviyo Customer Hub na ekranie czatu i przesyła wiadomość w imieniu klienta. Jest to przydatne w przypadku przycisków „Czat na temat tego produktu” lub „Uzyskaj pomoc”.
message(string) — wiadomość do wysłania.
window.customerHubApi.sendChatMessage('I have a question about my order.');Gdy logowanie jest wymagane: jeśli Twój sklep wymaga, aby klienci się zalogowali przed rozpoczęciem czatu (a Agent AI jest wyłączony), klient zostanie przeniesiony do ekranu Czatu, aby się zalogować. Wiadomość zostanie tymczasowo zapisana i wysłana automatycznie po zakończeniu logowania. Zapisana wiadomość wygasa po około 10 minutach, jeśli logowanie nie zostało ukończone.
sendConversationContext(context)
Kolejkuje kontekst zebrany poza rozmową na czacie — np. odpowiedzi z ankiety przed czatem — aby wysłać go wraz z następną wiadomością czatu od klienta. Klaviyo następnie zapisuje ten kontekst i odwołuje się do niego przez resztę tej rozmowy.
context(object) — obiekt odpowiedzi na ankietę zawierający tablicęentries. Każdy wpis musi zawieraćquestionianswer.
window.customerHubApi.sendConversationContext({
type: 'survey-response',
entries: [
{ question: 'What color are you interested in?', answer: 'Red' },
],
});Co to robi — a czego nie robi. Wywołaj to przed pierwszą wiadomością na czacie od klienta. Kontekst jest kolejkowany w przeglądarce i wysyłany wraz z następną wiadomością; odświeżenie strony usuwa wszystko, co nadal czeka w kolejce. Ta metoda nie otwiera Klaviyo Customer Hub, nie prosi klienta o zalogowanie się ani nie generuje samodzielnie odpowiedzi. Obecnie survey-response jest jedynym obsługiwanym typem kontekstu.
getActiveConversationId()
Zwraca conversationId dla aktywnej konwersacji prowadzonej w wysuwanym panelu. Zwraca null, jeśli nie trwa żadna konwersacja.
window.customerHubApi.getActiveConversationId();Nasłuchuj zdarzeń
window.customerHubApi.events umożliwia subskrybowanie zdarzeń, które dzieją się w Klaviyo Customer Hub.
addtocart
Uruchamiany, gdy klient dodaje do koszyka produkt z poziomu Hubu. Użyj go, aby zsynchronizować koszyk w sklepie.
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);
});
});Właściwość | Typ | Opis |
|
| Typ zdarzenia. |
|
| Wariant dodany do koszyka produktu |
Pełny przykład
Przycisk „Czat na temat tego produktu”, który otwiera Hub i przesyła wiadomość, oraz detektor, który synchronizuje koszyk w sklepie, gdy kupujący doda produkt z Centrum:
<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>Dodatkowe źródła
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.