Vous pouvez créer des écouteurs d'événements pour différents événements déclenchés par Dialogflow CX Messenger. Pour en savoir plus, consultez Écouteurs d'événements.
Certains événements comportent un champ d'objet detail, qui fournit plus d'informations sur l'événement.
df-messenger-loaded
Se produit lorsque la boîte de dialogue de l'agent se charge pour la première fois.
Propriétés détaillées :
- aucun
Exemple :
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
Se produit lorsque vous ouvrez ou fermez le chat.
Propriétés détaillées :
isOpen(boolean) : nouvel état du chat
Exemple :
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
Se produit lorsque vous saisissez du texte dans le chat.
Propriétés détaillées :
input(string) : valeur saisie par l'utilisateur
Exemple :
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
Se produit lorsque vous envoyez une requête au backend Dialogflow CX.
Propriétés détaillées :
data(object) : conteneur de donnéesdata.requestBody(object) : demande envoyée
Exemple :
window.addEventListener('df-request-sent', (event) => {
console.log('Request', event.detail.data.requestBody);
});
window.addEventListener('df-request-sent', (event) => {
event.preventDefault(); // Messenger won't send the request.
// Send request yourself.
});
df-response-received
Se produit lorsqu'une réponse est reçue de la boîte de dialogue de l'agent.
Propriétés détaillées :
data(object) : conteneur de donnéesdata.messages(object[]) : liste des messages de réponse analysésraw(object) : réponse textuelle reçue
Exemple :
window.addEventListener('df-response-received', (event) => {
// Remove all non-text messages.
event.detail.data.messages = event.detail.data.messages.filter(message => {
return message.type === 'text';
});
});
window.addEventListener('df-response-received', (event) => {
event.preventDefault(); // Messenger won't handle the response.
const messenger = document.querySelector('df-messenger');
event.detail.data.messages.forEach(message => {
if (message.type === 'text') {
messenger.renderCustomText(message.text);
}
});
});
df-messenger-error
Se produit lorsqu'une requête adressée au backend échoue.
Propriétés détaillées :
error(object) : erreur qui s'est produite
Exemple :
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
Se produit lorsque la session avec l'agent expire.
Propriétés détaillées :
- aucun
Exemple :
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
Se produit lorsque la session se termine.
Propriétés détaillées :
- aucun
Exemple :
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
Se produit lorsque les URL des ressources suggérées sont fournies.
Propriétés détaillées :
suggestedUrls(string[]) : liste d'URL suggérées
Exemple :
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
Se produit lorsque vous cliquez sur un accordéon.
Propriétés détaillées :
actionLink(string) : attribut "href" de l'ancre de l'accordéon, s'il est spécifié
df-button-clicked
Se produit lorsque vous cliquez sur un bouton.
Propriétés détaillées :
actionLink(string) : attribut href du bouton sur lequel l'utilisateur a cliqué, s'il est spécifiéevent(string) : événement du bouton cliqué, s'il est spécifiélanguageCode(string) : code de langue de l'événement s'il est spécifié, sinon code de langue principaltext(string) : texte du bouton sur lequel l'utilisateur a cliqué
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
Se produit lorsque vous cliquez sur un chip.
Propriétés détaillées :
actionLink(string) : attribut href de l'ancrage du chip cliqué, s'il est spécifiétext(string) : texte du chip sur lequel l'utilisateur a cliqué
df-citation-clicked
Se produit lorsque vous cliquez sur une citation.
Propriétés détaillées :
actionLink(string) : attribut href de l'ancre de la citationtitle(string) : titre de la citation
df-info-card-clicked
Se produit lorsque vous cliquez sur une fiche d'informations.
Propriétés détaillées :
actionLink(string) : attribut href de l'ancre de la fiche d'informationstitle(string) : titre de la fiche d'informations
df-list-element-clicked
Se produit lorsque vous cliquez sur un élément de la liste.
Propriétés détaillées :
actionLink(string) : attribut href de l'élément de liste, s'il est spécifiéevent(string) : événement de l'élément de liste cliqué, s'il est spécifiélanguageCode(string) : code de langue de l'événement s'il est spécifié, sinon code de langue principaltitle(string) : titre de l'élément de liste
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
Se produit lorsque vous cliquez sur une image.
Propriétés détaillées :
actionLink(string) : attribut "href" de l'ancre de l'image, s'il est spécifié.