Delen via


Variabelen hergebruiken voor verschillende onderwerpen

Variabelen slaan de reacties van uw klanten op vragen van uw agent op. U kunt bijvoorbeeld de naam van een klant opslaan in een variabele met de naam UserName. De agent kan de klant vervolgens met zijn naam aanspreken als het gesprek wordt voortgezet.

Standaard kan de waarde van een variabele alleen worden gebruikt in het onderwerp waar de variabele wordt gemaakt. Het is echter mogelijk om dezelfde waarde voor verschillende onderwerpen te hergebruiken. In een Welkom-onderwerp vraagt de bot bijvoorbeeld om de naam en het e-mailadres van de klant. In het onderwerp Afspraakboeking wilt u dat de agent onthoudt wat de klant heeft ingevoerd en dit niet opnieuw vraagt.

Eén manier om een variabele opnieuw te gebruiken, is door de variabele tussen onderwerpen door te geven. De andere manier is om de variabele een algemeen bereik te geven en daar gaat dit artikel over. Algemene variabelen worden zo genoemd omdat ze beschikbaar zijn in alle onderwerpen in de gehele agent.

Algemene variabelen zijn van toepassing tijdens één gebruikerssessie. U geeft op welke variabelen algemene variabelen zijn om ze te onderscheiden van variabelen op onderwerpniveau.

Een algemene variabele maken

U kunt een algemene variabele maken door het bereik van een onderwerpvariabele te wijzigen.

  1. Maak een variabele of gebruik het deelvenster Variabelen om een bestaande variabele te openen.

  2. Selecteer in het paneel Variabele-eigenschappen de optie Algemeen (elk onderwerp heeft toegang).

    De variabelenaam krijgt het voorvoegsel Global. ter onderscheid van de variabelen op onderwerpniveau. De variabele UserName wordt bijvoorbeeld weergegeven als Global.UserName.

  3. Sla het onderwerp op.

    De naam van een algemene variabele moet voor alle onderwerpen uniek zijn.

Algemene variabelen gebruiken

Wanneer u een bericht opstelt in een Bericht knooppunt of een Vraag knooppunt, selecteert u het pictogram {x} om de variabelen te bekijken die beschikbaar zijn voor het onderwerp. Algemene variabelen worden op het tabblad Aangepast weergegeven samen met eventuele onderwerpvariabelen. Variabelen worden in alfabetische volgorde weergegeven.

Alle onderwerpen zoeken met een algemene variabele

U kunt zien waar een algemene variabele is gedefinieerd en welke andere onderwerpen deze gebruiken. Deze functie kan handig zijn als u aan een nieuwe agent werkt of als u meerdere variabelen hebt en complexe onderwerpvertakkingen.

  1. Selecteer de gewenste algemene variabele op het ontwerpcanvas of in het paneel Variabelen.

  2. Selecteer in het paneel Variabele-eigenschappen in de sectie Verwijzing de optie Alle verwijzingen weergeven.

  3. Ga naar het tabblad Overig en selecteer een onderwerp waarin de variabele wordt gebruikt om direct naar dat onderwerp en knooppunt te gaan.

Levenscyclus van algemene variabelen

Standaard blijft de waarde van een algemene variabele bestaan totdat de sessie wordt beëindigd. Met het knooppunt Variabelewaarden wissen worden de waarden van algemene variabelen opnieuw ingesteld en gebruikt in het systeemonderwerp Gesprek opnieuw instellen. Dat onderwerp kan worden geactiveerd door omleiding of wanneer de gebruiker een triggerzin invoert, zoals 'Opnieuw beginnen'. In dat geval worden alle globale variabelen gereset.

De waarde van een algemene variabele instellen vanuit externe bronnen

Als u er zeker van wilt zijn dat de agent een gesprek met enige context begint, kunt u een algemene variabele initialiseren met een externe bron. Stel dat uw site vereist dat gebruikers zich aanmelden. Omdat uw agent de naam van een gebruiker al kent, kan hij klanten bij naam begroeten voordat ze hun eerste vraag beginnen te typen.

  1. Selecteer een algemene variabele.

  2. Selecteer in het deelvenster Variabele-eigenschappen Externe bronnen kunnen waarden instellen.

Algemene variabelen instellen in een ingesloten agent

Als u uw agent insluit in een eenvoudige webpagina kunt u variabelen en hun definities toevoegen aan de URL van de agent. Of, als u wat meer controle wilt, kunt u een codeblok <script> gebruiken om variabelen programmatisch aan te roepen en te gebruiken.

De variabelenaam in de queryreeks van de URL moet overeenkomen met de naam van de algemene variabele zonder het voorvoegsel Global.. Naar een algemene variabele Global.UserName wordt bijvoorbeeld in de query verwezen als UserName.

In de volgende voorbeelden wordt een basisdeclaratie voor de variabelen gebruikt. In een productiescenario kunt u als queryparameter of variabeledefinitie een andere variabele doorgeven die de gebruikersnaam al opslaat (bijvoorbeeld als u de gebruikersnaam van een inlogscript hebt).

Voeg de variabelen en hun definities toe aan de URL van de agent als parameters voor de querytekenreeks in de notatie botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Bijvoorbeeld:

De parameternaam is niet hoofdlettergevoelig. username=Ana zou ook in dit voorbeeld werken.

Algemene variabelen toevoegen aan een aangepast canvas

U kunt de variabele ook toevoegen aan een aangepast canvas.

  1. In de sectie <script> op de pagina waar u uw agent hebt, definieert u de variabelen als volgt en vervangt u variableName1 door de variabelenaam zonder de prefix Global. en variableDefinition1 door de definitie. Scheid meerdere variabelen met komma's (,).

       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. Roep in de sectie <script> de store aan wanneer u uw agent insluit, zoals in het volgende voorbeeld waar store wordt aangeroepen net voor waar styleOptions wordt aangeroepen (u moet de BOT_ID vervangen door de id van uw 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));