Sdílet prostřednictvím


Práce s globálními proměnnými

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 proměnnou z jednoho tématu do druhého. 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. Lze je také nastavit z externích zdrojů.

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.

Poznámka:

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

  1. Vytvořte proměnnou nebo použijte panel Proměnné k otevření existující proměnné.

  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.

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.

Mazání globálních proměnných

Pokud odeberete globální proměnnou použitou v jiných tématech, odkazy na tuto proměnnou v tématech jsou označeny jako Unknown. Než budete moci potvrdit operaci, zobrazí se upozornění na odstranění globální proměnné.

Uzly, které obsahují odkazy na odstraněnou globální proměnnou označují, že obsahují neznámou proměnnou.

Témata s uzly, které obsahují odkazy na odstraněné globální proměnné, mohou přestat fungovat. Ujistěte se, že jste před publikováním agenta odstranili nebo opravili všechna témata, která používala odstraněnou proměnnou.

Ž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. Když přesměrování spustí toto téma (nebo když uživatel zadá frázi, například "Začít znovu"), všechny globální proměnné se resetují.

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

Abyste se ujistili, že agent zahájí konverzaci s nějakým kontextem, můžete použít globální proměnnou a nastavit její hodnotu z externího zdroje. Řekněme, že váš web vyžaduje přihlášení uživatelů. Pokud uložíte jméno uživatele do globální proměnné a předáte ho svému agentovi, může agent pozdravit zákazníky jménem předtím, než začnou psát svou první otázku. Dalším příkladem scénáře je předání kontextu z Dynamics 365 Customer Service agentovi, aby mohl zahájit konverzaci se znalostí toho, čeho chce zákazník dosáhnout.

Chcete-li zabránit nežádoucí latenci, můžete určit, jak dlouho může agent čekat na hodnotu. Můžete také nastavit výchozí hodnotu, která se použije, když externí zdroj nereaguje včas.

Poznámka:

Agenti, kteří jsou publikováni v kanálu Dynamics 365 Contact Center pro případy použití IVR, nepodporují hodnoty časového limitu nakonfigurované pro globální proměnné nastavené externími zdroji.

  1. Vytvořte vyhrazené téma, které bude obsahovat konfiguraci pro všechny proměnné, které mají být nastaveny z externích zdrojů. Toto téma můžete pojmenovat například "Nastavení kontextových proměnných". Toto téma neslouží k žádným jiným účelům, takže nemusí mít nastavené spouštěcí fráze.

  2. Přidejte uzel Nastavit hodnotu proměnné do vyhrazeného tématu.

  3. V části Nastavit proměnnou otevřete volič proměnných a vyberte možnost Vytvořit novou proměnnou.

  4. Vyberte výchozí název nové proměnné. Zobrazí se panel Vlastnosti proměnných.

  5. Nahraďte výchozí název takovým, který přesně odpovídá názvu proměnné předávané z externího systému.

  6. V části Použití vyberte Globální (libovolné téma má přístup) a Externí zdroje mohou nastavovat hodnoty.

  7. V části Odkaz vyberte ikonu Další () v pravém horním rohu a vyberte Získat hodnotu z tohoto uzlu, pokud je prázdný.

  8. (Volitelné) Nastavte prodlevu časového limitu v milisekundách. Tato hodnota určuje, jak dlouho může agent čekat na nastavení proměnné externím zdrojem, než vyprší časový limit, a bude pokračovat s výchozí hodnotou, kterou jste nastavili v uzlu Nastavit hodnotu proměnné. Toto nastavení je relevantní ve scénářích, kdy proměnná závisí na dlouhotrvajícím nebo asynchronním procesu, ale váš agent musí respektovat maximální latenci, aby se zajistilo dobré uživatelské prostředí.

    Pro proměnné pocházející z Omnikanál pro Customer Service navrhujeme hodnotu 10 sekund (10 000 ms) jako maximální dobu čekání.

  9. V uzlu Nastavit hodnotu proměnné zadejte výchozí hodnotu, která se použije, pokud dojde k vypršení časového limitu. Za běhu bude agent očekávat hodnoty se stejným datovým typem. Pokud chcete, aby tato výchozí hodnota byla prázdný řetězec, použijte Text("") jako vzorec.

    Snímek obrazovky konfigurace globální proměnné, která má být nastavena z externího zdroje.

  10. Pro všechny ostatní hodnoty, u kterých očekáváte, že budou pocházet z externího systému, přidejte do vyhrazeného tématu další uzly Nastavit hodnotu proměnné a stejným způsobem nakonfigurujte požadované globální proměnné.

Takto nakonfigurovaný agent je připravený k testování. Když je agent vyvolán, místo toho, aby čekal neomezeně dlouho na naplnění všech proměnných, může váš agent okamžitě začít odesílat všechny zprávy, které nejsou závislé na předávaných proměnných. Když se agent pokusí o přístup k proměnné, která je nastavena externě, pozastaví se, dokud nedorazí hodnota nebo nedojde k vypršení časového limitu. Přečtěte si další informace o optimalizaci agentů za účelem minimalizace latence.

Důležité

Pokud během normálního toku konverzace váš agent nastaví proměnnou, která by jinak přišla pro externí hodnotu, převažuje hodnota nastavená v rámci vašeho agenta. Jakákoli hodnota předaná v kontextu se ignoruje. Toto pravidlo zabrání agentovi v přepsání hodnot záměrně nastavených v tématech.

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

V závislosti na nastavení ověřování agenta máte sadu globálních proměnných přidružených k vybranému poskytovateli ověřování. Podrobnosti o tom, která sada proměnných je k dispozici a jak je používat, viz téma dokumentace Přidání ověřování uživatele do témat.