O que você vai aprender

Como controlar o Klaviyo Customer Hub — ou o chat web do Klaviyo independente — a partir do seu próprio código da loja usando a API JavaScript window.customerHubApi. Você vai abrir e fechar a experiência, navegar até uma tela específica, enviar uma mensagem no chat em nome do cliente e monitorar eventos como adicionar ao carrinho.

Antes de começar

Você precisará de:

  • Klaviyo Customer Hub configurado e carregado na sua loja. Se você estiver em uma loja headless ou personalizada, siga primeiro Como configurar o Klaviyo Customer Hub com Shopify Headless — ele aborda como adicionar o carregador no site que disponibiliza esta API.
  • Capacidade de editar e implementar o código da sua loja.

O que é a API do Customer Hub

Sempre que o Klaviyo Customer Hub — ou o chat web standalone da Klaviyo — é carregado na sua loja, a Klaviyo anexa uma pequena API JavaScript ao objeto global window como window.customerHubApi. Você pode usá-la para abrir, fechar e interagir com a experiência a partir do seu próprio código — por exemplo, a partir de um botão, banner ou página de produto personalizados.

Funciona com chat web também. A mesma API está disponível se você executar o Customer Hub completo ou apenas o chat web independente da Klaviyo. O chat web tem menos recursos do que o Customer Hub, portanto, algumas das telas e eventos documentados abaixo não estão disponíveis. Como regra, quais telas estão disponíveis depende dos recursos habilitados para sua loja. Navegar para uma que não esteja habilitada retorna à tela inicial.

Dica: o Klaviyo Customer Hub carrega de forma assíncrona. Sempre verifique se window.customerHubApi existe antes de chamar um método, para que seu código não gere erro se ele for executado antes de o Hub estar pronto.

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

Métodos

open(route?)

Abre a gaveta do Customer Hub.

  • route (string, opcional) — um caminho para navegar ao abrir. Se omitido, o Hub abre na tela que estava sendo exibida por último.
javascript
// Open the Hub on its default screen
window.customerHubApi.open();

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

Rotas disponíveis

Rota

Tela

/

Início

/chat

Chat

/orders

Pedidos

/cart

Carrinho

/faq

Perguntas frequentes

/profile

Perfil

/coupons

Cupons

/rewards

Recompensas / Fidelidade

/wishlist (ou /favorites)

Lista de desejos

/recently-viewed

Produtos visualizados recentemente

/recommended-products

Produtos recomendados

Quais telas estão disponíveis depende dos recursos habilitados para sua loja. A navegação para uma tela que não está habilitada retorna à tela inicial.

close()

Fecha a gaveta do Klaviyo Customer Hub. O Hub permanece na tela atual; assim, ao reabrir com open() (sem rota), o cliente volta para onde parou.

javascript
window.customerHubApi.close();

sendChatMessage(message)

Abre o Customer Hub na tela do chat e envia uma mensagem no nome do cliente — útil para os botões “Conversar sobre este produto” ou “Obter ajuda”.

  • message (string) — a mensagem a ser enviada.
javascript
window.customerHubApi.sendChatMessage('I have a question about my order.');

Quando o login é obrigatório: se sua loja exige que os clientes façam login antes de conversar (e o AI Agent não estiver habilitado), o cliente é levado à tela do chat para fazer login primeiro. A mensagem é salva temporariamente e enviada automaticamente quando o usuário termina de fazer login. A mensagem salva expira após cerca de 10 minutos se o login não for concluído.

sendConversationContext(context)

Coloca em fila o contexto em segundo plano coletado fora da conversa de chat — como respostas de uma pesquisa pré-chat — para enviar com a próxima mensagem de chat do cliente. O Klaviyo então salva e faz referência a esse contexto pelo restante dessa conversa.

  • context (object) — um objeto de resposta de pesquisa que contém uma matriz entries. Cada entrada deve incluir um question e um answer.
javascript
window.customerHubApi.sendConversationContext({
  type: 'survey-response',
  entries: [
    { question: 'What color are you interested in?', answer: 'Red' },
  ],
});

O que isso faz — e o que não faz. Chame isso antes da primeira mensagem de chat do cliente. O contexto é colocado na fila no navegador e enviado com essa próxima mensagem; atualizar a página limpa qualquer coisa que ainda esteja na fila. Esse método não abre o Klaviyo Customer Hub, não solicita que o cliente faça login nem gera uma resposta por conta própria. No momento, survey-response é o único tipo de contexto compatível.

getActiveConversationId()

Retorna o conversationId da conversa com atividade que está acontecendo na gaveta. Retorna null se nenhuma conversa estiver em andamento.

javascript
window.customerHubApi.getActiveConversationId();

Escutar eventos

window.customerHubApi.events permite que você se inscreva em eventos que acontecem dentro do Klaviyo Customer Hub.

addtocart

Acionado quando um cliente adiciona um produto ao carrinho a partir do Hub. Use-o para manter seu carrinho de loja em sincronia.

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

Propriedade

Tipo

Descrição

event.detail.type

'addtocart'

O tipo de evento.

event.detail.items

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

As variantes de produtos adicionadas ao carrinho.

Exemplo completo

Um botão “Chat about this product” que abre o Hub e envia uma mensagem, além de um ouvinte que sincroniza o carrinho da loja quando um comprador adiciona um item do Hub:

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>

Recursos adicionais

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.

Esse artigo foi útil?
Use esse formulário somente para dar feedback sobre os artigos. Saiba como entrar em contato com o suporte.

Saiba mais sobre a Klaviyo

Community
Conecte-se com colegas, parceiros e especialistas da Klaviyo para ter ideias, compartilhar insights e tirar dúvidas.
Parceiros
Contrate um especialista certificado pela Klaviyo para ajudá-lo com uma tarefa específica ou para gerenciamento contínuo de marketing.
Suporte

Acesse o suporte na sua conta.

Suporte por e-mail (teste gratuito e contas pagas) Disponível 24 horas

Chat/assistência virtual
A disponibilidade varia conforme o local e o tipo de plano