SDK de conversas
O widget de chat ao vivo do HubSpot permite conversar com clientes e leads no seu próprio site. Com o SDK widget de chat, você pode fornecer uma experiência mais ajustada aos visitantes com a personalização do comportamento do widget de chat.
Caso de uso: o SDK de widget de chat pode ser usado para personalizar quando e como o widget de chat do HubSpot aparece no seu site.
Em um nível alto, isso permite:
- Controlar o comportamento do widget
- Ouvir e responder a eventos no widget
- Pesquisar para entender o estado do widget
Introdução
A API está hospedada no objeto window.HubSpotConversations
. Todos os métodos disponíveis podem ser acessados por meio desse objeto. O carregador de script do HubSpot (também chamado de código de rastreamento da HubSpot) na sua página criará esse objeto para você, mas pode não estar disponível imediatamente. Para adiar o acesso à API até que ela seja inicializada, você pode usar o assistente window.hsConversationsOnReady
. Veja abaixo um exemplo simples:
Referência de SDK
window.hsConversationsOnReady
Esse é um campo especial que você pode definir no objeto window
que permite especificar o código a ser executado assim que o widget se tornar disponível. O uso dessa propriedade é opcional. Se for usado, esse campo deve ser definido para um conjunto de funções. Assim que a API tiver sido inicializada, ela verificará a existência desse conjunto e executará as funções em série. Por exemplo:
hsConversationsSettings
Esse objeto permite oferecer algumas opções de configuração para o widget antes que ele inicie. O uso desse objeto é opcional.
Nome do campo | Tipo de dados | Padrão | Descrição |
---|---|---|---|
|
Booleano | true | Se o widget deve ser carregado implicitamente ou aguardar até que o método widget.load seja chamado |
inlineEmbedSelector |
String | "" | Onde o widget deve ser incorporado na página. Se um seletor (por exemplo, #some-id) for fornecido, o widget será integrado ao seu nó DOM. Sempre será aberto até ser removido pelo widget.remove |
enableWidgetCookieBanner |
Enum | false | Controla o comportamento do banner de cookies para todos os chats na página:false - usa a configuração dos fluxos de chat (padrão)true - permite banners de cookie quando o widget é carregadoON_WIDGET_LOAD - igual a verdadeiro: permite banners de cookie quando o widget é carregadoON_EXIT_INTENT - permite banners de cookies quando o usuário exibe a intenção de sairObserve que esse campo usou um Booleano . Agora, pode acomodar os valores do Booleano original e os valores de enum atualizados. |
disableAttachment |
Booleano | false | Se o botão do anexo do carregamento deve estar oculto no widget de chat. |
disableInitialInputFocus |
Booleano | false | Determina se deve impedir automaticamente o foco no campo de entrada do widget depois que um widget incorporado em linha é inicialmente carregado em uma página. |
Estilos integrados em linha
window.hsConversationsOnReady
Quando o widget está incorporado a um local especificado pelo cliente, vários elementos DOM são adicionados e podem ser estilizados para se adequar aos requisitos de personalização do cliente (por exemplo, altura, largura, borda). Observe que essa estrutura se aplica apenas se você usar a opção inlineEmbedSelector
.
<�div� �id�=�"hubspot-conversations-inline-parent"�>
<�iframe� �id�=�"hubspot-conversations-inline-iframe"� />
</�div�>
Por exemplo, o widget de chat pode ter essa aparência por padrão:
Esse layout esmagado não é uma experiência ideal, então você pode personalizar o widget incluindo estilos como este:
#hubspot-conversations-inline-iframe {
width: 300px;
height: 500px;
border:none;
}
Isso facilita muito a experiência do usuário.
HubSpotConversations.widget
O objeto do widget contém um número de métodos que permitem lidar com o widget de chat na sua página.
widget.load
Carregue o widget pela primeira vez na página. Se o widget estiver carregado no momento, as chamadas subsequentes para esse método são no-ops.
Esse método é necessário apenas se você definir o sinalizador loadImmediately
como false
. Caso contrário, o widget será carregado automaticamente.
Observação: widget.load
é limitado a uma chamada por segundo.
Parâmetros:
Nome do campo | Tipo de dados? | Padrão | Descrição |
---|---|---|---|
widgetOpen |
Booleano | false | Se o widget deve carregar em um estado aberto |
widget.refresh
Atualize e renderiza as informações do widget, dado a URL da página atual.
Se você colocar o widget de chat em um aplicativo de página única, esse método pode ser útil para atualizar o widget em alterações de rota. Isso permite especificar diferentes fluxos de chat em diferentes fluxos de página. Se widget.refresh
for ativado em uma rota onde não há um fluxo de chat e o usuário não está envolvido em uma conversa, o widget será removido.
Observação: widget.refresh
é limitado a uma chamada por segundo.
Parâmetros:
Nome do campo | Tipo de dados? | Padrão | Descrição |
---|---|---|---|
openToNewThread |
Booleano | false | Se a criação de um thread será forçada |
Para um exemplo de como usar o campo openToNewThread
, consulte Abrir um fluxo de chat específico.
Exemplo:
widget.close
Fechar o widget. Se o widget já estiver fechado ou não estiver carregado no momento, isso não é um no-op.
Exemplo:
widget.remove
Remove o widget da página. Se o widget não estiver presente na página, esse é um no-op. Para exibir o widget novamente, uma atualização completa de página terá que ocorrer ou widget.load
pode ser invocado.
Exemplo:
clear
O widget de chat cria vários cookies para preservar seu estado em visitas do site e atualizar a página. O escopo desses cookies é criado no domínio da página que hospeda o widget e eles são usados para permitir os seguintes recursos:
- Consultar conversas históricas
- Persistir o estado aberto do widget de chat em carregamentos de página
- Persistir o estado aberto da mensagem de boas-vindas em carregamentos de página
O método clear
pode ser usado para excluir esses cookies, retornando o widget ao seu estado padrão em cargas subsequentes.
Os cookies a seguir são apagados com este método:
messagesUtk
hs-messages-is-open
hs-messages-hide-welcome-message
Para obter mais informações sobre esses cookies, consulte este artigo da base de conhecimento.
Exemplo:
Além disso, você pode passar {resetWidget:true}
para a função clear()
para apagar todos os cookies relacionados a chat, remover o widget da página e criar uma instância do widget de chat.
Exemplo:
Especificação do evento
O widget de chat emitirá vários eventos que você pode ouvir e responder ao seu ciclo de vida.
Eventos compatíveis
conversationStarted
Emitido quando uma nova conversa foi iniciada com sucesso.
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
conversation |
Conversa | Detalhes sobre a conversa que foi iniciada |
Exemplo:
conversationClosed
Emitido quando uma nova conversa foi fechada com sucesso.
Observação: esse evento dispara quando a conversa é marcada como fechada da caixa de entrada de conversas e não está relacionado ao usuário minimizar ou fechar o widget de chat.
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
conversation |
Conversa | Detalhes sobre a conversa que foi fechada |
Exemplo:
unreadConversationCountChanged
Emitido quando o número de conversas no widget com qualquer de mensagens não lidas muda (aumento ou redução).
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
unreadCount |
Número | O novo total de conversas no widget com qualquer mensagem não lida |
Exemplo:
contactAssociated
Emitido quando o visitante está associado a um contato no CRM.
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
message |
String | Uma mensagem de confirmação de que o visitante foi associado a um contato |
Exemplo:
userInteractedWithWidget
Emitido assim que o usuário interage com o widget (por exemplo, clicando no inicializador para abrir o widget, fechando a mensagem de boas-vindas inicial etc.)
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
message |
String | Uma mensagem de confirmação de que o usuário interagiu com o widget. |
Exemplo:
widgetLoaded
Emitido quando o iframe do widget é carregado.
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
message |
String | Mensagem de confirmação de que o iframe do widget foi carregado. |
Exemplo:
quickReplyButtonClick
Emitido quando o usuário clica no botão de resposta rápida em uma conversa de bot
Payload do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
value |
Array | Inclui o conteúdo de texto do botão de resposta rápida que foi clicado. |
Exemplo:

Na captura de tela do exemplo acima, o fluxo de chat do bot contém três opções de resposta rápida disponíveis para o usuário selecionar. Se o usuário selecionar Saiba mais, a carga útil resultante do evento será:
widgetClosed
Emitido quando o widget é fechado.
Carga útil do evento
Nome do campo | Tipo de dados | Descrição |
---|---|---|
message |
String | Mensagem de confirmação de que o widget está fechado. |
Exemplo:
Agradecemos pelos seus comentários. Eles são muito importantes para nós.