Aracılığıyla paylaş


Konular arasında içerik taşımak için değişkenleri kullanma

Değişkenler, müşterilerinizin yardımcı pilotunuzdan gelen sorulara verdiği yanıtları depolar. Örneğin, müşterinin adını UserName değişkenine kaydedebilirsiniz. Daha sonra konuşma devam ederken yardımcı pilot müşteriye ismiyle 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 Ayırma konusunda, yardımcı pilotun müşterinin girdiklerini hatırlamasını ve yeniden 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 yardımcı pilottaki bütün konularda kullanılabilirler.

Yardımcı pilot değişkenleri tek bir kullanıcı oturumu sırasında geçerlidir. Konu düzeyindeki değişkenlerden ayırt etmek için hangi değişkenlerin yardımcı pilot değişkeni olarak ele alınması gerektiğini belirtirsiniz.

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 bölmesinde, 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.

    Genel ayar vurgulanmış olarak Değişken Özellikleri bölmesini gösteren ekran görüntüsü.

  3. Konuyu kaydedin.

    Global değişkeninin adı, tüm konularda benzersiz olmalıdır. Çakışma durumunda, konunuzu kaydetmeden önce değişkeni yeniden adlandırmanız gerekir.

Global değişkenleri kullanma

İleti düğümünde veya Soru düğümünde yardımcı pilot iletisi oluştururken, konu için kullanılabilen 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.

Genel değişken seçimini gösteren ekran görüntüsü.

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. Yeni bir yardımcı pilot üzerinde çalışıyorsanız veya birden fazla değişkeniniz ve karmaşık konu dallanmanız varsa bu yararlıdır.

  1. Yazma tuvalinde bir genel değişken seçin veya Değişkenler bölmesini açın ve bir genel değişken seçin.

  2. Değişken özellikleri bölmesinde Referans bölümünde değişkenin kullanıldığı konuları seçerek bu konulara ve düğüme gidin.

    Değişken özellikleri bölmesinde belirli bir değişkenin kullanıldığı konuların listesini gösteren ekran görüntüsü.

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önlendirme ile veya kullanıcı "Baştan başla." gibi bir tetik tümceciği yazdığında tetiklenebilir. Bu durumda, tüm genel değişkenler sıfırlanır.

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

Yardımcı pilotun 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. Yardımcı pilotunuz kullanıcının adını zaten bildiği için ilk sorularını yazmaya başlamadan önce müşterileri ada göre 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 yardımcı pilotta global değişkenleri ayarlama

Yardımcı pilotunuzu basit bir web sayfasına yerleştiriyorsanız, değişkenleri ve tanımlarını yardımcı pilotun 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 örnekler, değişkenler için basit bir açıklama sağlar. Ü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ı yardımcı pilot'un URL'sine, sorgu dizesi parametreleri olarak botURL?variableName1=variableDefinition1&variableName2=variableDefinition2 biçimde ekleyin.

Örneğin:

Parametre adı büyük/küçük harfe duyarlı değildir. username=Renata değişkeninin bu örnekte de çalışacağı anlamına gelir.

Özel tuvale genel değişkenler ekleme

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

  1. Sayfanın yardımcı pilotunuza sahip olduğunuz <script> bölümünde, variableName1'u Global. öneki olmadan değişken ismiyle ve tanım için variableDefinition1 ile değiştirin. 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, yardımcı pilotunuzu eklediğinizde store'u adlandırın; örneğin aşağıda store, styleOptions'ün adlandırıldığı yerin hemen üstünde adlandırılır (yardımcı pilotunuzun kimliğiyle BOT_ID'u 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));