Anda dapat membuat pemroses peristiwa untuk berbagai peristiwa yang dipicu oleh Dialogflow CX Messenger. Untuk mengetahui informasi selengkapnya, lihat
Pemroses peristiwa.
Beberapa peristiwa memiliki kolom objek detail, yang memberikan informasi lebih lanjut tentang peristiwa tersebut.
df-messenger-loaded
Terjadi saat dialog agen dimuat untuk pertama kalinya.
Properti detail:
- tidak ada
Contoh:
window.addEventListener('df-messenger-loaded', () => {
// Messenger is now ready.
});
df-chat-open-changed
Terjadi saat Anda membuka atau menutup chat.
Properti detail:
isOpen(boolean): status baru chat
Contoh:
window.addEventListener('df-chat-open-changed', (event) => {
console.log(`Chat is ${event.detail.isOpen ? 'open' : 'closed'}`);
});
df-user-input-entered
Terjadi saat Anda memasukkan teks dalam chat.
Properti detail:
input(string): nilai yang dimasukkan pengguna
Contoh:
window.addEventListener('df-user-input-entered', (event) => {
console.log(event.detail.input);
});
df-request-sent
Terjadi saat Anda mengirim permintaan ke backend Dialogflow CX.
Properti detail:
data(object): penampung datadata.requestBody(object): permintaan yang dikirim
Contoh:
window.addEventListener('df-request-sent', (event) => {
console.log('Request', event.detail.data.requestBody);
});
window.addEventListener('df-request-sent', (event) => {
event.preventDefault(); // Messenger won't send the request.
// Send request yourself.
});
df-response-received
Terjadi saat respons diterima dari dialog agen.
Properti detail:
data(object): penampung datadata.messages(object[]): daftar pesan respons yang diuraikanraw(object): respons verbatim yang diterima
Contoh:
window.addEventListener('df-response-received', (event) => {
// Remove all non-text messages.
event.detail.data.messages = event.detail.data.messages.filter(message => {
return message.type === 'text';
});
});
window.addEventListener('df-response-received', (event) => {
event.preventDefault(); // Messenger won't handle the response.
const messenger = document.querySelector('df-messenger');
event.detail.data.messages.forEach(message => {
if (message.type === 'text') {
messenger.renderCustomText(message.text);
}
});
});
df-messenger-error
Terjadi saat permintaan ke backend gagal.
Properti detail:
error(object): error yang terjadi
Contoh:
window.addEventListener('df-messenger-error', (event) => {
console.log(event.detail.error);
});
df-session-expired
Terjadi saat sesi dengan agen berakhir.
Properti detail:
- tidak ada
Contoh:
window.addEventListener('df-session-expired', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session expired*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-session-ended
Terjadi saat sesi berakhir.
Properti detail:
- tidak ada
Contoh:
window.addEventListener('df-session-ended', () => {
const messenger = document.querySelector('df-messenger');
messenger.renderCustomText(`*Session ended*`, /* isBot= */ true);
messenger.startNewSession({ retainHistory: true });
});
df-url-suggested
Terjadi saat URL referensi yang disarankan diberikan.
Properti detail:
suggestedUrls(string[]): daftar URL yang disarankan
Contoh:
window.addEventListener('df-url-suggested', (event) => {
if (event.detail.suggestedUrls.length === 1) {
window.location.href = event.detail.suggestedUrls[0];
}
});
df-accordion-clicked
Terjadi saat Anda mengklik akordeon.
Properti detail:
actionLink(string): href anchor akordeon, jika ditentukan
df-button-clicked
Terjadi saat Anda mengklik tombol.
Properti detail:
actionLink(string): href anchor tombol yang diklik, jika ditentukanevent(string): peristiwa tombol yang diklik, jika ditentukanlanguageCode(string): kode bahasa acara jika ditentukan, jika tidak, kode bahasa utamatext(string): teks tombol yang diklik
window.addEventListener('df-button-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-chip-clicked
Terjadi saat Anda mengklik chip.
Properti detail:
actionLink(string): href anchor chip yang diklik, jika ditentukantext(string): teks chip yang diklik
df-citation-clicked
Terjadi saat Anda mengklik kutipan.
Properti detail:
actionLink(string): href anchor kutipantitle(string): judul kutipan
df-info-card-clicked
Terjadi saat Anda mengklik kartu info.
Properti detail:
actionLink(string): href anchor kartu infotitle(string): judul kartu info
df-list-element-clicked
Terjadi saat Anda mengklik elemen daftar.
Properti detail:
actionLink(string): href anchor elemen daftar, jika ditentukanevent(string): peristiwa dari elemen daftar yang diklik, jika ditentukanlanguageCode(string): kode bahasa acara jika ditentukan, jika tidak, kode bahasa utamatitle(string): judul elemen daftar
window.addEventListener('df-list-element-clicked', (event) => {
event.preventDefault(); // Messenger won't send the "event" request.
// Handle "event" yourself.
});
df-image-clicked
Terjadi saat Anda mengklik gambar.
Properti detail:
actionLink(string): href anchor gambar, jika ditentukan