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.
Buat variabel atau gunakan panel Variabel untuk membuka variabel yang ada.
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
.
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.
Pilih variabel global yang diinginkan pada kanvas penulisan, atau di panel Variabel .
Pada panel Properti variabel , di bagian Referensi , pilih Lihat semua referensi.
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.
Pilih variabel global.
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.
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);
});
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));
Variabel global berlaku selama sesi pengguna tunggal. Anda menentukan variabel mana yang merupakan variabel global untuk membedakannya dari variabel tingkat topik.
Tetapkan variabel global
Setelah Anda membuat variabel global, variabel tersebut menjadi tersedia untuk semua topik.
Saat Anda memilih ikon {x}
saat Anda menulis pesan di simpul pesan atau simpul pertanyaan, Anda akan melihat semua variabel global. Variabel tercantum dalam urutan abjad, dan semua variabel global muncul bersama-sama karena semuanya dimulai dengan bot.
.
Saat Anda menggunakan simpul kondisi, simpul tindakan aliran, atau simpul keterampilan, Anda juga melihat variabel global tersedia di sana.
Gunakan kembali variabel di berbagai topik dengan menjadikannya variabel global
Pilih variabel yang diinginkan pada kanvas penulisan.
Di panel Properti variabel , di bawah Penggunaan, pilih Bot (topik apa pun dapat mengakses).
Nama variabel ditandai dengan awalan bot.
, untuk membedakannya dari variabel tingkat topik. Misalnya, variabel UserEmail
sekarang muncul sebagai bot.UserEmail
.
Catatan
Nama variabel global harus unik di semua topik.
Kelola variabel global
Setelah Anda membuat variabel global, Anda dapat melihat di mana variabel tersebut pertama kali didefinisikan dan topik apa saja yang menggunakannya. Fitur ini dapat berguna jika Anda bekerja pada agen baru, atau jika Anda memiliki beberapa variabel dan percabangan topik yang kompleks.
Buka sumber definisi variabel global
Pilih variabel yang diinginkan pada kanvas penulisan.
Pada panel Properti variabel , pilih Buka sumber.
Tindakan ini membawa Anda ke simpul dalam topik tempat variabel global dibuat.
Temukan semua topik menggunakan variabel global
Pilih variabel yang diinginkan pada kanvas penulisan.
Pada panel Properti variabel , di bagian Digunakan oleh , pilih salah satu topik tempat variabel digunakan untuk langsung menuju ke topik tersebut.
Inisialisasi variabel global
Jika variabel global dipicu sebelum diinisialisasi (atau "diisi"), agen secara otomatis memicu bagian topik tempat variabel global pertama kali didefinisikan—bahkan saat berada di topik berbeda—sebelum kembali ke topik awal. Perilaku ini memungkinkan agen untuk mengisi semua variabel tanpa mengganggu percakapan.
Misalnya, pelanggan memulai percakapan pada topik "Pemesanan janji temu", di mana variabel global bot.UserName
digunakan. Namun, variabel bot.UserName
pertama kali didefinisikan dalam topik "Selamat Datang".
Saat percakapan sampai pada pokok bahasan "Pemesanan janji temu" di mana bot.UserName
dirujuk, agen akan dengan mudah beralih ke simpul pertanyaan di mana bot.UserName
pertama kali didefinisikan.
Setelah pelanggan menjawab pertanyaan, agen melanjutkan topik "Pemesanan janji temu".
Perilaku variabel global saat mengimplementasikan tindakan melalui Power Automate alur atau keterampilan
Terkadang, Anda mungkin menggunakan alur atau keterampilan untuk menginisialisasi atau mengisi variabel.
Namun, ketika pengguna berinteraksi dengan agen, variabel mungkin sudah diisi pada titik sebelumnya dalam percakapan, atau Anda mungkin sudah menetapkan variabel secara eksternal.
Dalam situasi ini, aliran atau keterampilan masih berjalan dan mengisi variabel, menimpa apa pun yang sebelumnya tersimpan dalam variabel.
Siklus hidup variabel global dan pengaturan ulang nilainya
Variabel global dapat diakses dari topik apa saja, dan nilainya tetap ada sepanjang sesi.
Nilai hanya dihapus saat pengguna agen diarahkan ke topik Mulai Ulang , atau saat pengguna memicu topik ini secara langsung (misalnya, dengan mengetik "Mulai Ulang"). Dalam kasus ini, semua variabel global disetel ulang dan tidak memiliki nilai.
Tetapkan nilai variabel global dari sumber eksternal
Anda dapat mengatur variabel global untuk diinisialisasi dari sumber eksternal. Tindakan ini memungkinkan agen memulai percakapan dengan beberapa konteks.
Misalnya, seorang pelanggan membuka obrolan agen dari situs web Anda, dan situs tersebut sudah mengetahui nama pelanggan tersebut. Anda memberi tahu agen nama pengguna sebelum memulai percakapan, dan agen dapat melakukan percakapan yang lebih cerdas dengan pelanggan tanpa harus menanyakan nama mereka lagi.
Tetapkan variabel global dari sumber eksternal
Pilih variabel di kanvas penulisan.
Pada panel Properti variabel , di bagian Penggunaan , pilih kotak centang Sumber eksternal dapat menetapkan nilai.
Anda dapat menambahkan variabel dan definisinya jika Anda hanya menyematkan agen Anda di halaman web sederhana, atau Anda dapat menggunakan <script>
blok kode untuk memanggil dan menggunakan variabel secara terprogram.
Catatan
Nama variabel dalam string kueri harus sama dengan nama variabel global, tanpa awalan bot.
. Misalnya, variabel global bot.UserEmail
harus muncul sebagai UserEmail=
.
Pada contoh yang diuraikan di sini, pernyataan sederhana dibuat 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).
Untuk menambahkan variabel ke agen tertanam
Tambahkan variabel dan definisinya ke URL agen sebagai parameter string kueri (dalam format botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), misalnya:
Nama parameter tidak peka terhadap besar huruf. Artinya useremail=Ana@contoso.com
juga dapat digunakan dalam contoh ini.
Untuk menambahkan variabel ke kanvas kustom
Di bagian <script>
pada halaman tempat Anda memiliki agen, tentukan variabel sebagai berikut, gantikan variableName1
dengan nama variabel tanpa bot.
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);
});
Di dalam 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 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));
Hapus variabel global
Jika Anda menghapus variabel global yang digunakan dalam topik lain, referensi ke variabel tersebut dalam topik tersebut ditandai sebagai Unknown
. Anda menerima peringatan tentang penghapusan variabel global sebelum Anda dapat mengonfirmasi operasi.
Node yang memuat referensi ke variabel global yang dihapus mengindikasikan bahwa node tersebut memuat variabel yang tidak diketahui.
Topik dengan node yang berisi referensi ke variabel global yang dihapus mungkin berhenti berfungsi. Pastikan Anda menghapus atau memperbaiki semua topik yang menggunakan variabel yang dihapus sebelum menerbitkan agen Anda.
Bergantung pada pengaturan autentikasi agen, Anda memiliki serangkaian variabel global yang dikaitkan dengan penyedia autentikasi yang dipilih. Untuk detail tentang set variabel mana yang tersedia dan cara menggunakannya, lihat Menambahkan autentikasi pengguna ke topik.