JavaScript-Ereignisse für Dialogflow CX Messenger

Sie können Ereignis-Listener für eine Vielzahl von Ereignissen erstellen, die von Dialogflow CX Messenger ausgelöst werden. Weitere Informationen finden Sie unter Event-Listener. Einige Ereignisse haben ein detail-Objektfeld, das weitere Informationen zum Ereignis enthält.

df-messenger-loaded

Tritt auf, wenn das Dialogfeld des Agenten zum ersten Mal geladen wird.

Detaileigenschaften:

  • Keine

Beispiel:

window.addEventListener('df-messenger-loaded', () => {
  // Messenger is now ready.
});

df-chat-open-changed

Tritt auf, wenn Sie den Chat öffnen oder schließen.

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

Tritt auf, wenn Sie Text in den Chat eingeben.

Detaileigenschaften:

  • input (string): Wert, den der Nutzer eingegeben hat

Beispiel:

window.addEventListener('df-user-input-entered', (event) => {
  console.log(event.detail.input);
});

df-request-sent

Tritt auf, wenn Sie eine Anfrage an das Dialogflow CX-Backend senden.

Detaileigenschaften:

  • data (object): Datencontainer
  • data.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

Tritt auf, wenn eine Antwort vom KI-Agenten-Dialog empfangen wird.

Detaileigenschaften:

  • data (object): Datencontainer
  • data.messages (object[]): Liste der geparsten Antwortnachrichten
  • raw (object): die erhaltene Antwort im Wortlaut

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

Tritt auf, wenn eine Anfrage an das Backend fehlschlägt.

Detaileigenschaften:

  • error (object): aufgetretener Fehler

Beispiel:

window.addEventListener('df-messenger-error', (event) => {
  console.log(event.detail.error);
});

df-session-expired

Tritt auf, wenn die Sitzung mit dem Agenten abläuft.

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

Tritt auf, wenn die Sitzung endet.

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

Tritt auf, wenn URLs von vorgeschlagenen Ressourcen bereitgestellt werden.

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

Wird ausgelöst, wenn Sie auf ein Akkordeon klicken.

Detaileigenschaften:

  • actionLink (string): Anchor-href des Akkordeons, falls angegeben

df-button-clicked

Tritt auf, wenn Sie auf eine Schaltfläche klicken.

Detaileigenschaften:

  • actionLink (string): Anker-href der angeklickten Schaltfläche, falls angegeben
  • event (string): Ereignis der angeklickten Schaltfläche, falls angegeben
  • languageCode (string): Sprachcode des Ereignisses, falls angegeben, andernfalls der Hauptsprachcode
  • text (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

Tritt auf, wenn Sie auf einen Chip klicken.

Detaileigenschaften:

  • actionLink (string): Anker-href des angeklickten Chips, falls angegeben
  • text (string): Text des angeklickten Chips

df-citation-clicked

Wird ausgelöst, wenn Sie auf ein Zitat klicken.

Detaileigenschaften:

  • actionLink (string): Anker-href des Zitats
  • title (string): Titel des Zitats

df-info-card-clicked

Tritt auf, wenn Sie auf eine Infokarte klicken.

Detaileigenschaften:

  • actionLink (string): Anker-href der Infokarte
  • title (string): Titel der Infokarte

df-list-element-clicked

Tritt auf, wenn Sie auf ein Listenelement klicken.

Detaileigenschaften:

  • actionLink (string): href-Attribut des Listenelements, falls angegeben
  • event (string): Ereignis des angeklickten Listenelements, falls angegeben
  • languageCode (string): Sprachcode des Ereignisses, falls angegeben, andernfalls der Hauptsprachcode
  • title (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

Wird ausgelöst, wenn Sie auf ein Bild klicken.

Detaileigenschaften:

  • actionLink (string): Anchor-href des Bildes, falls angegeben