Sdílet prostřednictvím


Opětovné použití proměnných napříč tématy

Proměnné ukládají odpovědi vašich zákazníků na otázky z vašeho agenta. Můžete například uložit jméno zákazníka do proměnné s názvem UserName. Agent pak může oslovit zákazníka jménem, zatímco konverzace pokračuje.

Ve výchozím nastavení lze hodnotu proměnné použít pouze v tématu, kde je tato proměnná vytvořena. Je však možné znovu použít stejnou hodnotu napříč tématy. Například v tématu „Vítejte“ se robot zeptá na jméno a e-mailovou adresu zákazníka. V tématu Rezervace schůzek chcete, aby si agent pamatoval, co zákazník zadal, a neptal se znovu.

Jedním ze způsobů, jak znovu použít proměnnou, je předat ji mezi tématy. Dalším způsobem je proměnnou nastavit jako globální v daném rozsahu, a právě tímto se zabývá tento článek. Globální proměnné se tak nazývají, protože jsou dostupné ve všech tématech napříč celým agentem.

Globální proměnné se použijí během jedné uživatelské relace. Sami určujete, které proměnné jsou globální, abyste je odlišili od proměnných na úrovni tématu.

Vytvoření globální proměnné

Globální proměnnou vytvoříte změnou rozsahu proměnné tématu.

  1. Vytvořte proměnnou nebo v podokně Proměnné otevřete existující proměnnou.

  2. V panelu Vlastnosti proměnné vyberte Globální (s přístupem k libovolnému tématu).

    Název proměnné dostane předponu Global., abyste ji odlišili od proměnných na úrovni tématu. Například proměnná UserName se nyní zobrazuje jako Global.UserName.

  3. Uložte téma.

    Název globální proměnné musí být jedinečný ve všech tématech.

Použití globálních proměnných

Když vytváříte agent zprávu v uzlu Zpráva nebo Otázka, vyberte ikonu {x} pro zobrazení proměnných, které jsou pro téma k dispozici. Globální proměnné se zobrazí na kartě Vlastní vedle všech proměnných tématu. Proměnné jsou uvedeny v abecedním pořadí.

Vyhledání všech témat pomocí globální proměnné

Můžete zjistit, kde je definována globální proměnná a jaká další témata ji používají. Tato funkce může být užitečná, pokud pracujete na novém agentovi nebo pokud máte více proměnných a komplexní větvení tématu.

  1. Vyberte požadovanou globální proměnnou na plátně pro vytváření obsahu nebo v panelu Proměnné.

  2. Na panelu Vlastnosti v sekci Odkaz vyberte Zobrazit všechny odkazy.

  3. Přepněte na kartu Ostatní a vyberte libovolné téma, ve kterém se proměnná používá k přímému přechodu na toto téma a uzel.

Životní cyklus globálních proměnných

Ve výchozím nastavení hodnota globální proměnné přetrvává, dokud relace neskončí. Uzel Vymazat hodnoty proměnných resetuje hodnoty globálních proměnných a použije se v systémovém tématu Resetování konverzace. Toto téma může být aktivováno buď přesměrováním, nebo když uživatel zadá aktivační frázi, například "Začít znovu". V takovém případě se resetují všechny globální proměnné.

Nastavení hodnoty globální proměnné z externích zdrojů

Pokud se chcete ujistit, že agent zahájí konverzaci s nějakým kontextem, můžete inicializovat globální proměnnou s externím zdrojem. Řekněme, že váš web vyžaduje přihlášení uživatelů. Vzhledem k tomu, že agent již zná uživatelské jméno, může zákazníky pozdravit jménem ještě předtím, než začnou psát svou první otázku.

  1. Vyberte globální proměnnou.

  2. V podokně Vlastnosti proměnné vyberte možnost Externí zdroje mohou nastavovat hodnoty.

Nastavení globálních proměnných ve vestavěném agentovi

Pokud vkládáte agent na jednoduchou webovou stránku, můžete k adrese URL agent připojit proměnné a jejich definice. Nebo, pokud chcete trochu více kontroly, můžete použít blok kódu <script> k volání a používání proměnných programově.

Název proměnné v řetězci dotazu adresy URL musí odpovídat názvu globální proměnné bez předpony Global.. Například globální proměnná Global.UserName bude v dotazu označována jako UserName.

Následující příklady používají základní deklaraci proměnných. V produkčním scénáři můžete jako parametr dotazu nebo definici proměnné předat jinou proměnnou, která již obsahuje jméno uživatele (například pokud máte uživatelské jméno z přihlašovacího skriptu).

Připojte proměnné a jejich definice k adrese URL agenta jako parametry řetězce dotazu ve formátu botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Příklad:

V názvu parametru nezáleží na velikosti písmen. username=Ana by fungovalo i v tomto příkladu.

Přidání globálních proměnných do vlastního plátna

Proměnnou můžete přidat také do vlastního plátna.

  1. V části <script> na stránce, kde máte svého agenta, definujte proměnné následovně, nahraďte variableName1 za název proměnné bez předpony Global. a variableDefinition1 za definici. Více proměnných oddělujte čárkami (,).

       const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
         if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
           dispatch({
              type: "WEB_CHAT/SEND_EVENT",
              payload: {
                name: "pvaSetContext",
                value: {
                   "variableName1": "variableDefinition1",
                   "variableName2": "variableDefinition2"
                }
              },
            });
          }
            return next(action);
        });
    
  2. V části <script> zavolejte store, když vložíte agenta, jako v následujícím příkladu, kde je store voláno hned před voláním styleOptions (BOT_ID musíte nahradit ID vašeho agenta):

    const BOT_ID = "12345-5678";
    const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
    
    fetch(theURL)
        .then(response => response.json())
        .then(conversationInfo => {
            window.WebChat.renderWebChat(
                {
                    directLine: window.WebChat.createDirectLine({
                        token: conversationInfo.token,
                    }),
                    store,
                    styleOptions
                },
                document.getElementById('webchat')
            );
        })
        .catch(err => console.error("An error occurred: " + err));