Dialogflow CX Messenger löst eine Vielzahl von Ereignissen aus, für die Sie Ereignis-Listener erstellen können.
Einige Ereignisse haben ein detail
-Objektfeld, das weitere Informationen zum Ereignis enthält.
df-messenger-loaded
Zuerst wird das Dialogfeld für den Kundenservicemitarbeiter geladen.
Detaileigenschaften:
- keine
Beispiel:
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
Der Chat ist geöffnet oder geschlossen.
Detaileigenschaften:
isOpen
(boolean
): neuer Status des Chats
Beispiel:
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
Der Nutzer hat Text eingegeben.
Detaileigenschaften:
input
(string
): vom Nutzer eingegebener Wert
Beispiel:
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
Eine Anfrage, die an das Dialogflow-Backend gesendet wird.
Detaileigenschaften:
data
(object
): Datencontainerdata.requestBody
(object
): Gesendete Anfrage
Beispiel:
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
Es ist eine Antwort im Dialogfeld des Kundenservicemitarbeiters eingegangen.
Detaileigenschaften:
data
(object
): Datencontainerdata.messages
(object[]
): Liste der geparsten Antwortnachrichtenraw
(object
): wörtliche Antwort, die empfangen wurde
Beispiel:
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
Eine Anfrage an das Backend schlägt fehl.
Detaileigenschaften:
error
(object
): aufgetretener Fehler
Beispiel:
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
Die Sitzung mit dem Kundenservicemitarbeiter ist abgelaufen.
Detaileigenschaften:
- keine
Beispiel:
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
Die Sitzung ist beendet.
Detaileigenschaften:
- keine
Beispiel:
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
URLs zu empfohlenen Ressourcen.
Detaileigenschaften:
suggestedUrls
(string[]
): Liste der vorgeschlagenen URLs
Beispiel:
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
Der Nutzer hat auf das Akkordeon geklickt.
Detaileigenschaften:
- keine
df-button-clicked
Der Nutzer hat auf eine Schaltfläche geklickt.
Detaileigenschaften:
actionLink
(string
): Anker-href der angeklickten Schaltfläche, falls angegebenevent
(string
): Ereignis der angeklickten Schaltfläche, falls angegebenlanguageCode
(string
): Sprachcode des Ereignisses, falls angegeben, andernfalls der Hauptsprachcodetext
(string
): Text der angeklickten Schaltfläche
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
Der Nutzer hat auf einen Chip geklickt.
Detaileigenschaften:
actionLink
(string
): Anker-href des angeklickten Chips, falls angegebentext
(string
): Text des angeklickten Chips
df-citation-clicked
Der Nutzer hat auf eine Referenz geklickt.
Detaileigenschaften:
actionLink
(string
): Anker-URL der Quelletitle
(string
): Titel der Quelle
df-info-card-clicked
Der Nutzer hat auf eine Infokarte geklickt.
Detaileigenschaften:
actionLink
(string
): Anker-URL der Infokartetitle
(string
): Titel der Infokarte
df-list-element-clicked
Der Nutzer hat auf ein Listenelement geklickt.
Detaileigenschaften:
actionLink
(string
): Anchor-href des Listenelements, falls angegebenevent
(string
): Ereignis des angeklickten Listenelements, falls angegebenlanguageCode
(string
): Sprachcode des Ereignisses, falls angegeben, andernfalls der Hauptsprachcodetitle
(string
): Titel des Listenelements
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
Der Nutzer hat auf ein Bild geklickt.
Detaileigenschaften:
actionLink
(string
): Anchor-HREF des Bildes, falls angegeben