Peristiwa kustom adalah peristiwa yang Anda tentukan. Alat ini digunakan untuk menangani hal-hal yang terjadi di luar percakapan dengan pengguna akhir. Misalnya, pengguna akhir mengklik tombol, waktu tertentu telah berlalu, inventaris yang tersedia telah berubah selama percakapan, dan sebagainya.
Anda dapat memanggil peristiwa ini menggunakan fulfillment atau API.
Memanggil peristiwa dengan API
Permintaan untuk panggilan
Sessions
jenis detectIntent berisi kolom queryInput.event,
yang digunakan untuk memanggil peristiwa.
Jenis kolom ini adalah EventInput,
dan berisi kolom untuk nama peristiwa,
parameter opsional,
dan kode bahasa.
Saat memberikan peristiwa ke panggilan deteksi maksud, Anda tidak memberikan data lain, seperti ekspresi pengguna akhir. Satu-satunya tujuan panggilan adalah untuk memanggil peristiwa dan memicu intent.
Memanggil peristiwa dengan pemenuhan
Anda dapat memanggil peristiwa melalui
pemenuhan
dengan menyetel kolom followupEventInput dari
WebhookResponse.
Anda dapat menetapkan kolom followupEventInput.parameters secara opsional untuk memberikan
parameter
ke intent.
Contoh:
{
"followupEventInput": {
"name": "event-name",
"parameters": {
"parameter-name-1": "parameter-value-1",
"parameter-name-2": "parameter-value-2"
},
"languageCode": "en-US"
}
}
Jika parameter followupEventInput ditetapkan untuk WebhookResponse,
Dialogflow akan mengabaikan kolom fulfillmentText, fulfillmentMessages,
dan payload.
Selain itu, kolom followupEventInput.languageCode adalah kolom wajib diisi,
tetapi Dialogflow mengabaikan kolom ini,
karena bahasa sudah ditentukan
dalam permintaan deteksi maksud yang berasal.
Saat menerima respons webhook yang menyertakan peristiwa, Dialogflow akan segera memicu intent yang sesuai tempat peristiwa tersebut ditentukan.
Alur berikut menjelaskan langkah-langkahnya:
- Pengguna mengetik atau mengucapkan ekspresi.
- Dialogflow mencocokkan ekspresi pengguna akhir dengan Intent-1, yang dikonfigurasi untuk pemenuhan.
- Dialogflow mengirim permintaan webhook ke server Anda.
- Server Anda merespons dengan respons webhook yang menyertakan peristiwa lanjutan.
- Daripada merespons pengguna untuk kecocokan Intent-1, Dialogflow memicu Intent-2, yang dikonfigurasi untuk acara.
- Dialogflow akan melanjutkan seolah-olah pengguna akhir memulai pencocokan untuk Intent-2 dan menangani parameter dan pemenuhan yang diperlukan sebagaimana ditentukan oleh konfigurasi Intent-2.
Merangkai kecocokan intent dengan peristiwa respons webhook
Anda dapat menggabungkan kecocokan intent dengan peristiwa respons webhook. Dalam alur yang dijelaskan di atas, Intent-2 juga dapat dikonfigurasi untuk pemenuhan. Jika respons webhook server Anda menyediakan peristiwa lain, Dialogflow akan mencocokkan Intent-3 (dikonfigurasi untuk peristiwa) tanpa merespons pengguna akhir untuk Intent-2.
Dialogflow tidak merespons pengguna akhir hingga rantai berakhir. Saat menggabungkan maksud dengan cara seperti itu, setiap respons webhook harus dikirim dalam batasan waktu tunggu.