setBotAuthTokenProvider

'‏‫ריבוי ערוצים‬ לשירות לקוחות' מציע חבילת יכולות המרחיבות את העוצמה של Dynamics 365 Customer Service Enterprise כדי לאפשר לארגונים להתחבר באופן מיידי ולתקשר עם הלקוחות שלהם באמצעות ערוצים להעברת הודעות דיגיטליות. נדרש רישיון נוסף כדי לגשת ל'ריבוי ערוצים עבור Customer Service'. למידע נוסף, עיין בדפים סקירת מחירי Dynamics 365 Customer Service ותוכנית המחירים של Dynamics 365 Customer Service.

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

תחביר

Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(authTokenProvider);

פרמטרים

פרמטר Type תיאור
authTokenProvider פונקציה פונקציה שכאשר היא מופעלת עם פונקציית callback כפרמטר, מחזירה את to לשלוח את האסימון לבוט ומפעילה את botAuthUrl פונקציית ההתקשרות החוזרת כדי להגדיר את נראות כרטיס הכניסה.

ערך החזרה

כתובת URL של אימות בוט.

דוגמה

להלן דוגמת קוד הממחישה כיצד ניתן להעביר אסימון אימות לבוט של Azure או Copilot Studio במהלך כניסה יחידה.

const signInIds = [];
window.Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(async (botTokenUrl, callback) => {
  const urlSearchParams = new URLSearchParams(botTokenUrl);
  const signInId = urlSearchParams.get("state");

  if (signInIds.includes(signInId)) { // Ignore authenticated sign-in cards
    callback({show: false});  // Hide card
    return;
  }

  signInIds.push(signInId);

  const authUrl = ""; // Customer's Authentication API
  const authResponse = await fetch(authUrl, method: "POST"});
  const {token} = authResponse;  // Customer's Auth Token

  const data = {
    token: "token",
    type: "TokenExchangeRequest"
  };

  const payload = {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify(data)
  };

  try {
    const botAuthResponse = await fetch(botTokenUrl, payload); // Posts Auth Token to Bot directly
    
    // Sign in through Bot is successful
    if (botAuthResponse.status === 200) {
      signInIds.push(signInId); // Track authenticated sign-in card
      callback({show: false}); // Hide card
    }

    if (botAuthResponse.status === 404 || botAuthResponse.status == 202) {
      callback({show: false}); // Hide card
      return;
    } else {
      // Other condition handling    
    }

    return;
  } catch (error) {
  
  }

  callback({show: true});  // Show sign-in card by default
});

חומר עזר ל- API של JavaScript עבור SDK של צ'אט חי
העבר אסימון אימות לבוט במהלך כניסה יחידה בצ'אט חי