Setelah memiliki entity urutan, Anda dapat membuat maksud untuk mengumpulkan urutan dari pengguna akhir. Anda memerlukan setidaknya tiga maksud dengan tugas berikut:
- Maksud utama "Urutan"
- Menangkap ucapan untuk memulai pengumpulan urutan.
- Dipanggil oleh peristiwa lanjutan untuk terus merekam urutan hingga pengguna akhir mengatakan bahwa ia sudah selesai.
- Maksud kontekstual "Sequence - Edit"
- Menangkap ucapan untuk mengoreksi urutan terakhir yang dikumpulkan.
- Secara terprogram kembali ke maksud "Urutan" untuk mengumpulkan urutan yang dikoreksi.
- Maksud kontekstual "Sequence - Done"
- Menangkap ucapan yang menunjukkan bahwa urutan telah selesai.
Di bagian berikutnya, Anda akan melihat cara webhook menghubungkan semua ini, tetapi pertama-tama mari siapkan intent.
Buat intent "Urutan"
Ini adalah maksud utama pengumpulan urutan. Konfigurasikan seperti ini:
- Biarkan konteks input kosong agar pengguna akhir dapat memicu intent ini di awal panggilan.
- Tambahkan konteks output "collecting-sequence". Kita akan menggunakan konteks ini untuk mengaktifkan maksud koreksi dan penyelesaian selama alur.
- Tambahkan konteks output "editing-sequence" dan tetapkan masa aktif ke 0. Kita akan mengaktifkan konteks ini dengan masa aktif dari maksud "Sequence - Edit" di bagian berikutnya, dan penting untuk menghapus konteks tersebut di sini agar konteks "editing-sequence" hanya aktif segera setelah memicu maksud "Edit".
Tambahkan peristiwa "continue-sequence" sehingga webhook Anda dapat mengulang intent ini untuk mengumpulkan semua urutan parsial.

Tambahkan frasa pelatihan agar pengguna akhir dapat memicu intent ini untuk memulai alur. Contoh ini menggunakan frasa seperti "apa status pesanan saya", "lacak pesanan saya", "di mana pesanan saya", dll.
Tambahkan nama tindakan "handle-sequence" agar webhook tahu kapan harus diaktifkan. Anda akan membuat kode webhook di bagian berikutnya dalam tutorial ini, setelah semua intent disiapkan.
Tambahkan parameter wajib "new_sequence" menggunakan entity regexp yang Anda buat untuk mengumpulkan urutan parsial di bagian sebelumnya. Tetapkan jenis entitas ke "@alphanumeric" dan nilai ke "$new_sequence".
Tambahkan parameter opsional "existing_sequence" dengan nilai "#continue-sequence.existing_sequence" untuk mengekstrak urutan lama baru dari peristiwa. Anda dapat mengosongkan jenis entity.
Tambahkan parameter opsional "previous_sequence" dengan nilai "#continue-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari peristiwa. Anda dapat mengosongkan jenis entity.
Aktifkan panggilan webhook untuk maksud ini dan panggilan webhook untuk pengisian slot.

Buat intent "Sequence - Edit"
Intent ini memproses ucapan yang menunjukkan bahwa urutan sebelumnya salah didengar oleh agen. Siapkan seperti ini:
- Tambahkan konteks input "collecting-sequence" sehingga intent ini hanya dipanggil saat kita berada di tengah alur urutan. Ini adalah konteks yang sama yang diaktifkan oleh maksud "Urutan".
- Tambahkan konteks output "editing-sequence" untuk webhook pemenuhan kami agar dapat dirujuk. Saat intent ini diaktifkan, webhook akan mengulang Dialogflow kembali ke intent "Sequence" utama untuk mengumpulkan urutan berikutnya. Webhook untuk pengisian slot maksud "Sequence" akan memeriksa konteks "editing-sequence" yang aktif untuk memberikan respons "coba lagi" yang simpatik kepada pengguna akhir.
Tambahkan frasa pelatihan seperti "tidak", "itu tidak benar", dll.

Tambahkan nama tindakan "handle-sequence". Tindakan ini sama dengan intent "Sequence" sehingga kita dapat menggunakan kembali logika webhook yang sama.
Tambahkan parameter "new_sequence" dengan nilai "#collecting-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari konteks, sehingga membatalkan ucapan terakhir. Kita tidak menambahkan parameter "existing_sequence" di sini sehingga webhook akan mengganti urutan yang ada dengan urutan sebelumnya.
Aktifkan panggilan webhook untuk intent ini.

Buat intent "Sequence - Done".
- Menambahkan konteks input "collecting-sequence"
- Tambahkan konteks output "collecting-sequence" dan tetapkan masa aktif ke 0 untuk menghapus konteks. Menghapusnya akan mencegah intent "Edit" dan "Selesai" dipicu lagi sekarang setelah agen selesai mengumpulkan urutan.
Tambahkan frasa pelatihan seperti "itu saja", "semua selesai", dll.

Tambahkan parameter "sequence" dengan nilai "#collecting-sequence.existing_sequence" untuk mengekstrak urutan akhir dari konteks.
Aktifkan panggilan webhook untuk intent ini.

Menautkan intent melalui webhook
Sekarang Anda memiliki semua yang Anda butuhkan untuk mengodekan logika bagi maksud ini. Di bagian berikutnya, Anda akan melihat cara membuat kode webhook untuk menggunakan semua konteks, tindakan, parameter, dan peristiwa ini untuk menyelesaikan alur validasi urutan.