Bagikan melalui


Menggunakan kembali variabel di seluruh topik

Variabel menyimpan respons pelanggan Anda terhadap pertanyaan dari agen Anda. Misalnya, Anda dapat menyimpan nama pelanggan dalam variabel bernama UserName. Agen kemudian dapat menyapa pelanggan dengan namanya saat percakapan berlanjut.

Secara default, nilai variabel hanya dapat digunakan dalam topik tempat variabel tersebut dibuat. Namun, memungkinkan untuk menggunakan kembali nilai yang sama di berbagai topik. Misalnya, topik Selamat Datang menanyakan nama dan alamat email pelanggan. Dalam topik Pemesanan Janji Temu, Anda ingin agen mengingat apa yang dimasukkan pelanggan dan tidak bertanya lagi.

Salah satu cara untuk menggunakan kembali suatu variabel adalah dengan meneruskan variabel tersebut antar topik. Cara lainnya adalah membuat variabel bercakupan global, dan itulah yang dibahas dalam artikel ini. Variabel global disebut demikian karena tersedia di semua topik di seluruh agen.

Variabel global berlaku selama sesi pengguna tunggal. Anda menentukan variabel mana yang merupakan variabel global untuk membedakannya dari variabel tingkat topik.

Buat variabel global

Anda membuat variabel global dengan mengubah cakupan variabel topik.

  1. Buat variabel atau gunakan panel Variabel untuk membuka variabel yang ada.

  2. Pada panel Properti variabel , pilih Global (topik apa pun dapat mengakses).

    Nama variabel diberi awalan Global. untuk membedakannya dari variabel tingkat topik. Misalnya, variabel UserName ditampilkan sebagai Global.UserName.

  3. Simpan topik.

    Nama variabel global harus unik di semua topik.

Gunakan variabel global

Saat Anda menulis pesan di node Pesan atau node Pertanyaan , pilih ikon {x} untuk melihat variabel yang tersedia untuk topik tersebut. Variabel global muncul di tab Kustom bersama dengan variabel topik apa pun. Variabel dicantumkan berdasarkan urutan abjad.

Temukan semua topik menggunakan variabel global

Anda dapat menemukan di mana variabel global didefinisikan dan topik lain apa yang menggunakannya. Fitur ini dapat berguna jika Anda bekerja pada agen baru, atau jika Anda memiliki beberapa variabel dan percabangan topik yang kompleks.

  1. Pilih variabel global yang diinginkan pada kanvas penulisan, atau di panel Variabel .

  2. Pada panel Properti variabel , di bagian Referensi , pilih Lihat semua referensi.

  3. Beralih ke tab Lainnya , dan pilih topik mana pun tempat variabel digunakan untuk langsung menuju ke topik dan simpul tersebut.

Siklus hidup variabel global

Secara default, nilai variabel global tetap ada hingga sesi berakhir. Node Hapus Nilai Variabel mengatur ulang nilai variabel global dan digunakan dalam topik sistem Atur Ulang Percakapan . Topik tersebut dapat dipicu baik oleh pengalihan atau saat pengguna memasukkan frasa pemicu seperti "Mulai lagi." Dalam kasus tersebut, semua variabel global akan disetel ulang.

Tetapkan nilai variabel global dari sumber eksternal

Jika Anda ingin memastikan agen memulai percakapan dengan beberapa konteks, Anda dapat menginisialisasi variabel global dengan sumber eksternal. Katakanlah situs Anda mengharuskan pengguna untuk masuk. Karena agen Anda sudah mengetahui nama pengguna, ia dapat menyapa pelanggan dengan nama sebelum mereka mulai mengetik pertanyaan pertama.

  1. Pilih variabel global.

  2. Pada panel Properti variabel , pilih Sumber eksternal dapat menetapkan nilai.

Tetapkan variabel global dalam agen tertanam

Jika Anda menyematkan agen Anda di halaman web sederhana, Anda dapat menambahkan variabel dan definisinya ke URL agen. Atau, jika Anda menginginkan sedikit lebih banyak kontrol, Anda dapat menggunakan <script> blok kode untuk memanggil dan menggunakan variabel secara terprogram.

Nama variabel dalam string kueri URL harus sama dengan nama variabel global tanpa awalan Global. . Misalnya, variabel global Global.UserName akan disebut sebagai UserName dalam kueri.

Contoh berikut menggunakan deklarasi dasar untuk variabel. Dalam skenario produksi, Anda dapat memasukkan variabel lain yang sudah menyimpan nama pengguna sebagai parameter kueri atau definisi variabel (misalnya, jika Anda memiliki nama pengguna dari skrip masuk).

Tambahkan variabel dan definisinya ke URL agen sebagai parameter string kueri dalam format botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

Contoh:

Nama parameter tidak peka terhadap besar huruf. username=Ana juga akan berfungsi dalam contoh ini.

Tambahkan variabel global ke kanvas kustom

Anda juga dapat menambahkan variabel ke kanvas kustom.

  1. Di bagian <script> pada halaman tempat Anda memiliki agen, tentukan variabel sebagai berikut, gantikan variableName1 dengan nama variabel tanpa Global. awalan dan variableDefinition1 dengan definisi. Pisahkan beberapa variabel dengan koma (,).

       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. Di bagian <script> Anda, panggil store saat Anda menyematkan agen Anda, seperti dalam contoh berikut where store dipanggil tepat sebelum where styleOptions dipanggil (Anda harus mengganti BOT_ID dengan ID agen Anda):

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