Dialogflow CX Messenger מפעיל מגוון אירועים שאפשר ליצור עבורם event listeners.
בחלק מהאירועים יש שדה אובייקט detail שמספק מידע נוסף על האירוע.
df-messenger-loaded
קודם נטען הדיאלוג של הסוכן.
מאפייני פרטים:
- ללא
לדוגמה:
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
הצ'אט ייפתח או ייסגר.
מאפייני פרטים:
isOpen(boolean): מצב חדש של הצ'אט
לדוגמה:
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
המשתמש הזין טקסט.
מאפייני פרטים:
-
input(string): הערך שהמשתמש הזין
לדוגמה:
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
בקשה שנשלחה אל ה-Backend של Dialogflow CX.
מאפייני פרטים:
-
data(object): מאגר נתונים -
data.requestBody(object): בקשה שנשלחה
לדוגמה:
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
התקבלה תשובה לשיחה עם הסוכן.
מאפייני פרטים:
-
data(object): מאגר נתונים -
data.messages(object[]): רשימה של הודעות תגובה שעברו ניתוח -
raw(object): תשובה מילולית שהתקבלה
לדוגמה:
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
בקשה לשרת העורפי נכשלת.
מאפייני פרטים:
-
error(object): השגיאה שהתרחשה
לדוגמה:
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
פג התוקף של הסשן עם הנציג.
מאפייני פרטים:
- ללא
לדוגמה:
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
הסשן הסתיים.
מאפייני פרטים:
- ללא
לדוגמה:
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
כתובות URL של מקורות מידע מוצעים.
מאפייני פרטים:
-
suggestedUrls(string[]): רשימה של כתובות URL מוצעות
לדוגמה:
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
המשתמש לחץ על האקורדיון.
מאפייני פרטים:
- ללא
df-button-clicked
משתמש לחץ על לחצן.
מאפייני פרטים:
-
actionLink(string): תג anchor href של הכפתור שנלחץ, אם צוין -
event(string): event של הכפתור שנלחץ, אם הוא צוין -
languageCode(string): קוד השפה של האירוע אם הוא צוין, אחרת קוד השפה הראשי -
text(string): הטקסט של הכפתור שנלחץ
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
משתמש לחץ על צ'יפ.
מאפייני פרטים:
-
actionLink(string): anchor href של הצ'יפ שנלחץ, אם צוין -
text(string): הטקסט בצ'יפ שעליו לחצו
df-citation-clicked
משתמש לחץ על ציטוט.
מאפייני פרטים:
-
actionLink(string): anchor href של הציטוט -
title(string): שם הציטוט
df-info-card-clicked
משתמש לחץ על כרטיס מידע.
מאפייני פרטים:
-
actionLink(string): anchor href of the info-card -
title(string): שם כרטיס המידע
df-list-element-clicked
המשתמש לחץ על רכיב ברשימה.
מאפייני פרטים:
-
actionLink(string): מאפיין ה-href של העוגן של רכיב הרשימה, אם צוין -
event(string): event של רכיב הרשימה שנלחץ, אם צוין -
languageCode(string): קוד השפה של האירוע אם הוא צוין, אחרת קוד השפה הראשי -
title(string): שם רכיב הרשימה
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
משתמש לחץ על תמונה.
מאפייני פרטים:
-
actionLink(string): מאפיין ה-href של העוגן של התמונה, אם הוא צוין