‫JavaScript של Dialogflow CX Messenger

ב-Dialogflow CX Messenger יש פונקציות שאפשר להפעיל כדי להשפיע על ההתנהגות שלו.

renderCustomText

הפונקציה הזו מציגה הודעת טקסט, כאילו היא הגיעה מהסוכן או הוזנה על ידי המשתמש.

ארגומנטים:

  • ‫string: הודעת SMS
  • ‫boolean: הערך true להודעה מהנציג, הערך false להודעה ממשתמש הקצה

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.renderCustomText('Custom text', true);

renderCustomCard

הפונקציה הזו מעבדת כרטיס בהתאמה אישית כאילו הוא הגיע ממילוי בקשה ב-Dialogflow CX.

ארגומנטים:

  • ‫payload: רשימה של תגובות מטען ייעודי (payload) בהתאמה אישית, שמוגדרות בקטע Fulfillment (מילוי בקשות)

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
const payload = [
  {
    "type": "info",
    "title": "Info item title",
    "subtitle": "Info item subtitle",
    "image": {
      "rawUrl": "https://example.com/images/logo.png"
    },
    "anchor": {
      "href": "https://example.com",
      "target": "_blank"
    }
  }
];
dfMessenger.renderCustomCard(payload);

sendQuery

הפונקציה הזו שולחת שאילתה ל-Dialogflow CX API וממתינה לתגובה. הפעולה הזו מדמה קלט של משתמש קצה שבדרך כלל מועבר לתיבת הדו-שיח של הנציג. המערכת מטפלת בתגובה כמו בכל שאילתה של משתמש קצה.

ארגומנטים:

  • ‫string: שאילתת טקסט

החזרות:

  • ‫Promise<void>: ערך ההחזרה של הפעולה האסינכרונית

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendQuery('Describe shipping costs.');

sendRequest

הפונקציה הזו שולחת בקשה ל-Dialogflow CX API וממתינה לתגובה.

ארגומנטים:

  • ‫string: סוג הבקשה, תומך ב-query (ראו גם sendQuery למעלה) וב-event (ראו אירוע בהתאמה אישית)
  • ‫any: מטען ייעודי (payload) שתואם לסוג הבקשה, שהוא מחרוזת לשני סוגי הבקשות הנתמכים

החזרות:

  • ‫Promise<void>: ערך ההחזרה של הפעולה האסינכרונית

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.sendRequest('query', 'Describe shipping costs.');

setQueryParameters

הפונקציה הזו מגדירה ערכי ברירת מחדל לשדה queryParams של בקשת detectIntent ב-Dialogflow CX API. שיטות אחרות של Dialogflow CX Messenger יכולות להחליף את ערכי ברירת המחדל המתאימים בפרמטרים של השאילתה.

ארגומנטים:

  • ‫object: נתוני JSON. לסכימה של פרמטרים של שאילתה, ראו QueryParameters.

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
const queryParameters = {
  parameters: {
  timeZone: "America/New_York"
  }
};
dfMessenger.setQueryParameters(queryParameters);

setContext

הפונקציה הזו שולחת מידע על התאמה אישית גנרטיבית ממשתמש הקצה אל Dialogflow CX. המידע הזה נשמר עד לסיום הסשן.

ארגומנטים:

  • ‫object: נתוני JSON, ראו מסמכי תיעוד בנושא התאמה אישית גנרטיבית

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
const metadata = {
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {
      model: "Google Pixel 7",
    },
    {
      model: "Google Pixel Tablet",
    },
  ],
};
dfMessenger.setContext(metadata);

clearStorage

הפונקציה הזו מנקה את האחסון המתמיד של תיבת הדו-שיח של הנציג. היא גם מנקה את המצב הנוכחי של תיבת הדו-שיח של הנציג. כברירת מחדל, הוא שומר על סטטוס האימות של המשתמש. אפשר להשתמש ב-args האופציונלי כדי להתאים אישית את ההתנהגות הזו.

ארגומנטים:

שם סוג תיאור
args object? ארגומנט אופציונלי להגדרת הפעולה של ניקוי האחסון.
args.clearAuthentication boolean? דגל אופציונלי לניקוי סטטוס האימות. אם המדיניות מוגדרת כ-True, סטטוס האימות יימחק. אחרת, הוא יישמר.

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearStorage();

clearAuthentication

הפונקציה הזו מבטלת את האימות של תיבת הדו-שיח של הנציג.

ארגומנטים:

  • ללא

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.clearAuthentication();

startNewSession

הפונקציה הזו מתחילה סשן חדש בתיבת הדו-שיח של הנציג. כברירת מחדל, הפעולה הזו מוחקת את היסטוריית ההודעות אבל שומרת את סטטוס האימות של המשתמש. אפשר להתאים אישית את ההתנהגות הזו באמצעות הפרמטר האופציונלי args.

ארגומנטים:

שם סוג תיאור
args object? ארגומנט אופציונלי להגדרת יצירת הסשן החדש.
args.retainHistory boolean? דגל אופציונלי לשמירת ההיסטוריה. אם המדיניות מוגדרת כ-True, ההיסטוריה תישמר. אחרת, היא תימחק.
args.clearAuthentication boolean? דגל אופציונלי לניקוי סטטוס האימות. אם המדיניות מוגדרת כ-True, סטטוס האימות יימחק. אחרת, הוא יישמר.

החזרות:

  • void

לדוגמה:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.startNewSession({ retainHistory: true });

openChat

כדי לפתוח את הצ'אט, צריך להפעיל את הפונקציה הזו ברכיב df-messenger-chat-bubble. אם הצ'אט כבר פתוח, לא יקרה כלום.

ארגומנטים:

  • ללא

החזרות:

  • void

לדוגמה:

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.openChat();

closeChat

הפונקציה הזו סוגרת את הצ'אט. מפעילים אותה ברכיב df-messenger-chat-bubble כדי לסגור את הצ'אט. אם הצ'אט כבר סגור, שום דבר לא יקרה.

ארגומנטים:

  • ללא

החזרות:

  • void

לדוגמה:

const dfMessengerBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerBubble.closeChat();

openMinChat

צ'אט ממוזער ב-Dialogflow CX Messenger

כדי לפתוח את חלון הצ'אט בגרסה ממוזערת, אפשר להפעיל את הפונקציה הזו ברכיב df-messenger-chat-bubble. הפונקציה הזו לא עושה כלום אם הצ'אט כבר ממוזער.

ארגומנטים:

שם סוג תיאור
args object? ארגומנט אופציונלי להגדרת הצ'אט הממוזער.
args.anchor string? אופציונלי anchor כדי להגדיר איפה הצ'אט הממוזער ייפתח. אותו היגיון כמו במאפיין anchor ברכיב של בועת הצ'אט. ברירת המחדל היא left-top.
args.showActorImages boolean? תכונה ניסיונית אופציונלית להצגת תמונות של שחקנים (אם צוינו ברכיב df-messenger-chat-bubble). ערך ברירת המחדל הוא false.

דוגמה:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.openMinChat({
  anchor: 'top-left'
});

closeMinChat

מפעילים את הפונקציה הזו ברכיב df-messenger-chat-bubble כדי לסגור את הצ'אט הממוזער. אם הצ'אט כבר סגור, לא יקרה כלום.

דוגמה:

const dfMessengerChatBubble = document.querySelector('df-messenger-chat-bubble');
dfMessengerChatBubble.closeMinChat();