Kit de développement logiciel pour les conversations
Pour discuter avec des clients et des leads sur votre site Web à l'aide de la boîte de réception conversation 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 élevé, le SDK pour les conversations vous permet de faire ce qui suit :
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.
Field | Type | Default | Description |
---|---|---|---|
loadImmediately |
Boolean | true |
Whether the widget should implicitly load or wait until the widget.load method is called. |
inlineEmbedSelector |
String | "" |
Specify a selector (#some-id ) to embed the chat widget in a specific location on the page. Widget will be embedded inline within that DOM node and will remain open until it is removed with widget.remove . Learn more about styling embedded chat widgets. |
enableWidgetCookieBanner |
Enumeration | false |
Control behavior of the cookie banner for all chat widgets on the page. Options include:
|
disableAttachment |
Boolean | false |
Whether to hide the upload attachment button in the chat widget. |
disableInitialInputFocus |
Boolean | false |
Whether to automatically prevent focusing on the widget's input field after an inline embedded widget is initially loaded. |
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 :
You can then customize the chat widget using those selectors, such as:
HubSpotConversations.widget
The widget object contains a number of methods that allow you to manipulate the chat widget on your page, including:
Below, learn more about each method.
The widget.load
method handles the initial load on the page. This method is only necessary if you set loadImmediately
to false
. Otherwise, the widget will load itself automatically.
This method is throttled to one call per second.
Champ | Type | Par défaut | Description |
---|---|---|---|
widgetOpen |
Booléen | false |
Indique 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.
Champ | Type | Par défaut | Description |
---|---|---|---|
openToNewThread |
Booléen | false |
Indique 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.
Par 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.
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.
Champ | Type | Par défaut | Description |
---|---|---|---|
loaded |
Booléen | false |
Indique si l'iframe de widget est chargé ou non. |
La méthode effacer
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 :
- Mentionner des conversations historiques.
- Rendre le statut ouvert du widget de chat persistant à travers les chargements de page.
- Rendre le statut ouvert du message de bienvenue persistant à travers les chargements de page.
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 :
- conversationStarted
- conversationClosed
- unreadConversationCountChanged
- contactAssociated
- userInteractedWithWidget
- widgetLoaded
- quickReplyButtonClick
- widgetClosed
Pour enregistrer et supprimer des participants à un événement, utilisez activer
et désactiver
, comme indiqué ci-dessous.
En savoir plus sur chaque événement ci-dessous.
Champ | Type | Description |
---|---|---|
conversation |
ID de fil | L'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 widgetClosed à la place.
Champ | Type | Description |
---|---|---|
conversation |
ID de fil | L'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.
Champ | Type | Description |
---|---|---|
unreadCount |
Nombre | Le 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.
Champ | Type | Description |
---|---|---|
message |
Chaîne | Un 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.
Champ | Type | Description |
---|---|---|
message |
Chaîne | Un 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é.
Champ | Type | Description |
---|---|---|
message |
Chaîne | Message 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.
Champ | Type | Description |
---|---|---|
Valeur |
Tableau | Un tableau contenant le texte de l'option de réponse rapide qui a été sélectionnée. |
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.
Champ | Type | Description |
---|---|---|
message |
Chaîne | Un message de confirmation indiquant que le visiteur a fermé le widget de chat. |
Merci d'avoir partagé votre avis.