Aracılığıyla paylaş


Çeşitli konularda değişkenleri yeniden kullanma

Değişkenler , müşterilerinizin aracınızdaki sorulara verdiği yanıtları depolar. Örneğin, müşterinin adını UserName değişkenine kaydedebilirsiniz. Ardından aracı, konuşma devam ederken müşteriye adıyla hitap edebilir.

Varsayılan olarak, bir değişkenin değeri yalnızca bu değişkenin oluşturulduğu konuda kullanılabilir. Ancak, aynı değeri konuların arasında yeniden kullanmak mümkündür. Örneğin bot, Hoş Geldiniz konusunda müşterinin adını ve e-posta adresini sorar. Randevu Alma konusunda, aracı müşterinin ne girdiğini hatırlamasını ve bir daha sormamasını istiyorsunuz.

Bir değişkeni yeniden kullanmanın bir yolu da değişkeni konular arasında geçirmektir. Diğer yol ise genel değişkeni kapsam içinde yapmak ve bu makalede bu ele alınır. Genel değişkenler böyle adlandırılır çünkü tüm aracıdaki bütün konularda kullanılabilirler.

Global değişkenler tek bir kullanıcı oturumu sırasında geçerlidir. Hangi değişkenlerin genel değişkenler olduğunu belirterek bunları konu düzeyindeki değişkenlerden ayırt edebilirsiniz.

Global değişken oluşturma

Bir konu değişkeninin kapsamını değiştirerek genel değişken oluşturabilirsiniz.

  1. Mevcut bir değişkeni açmak için değişken oluşturun veya Değişkenler bölmesini kullanın.

  2. Değişken özellikleri panelinde, Global (tüm konular erişebilir) seçeneğini belirleyin.

    Konu düzeyindeki değişkenlerden ayırmak için değişken adına Global. öneki verilir. Örneğin, UserName değişkeni şimdi Global.UserName olarak görüntülenir.

  3. Konuyu kaydedin.

    Genel değişkenin adı tüm konularda benzersiz olmalıdır.

Global değişkenleri kullanma

İleti düğümünde veya Soru düğümünde bir ileti oluştururken, konuya yönelik kullanılabilir değişkenleri görüntülemek için {x} simgesini seçin. Global değişkenler, tüm konu değişkenlerinin yanı sıra, Özel sekmesinde görüntülenir. Değişkenler alfabetik olarak listelenir.

Bir global değişkeni kullanan tüm konuları bulun

Genel değişkenin nerede tanımlandığını ve başka hangi konuların kullandığını görebilirsiniz. Bu özellik, yeni bir aracı üzerinde çalışıyorsanız veya birden fazla değişkeniniz ve karmaşık konu dallanması varsa faydalı olabilir.

  1. Geliştirme tuvalinde veya Değişkenler panelinde istediğiniz global değişkeni seçin.

  2. Değişken özellikleri panelinde, Başvuru bölümünde, Tüm başvuruları görüntüle'yi seçin.

  3. Diğer sekmesine geçin ve doğrudan o konuya ve düğüme gitmek için değişkenin kullanıldığı herhangi bir konuyu seçin.

Genel değişkenlerin yaşam döngüsü

Varsayılan olarak, bir genel değişkenin değeri oturum bitene kadar devam eder. Değişken değerlerini temizle düğümü, genel değişkenlerin değerlerini sıfırlar ve Konuşmayı Sıfırla sistem konusunda kullanılır. Bu konu, yeniden yönlendirmeyle veya kullanıcı "Baştan başla" gibi bir tetikleme tümceciği girdiğinde tetiklenebilir. Bu durumda, tüm global değişkenler sıfırlanır.

Harici kaynaklardan bir global değişkeninin değerini ayarlama

Aracının bazı bağlamla bir konuşma başlattığından emin olmak istiyorsanız, bir dış kaynak ile genel bir değişkeni başlatabilirsiniz. Sitenizin kullanıcıların oturum açmalarını gerektirdiğini varsayalım. Aracınız bir kullanıcının adını zaten bildiğinden, müşterileri ilk sorularını yazmaya başlamadan önce adlarıyla karşılayabilir.

  1. Bir genel değişken seçin.

  2. Değişken özellikleri bölmesinde, Dış kaynaklar değer belirleyebilir'i seçin.

Eklenen aracıda global değişkenleri ayarlama

Aracınızı basit bir web sayfasına yerleştiriyorsanız, değişkenleri ve tanımlarını aracının URL'sine ekleyebilirsiniz. Daha fazla denetim istiyorsanız değişkenleri programlı olarak çağırıp kullanmak için bir <script> kod bloğu kullanabilirsiniz.

URL'nin sorgu dizesindeki değişken adı, Global. öneki olmadan global değişkenin adı ile eşleşmelidir. Örneğin Global.UserName genel değişkeni, sorguda UserName olarak referans edilir.

Aşağıdaki örneklerde değişkenler için temel bir bildirim kullanılır. Üretim senaryosunda, sorgu parametresini veya değişken tanımını kullanıcının adını zaten depolayan başka bir değişkene aktarabilirsiniz (örneğin, oturum açma komut dosyasındaki kullanıcı adına sahipseniz).

Değişkenleri ve tanımlarını aracının URL'sine, sorgu dizesi parametreleri olarakbotURL?variableName1=variableDefinition1&variableName2=variableDefinition2 biçimde ekleyin.

Örneğin:

Parametre adı büyük/küçük harfe duyarlı değildir. username=Ana bu örnekte de işe yarayacaktır.

Özel tuvale genel değişkenler ekleme

Ayrıca özel tuvale değişken ekleyebilirsiniz.

  1. Aracınızın bulunduğu sayfadaki <script> bölümünde değişkenleri aşağıdaki gibi tanımlayın, değişken adı için Global. öneki olmadan variableName1 değişkenini ve tanım için variableDefinition1 değişkenini kullanın. Birden çok değişkeni virgül (,) ile ayırın.

       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. <script> bölümünüzde aracınızı katıştırdığınızda store değişkenini çağırın; önceki örnekte styleOptions değişkeninin çağrıldığı yerin hemen üzerinde store değişkeninin çağrıldığı gibi (BOT_ID aracınızın kimliğinizle değiştirmeniz gerekir):

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