‫JavaScript של Dialogflow CX Messenger

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

renderCustomText

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

ארגומנטים:

  • string: הודעת טקסט
  • boolean: true להודעה מסוכן, false ממשתמש קצה

החזרה:

  • void

לדוגמה:

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

renderCustomCard

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

ארגומנטים:

  • 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

צ&#39;אט ממוזער ב-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();