נציגי Business Messages תומכים בשילובים ישירים עם
- Dialogflow ES: התאמה לכוונת הרכישה ובוטים של שאלות נפוצות
- Dialogflow CX: התאמה לכוונת הרכישה והעברת נציג תמיכה אנושי
איך לשלב נציג של Business Messages עם תכונות אחרות של Dialogflow ES או Dialogflow CX, עיינו במסמכי התיעוד של כל מוצר.
כשמשתמש שולח הודעה לנציג שיש לו שילוב עם Dialogflow,
Business Messages מעבירה את ההודעה למשתמש ל-Dialogflow ושולחת את
תשובה לנציג בהודעה
אובייקט dialogflowResponse
. אפשר להגדיר נציגים
שליחה אוטומטית של התשובה של Dialogflow למשתמש בלי לבצע פעולה כלשהי
חלק. למידע נוסף, ניתן לעיין בקטע תגובות אוטומטיות
לקבלת פרטים.
שילוב עם Dialogflow
כדי להשתמש באוטומציה שמבוססת על Dialogflow באמצעות Business Messages, צריך להפעיל את השילוב עם Dialogflow.
דרישות מוקדמות
כדי להתחיל, צריך:
- Business Messages סוכן
- נציג של Dialogflow באזור Global עם שפת הבסיס של אנגלית (he)
אם אין לכם סוכן Dialogflow, יוצרים אחד.
Dialogflow ES
כדי להפעיל שילוב של Dialogflow ES, צריך מזהה הפרויקט של הנציג ב-Dialogflow. כדי לאתר את מזהה הפרויקט:
- נכנסים אל Dialogflow Console.
- בוחרים את הנציג ב-Dialogflow שרוצים לקשר ל-Business Messages. לאחר מכן לוחצים על סמל גלגל השיניים ליד שם הנציג.
- בקטע Google Project, מעיינים בערך Project ID.
Dialogflow CX
כדי להפעיל שילוב עם Dialogflow CX, צריך את מזהה הפרויקט ומזהה הנציג ב-Dialogflow. כדי לאתר את המזהים האלה,
- נכנסים אל Dialogflow CX Console.
- בוחרים את הפרויקט הרצוי ב-Dialogflow.
- בבורר הנציגים, לוחצים על האפשרויות הנוספות ליד הנציג ב-Dialogflow.
- לוחצים על העתקת השם. הפעולה הזו מעתיקה את השם המלא של הנציג
בפורמט הבא:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
- שימו לב לערכים של מזהה הפרויקט ומזהה הנציג.
הפעלת השילוב
- ב-Business Communications Developer Console, עוברים אל שילובים.
- ב-Dialogflow, לוחצים על הפעלת השילוב.
- לוחצים על קישור מודל קיים.
- במהדורת Dialogflow, בוחרים את המהדורה שרוצים להפעיל.
- מזינים את מזהה הפרויקט של הנציג ב-Dialogflow.
- כדי להפעיל את Dialogflow CX, צריך להזין גם את מזהה הנציג של הנציג ב-Dialogflow.
- אם אתם רוצים שאפליקציית Business Messages תגיב באופן אוטומטי למשתמשים באמצעות בוחרים באפשרות הפעלת תשובה אוטומטית כדי ליצור תשובות מ-Dialogflow.
- לוחצים על הבא.
- מעתיקים את כתובת האימייל של חשבון השירות. החשבון הזה מחבר את Business Messages וסוכני Dialogflow.
- בGoogle Cloud Console, בוחרים את הפרויקט ב-Dialogflow.
- כניסה אל IAM הרשאות.
- לוחצים על Add (הוספה) ומזינים את כתובת האימייל של חשבון השירות עבור New principals.
- בקטע Select a role, בוחרים Dialogflow Console Agent Editor.
- לוחצים על הוספת תפקיד נוסף ובוחרים באפשרות Dialogflow API Client.
- לוחצים על שמירה.
- ב-Business Communications Developer Console, לוחצים על Next.
- לוחצים על Start integration (התחלת השילוב).
תהליך החיבור של Business Messages ל-Dialogflow נמשך כ-2 דקות.
עדכון השילוב
- ב-Business Communications Developer Console, עוברים אל שילובים.
- לוחצים על סמל גלגל השיניים ליד Dialogflow.
- מחליפים את מצב האפשרות הפעלת תגובה אוטומטית בהתאם לרצונך Business Messages – שליחת תשובות אוטומטיות למשתמשים באמצעות Dialogflow.
מעבר בין מהדורות של Dialogflow
נציג של Business Messages יכול לתמוך רק בשילוב אחד עם Dialogflow בכל פעם. כדי לעבור ממהדורת Dialogflow אחת לאחרת, צריך להשבית את של השילוב הנוכחי לפני שמפעילים את השילוב החדש.
השבתת השילוב
- ב-Business Communications Developer Console, עוברים אל שילובים.
- לוחצים על סמל גלגל השיניים ליד Dialogflow.
- לוחצים על Disable integration (השבתת השילוב).
- לוחצים על השבתה.
השבתת שילוב קיים עם Dialogflow נמשכת כדקה.
כדי להפעיל שילוב חדש עם Dialogflow, מבצעים את השלבים האלה.
התאמה של כוונת רכישה
אחרי שמפעילים את השילוב של Dialogflow לנציג של Business Messages, נציג יכול להשתמש בכוונות שהוגדרו בפרויקט Dialogflow כדי להבין לענות לשאלות של משתמשים בלי שתצטרכו לכתוב קוד. מידע נוסף על Intents, זמינים במסמכי התיעוד של Dialogflow ES ו-Dialogflow CX.
הגדרת ה-Intents ב-Dialogflow לכל אפשרות שיחה שמתכוונים תמיכה באמצעות אוטומציה. נציגי Business Messages מסתמכים על Dialogflow כדי להבין הודעות למשתמשים.
כשמבצעים קריאה ל-Dialogflow APIs, Business Messages מעבירה את
מטען ייעודי של הודעות למשתמשים
לכוונות שלכם ול-webhook שלכם למילוי ההזמנות. כשיש התאמה להודעה למשתמש
מתוך כוונה, אפשר לגשת למטען הייעודי (Payload) הזה בפורמט Struct
שדה business_messages_payload
בתוך QueryParameters
.
המטען הייעודי (Payload) מכיל את כל השדות מההודעה למשתמש, מלבד שדה DialogflowResponse
.
בשביל Dialogflow CX, Business Messages מעבירה גם פרמטר סשן שנקרא channel
עם הערך google_business_messages
ל-Intent שלכם, ואתם יכולים להפנות אותו לנציג שלכם בפורמט הבא: $session.params.channel
.
אפשר להשתמש בפרמטר הזה כדי להוסיף תנאים למילוי ההזמנות של Dialogflow כדי לתמוך בכמה ערוצים באותו סוכן של Dialogflow.
מידע נוסף על פרמטרים של שאילתות זמין בהפניות Dialogflow ES ו-Dialogflow CX.
דרישות מוקדמות
כשיוצרים מודלים של NLU ב-Dialogflow, אפשר להגדיר של כוונת המשתמשים. אפליקציית Business Messages תומכת בתשובת ברירת המחדל, למשל:
- טקסט
- מטען ייעודי (payload) בהתאמה אישית
- העברה של נציג תמיכה אנושי (Dialogflow CX בלבד)
מטען ייעודי (payload) בהתאמה אישית צריך להתאים לתגובה תקינה להודעה בפורמט JSON של Business Messages לאובייקט. כשמגדירים תשובות מטען ייעודי (payload) בהתאמה אישית ל-Intent, Business Messages מתעלם מהשדות הבאים:
name
messageId
representative
ראו את התשובות לדוגמה הבאות.
טקסט עם הצעות
{
"text": "Hello World!",
"fallback": "Hello World!\n\nReply with \"Hello\" or \"Hi!\"",
"suggestions": [
{
"reply": {
"text": "Hello",
"postbackData": "hello-formal"
}
},
{
"reply": {
"text": "Hi!",
"postbackData": "hello-informal"
}
}
]
}
צ'אט אינטראקטיבי
{
"fallback": "Hello, world!\nSent with Business Messages\n\nReply with \"Suggestion #1\" or \"Suggestion #2\"",
"richCard": {
"standaloneCard": {
"cardContent": {
"title": "Hello, world!",
"description": "Sent with Business Messages.",
"media": {
"height": "TALL",
"contentInfo":{
"altText": "Google logo",
"fileUrl": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png",
"forceRefresh": "false"
}
},
"suggestions": [
{
"reply": {
"text": "Suggestion #1",
"postbackData": "suggestion_1"
}
},
{
"reply": {
"text": "Suggestion #2",
"postbackData": "suggestion_2"
}
}
]
}
}
}
}
קרוסלה של כרטיסים מתקדמים
{
"fallback": "Card #1\nThe description for card #1\n\nCard #2\nThe description for card #2\n\nReply with \"Card #1\" or \"Card #2\"",
"richCard": {
"carouselCard": {
"cardWidth": "MEDIUM",
"cardContents": [
{
"title": "Card #1",
"description": "The description for card #1",
"suggestions": [
{
"reply": {
"text": "Card #1",
"postbackData": "card_1"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/cute-dog.jpg",
"forceRefresh": false
}
}
},
{
"title": "Card #2",
"description": "The description for card #2",
"suggestions": [
{
"reply": {
"text": "Card #2",
"postbackData": "card_2"
}
}
],
"media": {
"height": "MEDIUM",
"contentInfo": {
"fileUrl": "https://my.files/elephant.jpg",
"forceRefresh": false
}
}
}
]
}
}
}
העברה של נציג תמיכה אנושי
{
"metadata": {}
}
בוטים לשאלות נפוצות
אחרי שמפעילים את השילוב של Dialogflow ES לנציג של Business Messages, אתם יכולים ליצור בוט לשאלות נפוצות. כשמציינים שאלות ותשובות בתור מסמך ידע נתמך, Business Messages ו-Dialogflow יוצרים התשתית הנדרשת כדי להבין שאלות של משתמשים ולהשיב להן, שצריך לכתוב קוד.
כדי לראות איך בוט של שאלות נפוצות פועל, אפשר לשוחח בצ'אט עם שאלות נפוצות בנושא Business Messages בוט.
דרישות מוקדמות
לפני שיוצרים בוט שאלות נפוצות, השאלות והתשובות צריכות להיות זמינות כמו מסמך ידע (עד 50MB): קובץ HTML שזמין באופן ציבורי או קובץ CSV.
באופן כללי, מסמכי ידע
- יכול לכלול Markdown מוגבל בתשובות, כפי שמצוין בעשירית text.
- בגודל מקסימלי של 50MB.
- אסור לחרוג מ-2,000 צמדים של שאלות/תשובות.
- אין לתמוך בשאלות כפולות עם תשובות שונות.
בקובצי HTML:
- קבצים מכתובות URL ציבוריות נסרקו על ידי הכלי לאינדקס של חיפוש Google, כדי שהן יופיעו באינדקס החיפוש. אפשר לבדוק את זה בעזרת Google Search Console. חשוב לדעת שהאינדקס לא שומר על תוכן עדכני. צריך להגדיר במפורש לעדכן את המסמך כשתוכן המקור משתנה.
- Dialogflow מסיר תגי HTML מהתוכן במהלך יצירת תשובות. כי לכן מומלץ להימנע משימוש בתגי HTML ולהשתמש בטקסט פשוט כשאפשר.
- אין תמיכה בקבצים עם צמד אחד של שאלה/תשובה.
בקובצי CSV:
- הקבצים חייבים לכלול שאלות בעמודה הראשונה ותשובות בעמודה השנייה. ללא כותרת.
- קבצים חייבים להשתמש בפסיקים בתור תווי הפרדה.
יצירת בוט לשאלות נפוצות
- ב-Business Communications Developer Console, עוברים אל שילובים.
- בקטע מאגר ידע (שאלות נפוצות), לוחצים על יצירת מאגר ידע.
- מזינים שם למאגר הידע ולוחצים על הבא.
- בוחרים את סוג ה-MIME.
- מוסיפים מסמך ידע.
- אם בחרת ב-HTML עבור סוג MIME, יש להזין את הקוד הנגיש לציבור כתובת האתר של השאלות הנפוצות שלך ב-URL.
- אם בחרתם ב-CSV לסוג MIME, צריך ללחוץ על העלאה ולבחור את CSV.
- לוחצים על הוספה וסיום.
כדי להוסיף מסמכים לבוט שאלות נפוצות, לוחצים על הלחצן הוספת מסמכים.
אחרי שתבצעו את השלבים האלה, התכונה Business Messages כוללת את
dialogflowResponse
בהודעות למשתמש שהוא שולח לנציג. אם מפעילים מענה אוטומטי, Business Messages תענה למשתמש
בצמד השאלה/תשובה עם הציון הגבוה ביותר של matchConfidence
בהשוואה להודעה של המשתמש.
תגובות אוטומטיות
אם מפעילים תגובה אוטומטית במהלך השילוב עם Dialogflow, אפליקציית Messages מגיבה למשתמש באופן אוטומטי באמצעות Dialogflow. העסק שלך נציג ההודעות משיב בהתאם לרמת הסמך הגבוהה ביותר. עם שילוב של Dialogflow ES, אם יש התאמות גם לתשובה וגם לשאלה בהתאמה אישית עם כוונת רכישה, תקבלו מ-Business Messages את התשובה עם הערך הגבוה ביותר רמת הסמך.
Business Messages מסמנת את כל ההודעות במענה אוטומטי כהודעות שנשלחו מ-BOT
לנציגים של העסק. אם הנציג תומך בנציגים אנושיים,
התשובות האוטומטיות מושהות אחרי REPRESENTATIVE_JOINED
ב-Business Messages
אירועים
וממשיכים את התשובות האוטומטיות אחרי REPRESENTATIVE_LEFT
אירועים. ראו Handoff
מבוט לנציג תמיכה אנושי.
תגובה אוטומטית עם תשובה לשאלות נפוצות
בשילוב עם Dialogflow ES, אם התשובה לשאלות הנפוצות היא רמת הסמך הגבוהה ביותר ברמה, Business Messages ממופה את התשובה להודעת טקסט. אם קיימת יש תשובה קשורה אבל שונה, בהודעה יוצג תשובה" הצעה חדשה. אם לא, ההודעה תכלול שאלה והצעות תשובות שואלות אם ההודעה תאמה לבקשה של המשתמש.
תגובה אוטומטית עם תגובת Intent
תגובות של Intent יכולות לכלול אחת או יותר מהתגובות הבאות.
- Dialogflow ES: Text, מטען ייעודי (payload) בהתאמה אישית
- Dialogflow CX: Text, מטען ייעודי (payload) מותאם אישית, מסירה של נציג תמיכה אנושי
אם לתשובה יש את ההתאמה הגבוהה ביותר ברמת הסמך, במקרים הבאים: חל.
- אם התשובה כוללת לפחות ערך טקסט אחד, מערכת Business Messages תמפה את המידע הזה להודעת טקסט.
- אם התשובה כוללת לפחות מטען ייעודי (payload) אחד בהתאמה אישית עם שם עסק תקין מבנה האובייקט של JSON, Business Messages יוצר הודעה באמצעות מספק JSON.
- אם התשובה כוללת לפחות תגובה אחת להעברה של נציג תמיכה אנושי: תשובה אוטומטית עם בקשה מנציג תמיכה.
מכיוון ש-Dialogflow יכול לכלול כמה תשובות בהתאמה אחת ל-Intent, אפליקציית Business Messages שולחת כל העברה של נציג תמיכה מסוג הודעת טקסט, מטען ייעודי (payload) בהתאמה אישית או העברה של נציג תמיכה בשידור חי. כהודעה נפרדת. אם יש מספר הודעות בכוונת רכישה התאמה, אבל חלקם לא תקינים, התכונה Business Messages שולחת רק הודעות תקינות הודעות כתגובות אוטומטיות.
מענה אוטומטי עם בקשה לנציג תמיכה
Dialogflow CX תומך בהעברה של נציג תמיכה תשובה. הוא מסמן שצריך להעביר את השיחה לאדם פרטי והוא מאפשר לכם להעביר מטא-נתונים בהתאמה אישית לצורך ההעברה התהליך. אם בתגובה לבקשת הסכמה יש את ההתאמה הגבוהה ביותר ברמת הסמך, כולל העברה של נציג תמיכה אנושי, Business Messages שולחת אירוע מבוקש לנציג תמיכה אנושי ל-webhook. כדי לטפל באירוע הזה: מקשר בין בוט לנציג תמיכה אנושי.
תשובה אוטומטית עם הודעה חלופית
אם אפליקציית Dialogflow לא מקבלת התאמה ברמת סמך גבוהה, Business Messages שולחת תשובה חלופית. הטיפול בחלופות ב-Dialogflow ES שונה Dialogflow CX.
Dialogflow ES
לגבי בוטים של שאלות נפוצות, אם לא נמצאה התאמה לתשובה לשאלות נפוצות, Business Messages שולח הודעה חלופית שלא נמצאה לה תשובה.
עבור כוונות מוגדרות, אם אין התאמה לתגובת Intent, העסק אפליקציית Messages שולחת תגובה של Intent חלופי. אפשר להשתמש בטקסט חלופי שסופק על ידי Dialogflow, או להגדיר חלופה עם טקסט נוסף ומטענים ייעודיים (payloads) בהתאמה אישית.
דוגמה לתגובה חלופית מסוג Intent שה-webhook יכול לקבל:
{
"intentResponses": [
{
"intentName": "projects/df-integration/agent/intents/12345",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "1.0",
"fulfillmentMessages": [
{
"text": "One more time?"
}
]
}
]
}
הנתונים של intent_name
ו-intent_display_name
מאוכלסים מראש ב-Dialogflow.
Dialogflow CX
Dialogflow CX מטפל בתשובות של Intent חלופי בתור אירועים מובְנים. אם אין התאמה לתגובה ל-Intent, אפליקציית Business Messages שולחת הודעה חלופית מאירוע ברירת המחדל 'ללא התאמה' ב-Dialogflow. אפשר צריך להשתמש בטקסט החלופי שסופק על ידי Dialogflow, או להגדיר את החלופה עם טקסט נוסף, מטענים ייעודיים (payloads) בהתאמה אישית ואפשרויות להעברת נציגים פעילים.
דוגמה לתגובה חלופית של Intent התגובה לפעולה מאתר אחר (webhook) יכולה לקבל:
{
"intentResponses": [
{
"intentName": "sys.no-match-default",
"intentDisplayName": "Default Fallback Intent",
"intentDetectionConfidence": "0.3",
"fulfillmentMessages": [
{
"text": "I missed that, say that again?"
}
]
}
]
}
הקוד של Business Messages הוא intent_name
ו-intent_display_name
.
שדות ספציפיים ל-Dialogflow
אחרי הפעלת השילוב עם Dialogflow, המשתמש ישלח הודעה לנציג
מקבלים
כוללים את
dialogflowResponse
לאובייקט. התגובה לפעולה מאתר אחר (webhook) מקבלת מטענים ייעודיים עבור כל ההודעות למשתמשים, ללא קשר
אם התכונה Business Messages השיבה באופן אוטומטי להודעה בדף
בשם. כדי לבדוק אם יש תגובה אוטומטית, בודקים את הערך
autoResponded
ולהחליט אם להגיב למשתמש.
Dialogflow ES
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", }], "faqResponse": { "userQuestion": "USER_QUESTION", "answers": [{ "faqQuestion": "FAQ_QUESTION", "faqAnswer": "FAQ_ANSWER", "matchConfidenceLevel": "CONFIDENCE_LEVEL", "matchConfidence": "CONFIDENCE_NUMERIC", }], }, "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
שדה | תיאור |
---|---|
queryText
|
הטקסט המקורי של השאילתה בשיחה. אם איות אוטומטי
מופעל התיקון למודל Dialogflow, queryText
מכיל את הקלט המתוקן של המשתמש. |
intentName |
המזהה הייחודי של ה-Intent התואם. |
intentDisplayName |
השם של ה-Intent התואם. |
intentDetectionConfidence
|
דירוג הסמך המספרי בהתאמה
בין queryText ל-intentName . |
text |
תשובה בהודעת טקסט. |
jsonPayload
|
תגובת מטען ייעודי (payload) בהתאמה אישית.
המחרוזת הזו תואמת לערך המותאם אישית
המטען הייעודי (payload) שהוגדר ב-Dialogflow.
אם למטען הייעודי (Payload) אין קובץ JSON תקין של Business Messages
של מבנה האובייקט, error מתאר את הבעיה. |
error |
תיאור של שגיאה עם הודעה של מילוי Intent. |
userQuestion |
השאלה שהמשתמש שאל, כפי שהיא נותחה על ידי Dialogflow. |
faqQuestion |
שאלה מ-Dialogflow תואמת לשאלה של המשתמש. |
faqAnswer |
התשובה מ-Dialogflow תואמים לשאלה של המשתמש. |
matchConfidenceLevel
|
רמת הסמך בהתאמה בין
userQuestion וגם faqQuestion |
matchConfidence
|
דירוג הסמך המספרי בהתאמה בין
userQuestion וגם faqQuestion |
autoResponded
|
אם ל-Business Messages הייתה תשובה אוטומטית המשתמש עם תשובה מ-Dialogflow. |
message |
המטען הייעודי (payload) של התגובה האוטומטית. |
responseSource
|
המקור של התשובה האוטומטית. צפייה
ResponseSource |
Dialogflow CX
... "dialogflowResponse": { "queryText": "TEXT", "intentResponse": { "intentName": "INTENT_ID", "intentDisplayName": "INTENT_NAME", "intentDetectionConfidence": "CONFIDENCE_NUMERIC", "fulfillmentMessages": [{ "text": "FULFILLMENT_TEXT", "jsonPayload": "JSON", "error": "ERROR_STATUS", "liveAgentHandoff": { "metadata": {} } }], "autoResponded": "BOOLEAN", "autoRespondedMessages": [{ "message": "MESSAGE_JSON", "responseSource": "SOURCE", }], }, ...
שדה | תיאור |
---|---|
queryText
|
הטקסט המקורי של השאילתה בשיחה. אם איות אוטומטי
מופעל התיקון למודל Dialogflow, queryText
מכיל את הקלט המתוקן של המשתמש. |
intentName |
המזהה הייחודי של ה-Intent התואם. |
intentDisplayName |
השם של ה-Intent התואם. |
intentDetectionConfidence
|
דירוג הסמך המספרי בהתאמה
בין queryText ל-intentName . |
text |
תשובה בהודעת טקסט. |
jsonPayload
|
תגובת מטען ייעודי (payload) בהתאמה אישית.
המחרוזת הזו תואמת לערך המותאם אישית
המטען הייעודי (payload) שהוגדר ב-Dialogflow.
אם למטען הייעודי (Payload) אין קובץ JSON תקין של Business Messages
של מבנה האובייקט, error מתאר את הבעיה. |
error |
תיאור של שגיאה עם הודעה של מילוי Intent. |
liveAgentHandoff |
מטא-נתונים בהתאמה אישית לגבי הליך העברת הנציג החי. |
autoResponded
|
אם ל-Business Messages הייתה תשובה אוטומטית המשתמש עם תשובה מ-Dialogflow. |
message |
המטען הייעודי (payload) של התגובה האוטומטית. |
responseSource
|
המקור של התשובה האוטומטית. צפייה
ResponseSource |