Sdílet prostřednictvím


Použití proměnných k přenášení obsahu napříč tématy

Proměnné ukládají odpovědi vašich zákazníků na otázky z vašeho agent. 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 rezervaci schůzky téma chcete, aby si agent zapamatoval, co zákazník zadal, a už se neptal.

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 v celém agent.

Proměnné agent se použijí během jedné uživatelské relace. Určíte, se kterými proměnnými se má zacházet jako s proměnnými agent, 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 použijte podokno Proměnné k otevření existující proměnné.

  2. V podokně Vlastnosti proměnné vyberte Globální (kterékoli téma má přístup).

    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.

    Screenshot znázorňující podokno Vlastnosti proměnné se zvýrazněným nastavením Globální.

  3. Uložte téma.

    Název globální proměnné musí být jedinečný ve všech tématech. V případě konfliktu budete muset před uložením tématu proměnnou přejmenovat.

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

Když vytváříte agent zprávu v uzlu Zpráva nebo Otázka, vyberte ikonu {x} a zobrazte proměnné, které jsou k dispozici pro téma. 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í.

Screenshot zobrazující výběr globální proměnné.

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í. To může být užitečné, pokud pracujete na novém agent, nebo pokud máte více proměnných a složité větvení téma.

  1. V plátně pro vytváření obsahu vyberte globální proměnnou nebo otevřete podokno Proměnné a vyberte globální proměnnou.

  2. V podokně Vlastnosti proměnné v části Reference vyberte libovolné z témat, kde se proměnná používá, abyste se dostali přímo k tomuto tématu a uzlu.

    Snímek obrazovky zobrazující seznam témat používaných proměnnou v podokně vlastností proměnné.

Ž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 lze aktivovat buď přesměrováním, nebo když uživatel zadá spouštěcí frázi, například „Začít znovu“. V takovém případě jsou všechny globální proměnné resetovány.

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

Pokud se chcete ujistit, že agent začíná konverzaci s určitý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ů. Protože váš agent již zná jméno uživatele, může zákazníky pozdravit jménem, ​​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.

Nastavte globální proměnné ve vloženém agent

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 nabízejí jednoduchou 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ž má uložené 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 agent 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. To znamená username=Renata bude také fungovat 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 sekci <script> na stránce, kde máte svůj agent, definujte proměnné následovně, nahraďte variableName1 název proměnné bez Global. prefixu a variableDefinition1 pro 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 sekci <script> zavolejte store , když vložíte agent, jako v následujícím příkladu, kde se store nazývá hned nad místem styleOptions se nazývá (budete muset nahradit BOT_ID svým ID agent):

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