Aller au contenu principal

Pour discuter avec des clients et des leads sur votre site web à l'aide de la boîte de réception des conversations de HubSpot, vous pouvez configurer un widget de chat en direct. Grâce au Kit de développement logiciel (SDK) pour les conversations, vous pouvez offrir une expérience plus personnalisée pour les visiteurs en adaptant le comportement du widget de chat.

À un niveau général, le SDK pour les conversations vous permet d'exécuter les actions suivantes :

L'API est hébergée dans l'objet window.HubSpotConversations, qui donne accès à toutes les méthodes disponibles. L'objet est créé par le code de suivi HubSpot, mais il peut ne pas être disponible immédiatement lors du chargement de la page. Pour reporter l'accès à l'API jusqu'à son initialisation, vous pouvez utiliser l'assistant window.hsConversationsOnReady.

window.hsConversationsOnReady est un champ facultatif que vous pouvez définir sur l'objet window qui vous permet de spécifier le code à exécuter dès que le widget est disponible. Ce champ prend un tableau de fonctions à exécuter une fois l'API initialisée.

hsConversationsSettings

Cet objet facultatif vous permet de fournir des options de configuration au widget avant son initialisation.

ChampTypePar défautDescription
loadImmediatelyBooléentrueSi le widget doit se charger implicitement ou attendre que la méthode widget.load soit appelée.
inlineEmbedSelectorChaîne""Spécifiez un sélecteur (#some-id) pour intégrer le widget de chat à un endroit spécifique de la page. Le widget sera intégré en ligne dans ce nœud DOM et restera ouvert jusqu'à ce qu'il soit supprimé à l'aide de widget.remove. En savoir plus sur le style des widgets de chat intégrés.
enableWidgetCookieBannerÉnumérationfalseContrôlez le comportement de la bannière de cookies pour tous les widgets sur la page. Les options sont les suivantes :
  • false (par défaut) : utilise les paramètres du widget de chat.
  • true : présente des bannières de cookies lorsque le widget est chargé.
  • ON_WIDGET_LOAD : identique à true.
  • ON_EXIT_INTENT : active les bannières de cookies lorsque l'utilisateur manifeste une intention de sortie.
disableAttachmentBooléenfalseIndique s'il faut masquer le bouton de téléchargement des pièces jointes dans le widget de chat.
disableInitialInputFocusBooléenfalseDétermine s'il faut empêcher automatiquement la mise au point sur le champ de saisie du widget après le chargement initial d'un widget intégré en ligne sur une page.
avoidInlineStylesBooléenfalseLorsqu'il est défini sur true, ajoute une balise de lien avec un CSS extérieur au lieu d'une insertion dynamique directe d'une balise de style.
hideNewThreadLinkBooléenfalseLorsqu'il est défini sur true, le lien Pour démarrer une nouvelle conversation, cliquez ici n'apparaît pas sous le texte Votre discussion est terminée lorsqu'une discussion est terminée.

Lorsque le widget est intégré à un emplacement spécifique à l'aide de inlineEmbedSelector, plusieurs éléments DOM sont ajoutés et peuvent être stylisés (par exemple, hauteur, largeur, bordure).

Par exemple, si vous intégrez le widget de chat à l'aide du sélecteur #some-id, il sera chargé avec les conteneurs et les ID suivants :

Vous pouvez ensuite personnaliser le widget de chat à l'aide de ces sélecteurs, par exemple :

livechat_after

HubSpotConversations.widget

L'objet du widget contient un certain nombre de méthodes qui vous permettent de manipuler le widget de chat sur votre page, notamment :

Découvrez-en davantage ci-dessous sur chaque méthode.

La méthode widget.load gère le chargement initial de la page. Cette méthode est uniquement nécessaire si vous définissez l'indicateur loadImmediately sur false. Autrement, le widget se chargera automatiquement.

Cette méthode est limitée à un appel par seconde.

ChampTypePar défautDescription
widgetOpenBooléenfalseIndique si le widget doit être chargé avec le statut ouvert.

La méthode widget.refresh gère l'actualisation et la restitution des informations du widget, en fonction de l'URL de la page actuelle. Cette méthode peut être utile pour les widgets de chat intégrés dans des applications d'une seule page lorsque vous devez actualiser le widget selon les modifications des chemins. Cette méthode vous permet également de spécifier différents widgets de chat sur différents chemins de page.

Si vous appelez widget.refresh sur un chemin où il n'y a pas de widget de chat et que l'utilisateur n'est pas engagé dans une conversation, le widget sera supprimé. Cela ne supprimera pas le widget s'il y a un chat actuellement actif.

Cette méthode est limitée à un appel par seconde.

ChampTypePar défautDescription
openToNewThreadBooléenfalseIndique s'il convient de forcer la création d'un nouveau fil.

En utilisant cette méthode, vous pouvez créer des boutons et des liens pour ouvrir des chatflows spécifiques sur une page en ajoutant des paramètres de requête à l'URL de la page.

conversations-chat-widget-open-cropPar exemple, vous pouvez ajouter le code suivant à vos pages pour générer les boutons :

Ensuite, dans les paramètres cibles de chaque chat, vous paramétrez le chat pour qu'il s'affiche lorsque le paramètre de requête correspond à celui que vous avez défini dans votre code de bouton. conversations-target-rule

La méthode widget.open ouvre le widget s'il n'est pas déjà ouvert ou s'il n'est pas actuellement chargé.

La méthode widget.close ferme le widget s'il n'est pas déjà fermé.

La méthode widget.remove supprime le widget de la page. Si le widget n'est pas présent sur la page, cette méthode ne fait rien. Le widget s'affichera à nouveau lors de l'actualisation de la page ou si widget.load est appelé.

La méthode widget.status renvoie un objet contenant des propriétés liées au statut actuel du widget.

ChampTypePar défautDescription
loadedBooléenfalseIndique si l'iframe de widget est chargé ou non.

La méthode clear supprime les cookies liés au widget de chat et le renvoie à son statut par défaut lors du chargement ultérieur.

Le widget de chat crée plusieurs cookies pour préserver son statut à travers les visites et les actualisations. Ces cookies sont étendus au domaine de la page hébergeant le widget et sont utilisés pour prendre en charge les fonctionnalités suivantes :

  • Référencement de conversations historiques.
  • Maintien de l'état d'ouverture du widget de chat lors des chargements de pages.
  • Maintien de l'état d'ouverture du message de bienvenue lors du chargement des pages.

Les cookies suivants sont effacés avec cette méthode :

  • messagesUtk
  • hs-messages-is-open
  • hs-messages-hide-welcome-message

Pour plus d'informations sur ces cookies, consultez la base de connaissances de HubSpot.

Vous pouvez également transmettre {resetWidget:true} à la fonction clear() pour effacer tous les cookies associés aux chats, supprimer le widget de la page et créer une nouvelle instance du widget de chat.

Le widget de chat envoie différents événements auxquels vous pouvez participer et répondre tout au long de son cycle de vie. Ces événements incluent :

Pour enregistrer et supprimer des participants à un événement, utilisez on et off, comme indiqué ci-dessous.

En savoir plus sur chaque événement ci-dessous.

L'événement conversationStarted se déclenche lorsqu'une nouvelle conversation est correctement démarrée.

ChampTypeDescription
payload.conversation.conversationIdNombreL'ID de fil de la conversation qui a été démarrée. Vous pouvez utiliser cet ID lorsque vous effectuez des appels vers l'API conversations.

L'événement conversationClosed se déclenche lorsqu'une nouvelle conversation est marquée comme fermée à partir de la boîte de réception conversations.

Les visiteurs du site qui réduisent ou ferment le widget de chat ne déclencheront pas cet événement. Pour cet événement, utilisez plutôt widgetClosed.

ChampTypeDescription
payload.conversation.conversationIdNombreL'ID de fil de la conversation qui a été démarrée. Vous pouvez utiliser cet ID lorsque vous effectuez des appels vers l'API conversations.

L'événement userSelectedThread se déclenche lors de la création d'un fil ou de la sélection d'un fil existant.

ChampTypeDescription
payload.conversation.conversationIdNombreL'ID de fil de la conversation qui a été démarrée. Vous pouvez utiliser cet ID lorsque vous effectuez des appels vers l'API conversations.

L'événement unreadConversationCountChanged est déclenché lorsque le nombre de conversations avec des messages non lus augmente ou diminue.

ChampTypeDescription
unreadCountNombreLe nombre total de conversations avec au moins un message non lu.

L'événement contactAssociated est déclenché lorsque le visiteur est associé à un contact dans le CRM.

ChampTypeDescription
messageChaîneUn message de confirmation indiquant que le visiteur est associé à un contact.

L'événement userInteractedWithWidget est déclenché lorsque le visiteur interagit avec le widget, par exemple en cliquant pour ouvrir le widget ou en fermant le message de bienvenue initial.

ChampTypeDescription
messageChaîneUn message de confirmation indiquant que le visiteur a interagi avec le widget.

L'événement widgetLoaded est déclenché lorsque l'iframe du widget est chargé.

ChampTypeDescription
messageChaîneMessage de confirmation indiquant que l'iframe du widget est chargé.

L'événement quickReplyButtonClick est déclenché lorsque le visiteur clique sur une réponse rapide dans une conversation de bot.

ChampTypeDescription
valueTableauUn tableau contenant le texte de l'option de réponse rapide qui a été sélectionnée.

quick-reply-options-in-bot-conversation

Dans l'exemple de capture d'écran ci-dessus, le chatflow du bot contient trois options de réponse rapide. Si l'utilisateur sélectionne En savoir plus, la charge utile de l'événement résultant sera :

L'événement widgetClosed est déclenché lorsque le visiteur ferme le widget de chat.

ChampTypeDescription
messageChaîneUn message de confirmation indiquant que le visiteur a fermé le widget de chat.