Peristiwa kustom

Peristiwa kustom adalah peristiwa yang Anda tentukan. Mereka 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 seterusnya.

Anda dapat memanggil peristiwa ini menggunakan fulfillment atau API.

Memanggil peristiwa dengan API

Permintaan untuk panggilan detectIntent jenis Sessions 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 intent deteksi, Anda tidak memberikan data lain, seperti ekspresi pengguna akhir. Tujuan panggilan hanya untuk memanggil peristiwa dan memicu intent.

Memanggil peristiwa dengan fulfillment

Anda dapat memanggil peristiwa melalui fulfillment dengan menetapkan kolom followupEventInput dalam WebhookResponse. Jika ingin, Anda dapat menetapkan kolom followupEventInput.parameters 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 disetel 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 intent deteksi asal.

Saat menerima respons webhook yang menyertakan peristiwa, Dialogflow akan segera memicu intent terkait tempatnya ditentukan.

Alur berikut menjelaskan langkah-langkahnya:

  1. Pengguna akhir mengetik atau mengucapkan ekspresi.
  2. Dialogflow mencocokkan ekspresi pengguna akhir dengan Intent-1 yang dikonfigurasi untuk fulfillment.
  3. Dialogflow mengirimkan permintaan webhook ke server Anda.
  4. Server Anda merespons dengan respons webhook yang menyertakan peristiwa tindak lanjut.
  5. Bukannya merespons pengguna untuk kecocokan Intent-1, Dialogflow akan memicu Intent-2, yang dikonfigurasi untuk peristiwa tersebut.
  6. Dialogflow akan berjalan seolah-olah pengguna akhir memulai pencocokan untuk Intent-2 dan menangani parameter dan fulfillment yang diperlukan seperti yang ditentukan oleh konfigurasi Intent-2.

Intent rantai cocok dengan peristiwa respons webhook

Anda dapat merangkai pencocokan intent dengan peristiwa respons webhook. Dalam alur yang dijelaskan di atas, Intent-2 juga dapat dikonfigurasi untuk fulfillment. Jika respons webhook server Anda menyediakan peristiwa lain, Dialogflow akan melanjutkan untuk mencocokkan Intent-3 (dikonfigurasi untuk peristiwa tersebut) tanpa merespons pengguna akhir untuk Intent-2.

Dialogflow tidak merespons pengguna akhir hingga rantai berakhir. Saat merangkai intent dengan cara tersebut, setiap respons webhook harus dikirim dalam batasan waktu tunggu.