Sdílet prostřednictvím


setBotAuthTokenProvider

Omnikanál pro Customer Service nabízí sadu funkcí, které rozšiřují výkon Dynamics 365 Customer Service Enterprise, což umožňuje organizacím okamžitě se spojit a komunikovat se svými zákazníky prostřednictvím kanálů digitálního zasílání zpráv. Pro přístup k Omnikanálu pro Customer Service je vyžadována další licence. Více informací naleznete na stránkách Přehled cen Dynamics 365 Customer ServiceCenový plán Dynamics 365 Customer Service.

Funkce zprostředkovatele ověřovacího tokenu robota, pokud je volána s funkcí zpětného volání jako parametrem, vrátí botAuthUrlpříkaz k odeslání tokenu robotovi a vyvolá funkci zpětného volání, aby nastavila viditelnost přihlašovací karty.

Syntaxe

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

Parametry

Parameter Typ Description
authTokenProvider Funkce Funkce, která při vyvolání s funkcí zpětného volání jako parametrem vrátí příkaz botAuthUrl k odeslání tokenu robotovi a vyvolá funkci zpětného volání pro nastavení viditelnosti přihlašovací karty.

Návratová hodnota

Adresa URL pro ověření robota.

Example

Zde je ukázka kódu, která ukazuje, jak můžete předat ověřovací token robotovi Azure nebo Copilot Studio během jednotného přihlašování.

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"
  };

  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
});

Referenční informace k rozhraní JavaScript API pro sadu SDK pro živý chat
Předání ověřovacího tokenu robotovi během jednotného přihlašování v živém chatu