Format webhook Actions on Google (Dialogflow)

Dokumen ini menjelaskan format webhook untuk berkomunikasi antara Actions on Google dan layanan fulfillment yang menentukan antarmuka pengguna percakapan kustom.

Penting untuk memahami cara Actions on Google dan fulfillment Anda berkomunikasi melalui format webhook Actions on Google:

  • Untuk berpartisipasi dalam percakapan dengan Actions on Google, fulfillment Anda akan menerapkan webhook yang dapat merespons permintaan HTTP dari Actions on Google.
  • Saat pengguna memanggil Action Anda, fulfillment Anda akan menerima HTTP POST dengan payload JSON yang mendeskripsikan permintaan pengguna.
  • Pada akhirnya, fulfillment Anda bertanggung jawab untuk membaca parameter dari payload permintaan, menghasilkan respons berformat JSON yang sesuai, dan mengirim balasan ke Asisten dengan respons ini.

Jenis permintaan

Tabel ini merangkum jenis permintaan yang mungkin diterima webhook Anda dari Asisten:

Jenis Deskripsi Contoh JSON
Permintaan pemanggilan Ucapan pengguna yang memulai percakapan dengan fulfillment Anda atau memicu Tindakan deep link (misalnya, "Bicara dengan Koki Pribadi untuk menemukan resep makan malam").
  • Jika menggunakan Dialogflow, permintaan ini sesuai dengan intent yang ditentukan di bagian Discovery pada setelan integrasi Asisten Google.
  • Jika menggunakan Actions SDK, permintaan ini sesuai dengan intent yang ditentukan dalam paket Action Anda.
Permintaan percakapan Penggunaan oleh pengguna dalam sesi yang sama setelah percakapan dengan fulfillment Anda dimulai. Dalam format webhook percakapan, ini adalah respons teks mentah dari pengguna yang sesuai dengan intent actions.intent.TEXT yang diminta fulfillment Anda pada giliran sebelumnya.
Hasil helper Permintaan yang dikirim oleh Asisten ke fulfillment Anda saat webhook telah meminta intent bantuan pada percakapan sebelumnya untuk menangani bagian-bagian percakapan (misalnya, actions.intent.OPTION dan actions.intent.PERMISSION).

Permintaan dan respons percakapan

Dalam skenario interaksi Actions on Google standar, pengguna mengucapkan frasa untuk memanggil Action. Untuk memberikan respons, Actions on Google menemukan fulfillment yang cocok dengan Action yang dipanggil oleh pengguna dan mengirimkan permintaan ke sana.

Setelah Actions on Google menetapkan bahwa fulfillment Anda cocok untuk pemanggilan pengguna, Actions on Google akan memulai sesi percakapan dengan mengirimkan permintaan HTTP yang berisi payload JSON dengan informasi permintaan pengguna ke endpoint fulfillment Anda. Fulfillment Anda akan mengurai permintaan dan menampilkan respons yang berisi payload JSON. Actions on Google kemudian mengonversi payload menjadi output ucapan dan multimedia yang dirender untuk pengguna.

Gambar 1. Actions on Google memanggil fulfillment Anda melalui Actions SDK.

Untuk mempelajari lebih lanjut format payload JSON saat Actions on Google memanggil fulfillment Anda melalui Actions SDK, lihat Format webhook percakapan.

Permintaan dan respons Dialogflow

Saat membuat Action, Anda dapat menggunakan Dialogflow secara opsional untuk menyederhanakan tugas membuat antarmuka percakapan. Dalam skenario ini, Dialogflow bertindak sebagai proxy antara Actions on Google dan fulfillment Anda. Actions on Google mengirimkannya ke Dialogflow, bukan mengirim permintaan HTTP/JSON langsung ke endpoint fulfillment Anda.

Dialogflow menggabungkan payload JSON yang terdapat dalam permintaan asli ke dalam format webhook Dialogflow, dan meneruskan permintaan yang dihasilkan ke fulfillment Dialogflow Anda.

Sebaliknya, saat fulfillment Anda mengirimkan respons ke Dialogflow, payload JSON respons harus mematuhi format webhook Dialogflow. Fulfillment Anda mengurai parameter dari permintaan JSON Dialogflow, dan menghasilkan respons dalam format webhook Dialogflow. Dialogflow kemudian mengonversi respons dari fulfillment Anda menjadi pesan respons yang dipahami Asisten.

Gambar 2. Actions on Google memanggil fulfillment Anda melalui Dialogflow.

Untuk mempelajari lebih lanjut format payload JSON saat Actions on Google memanggil fulfillment Anda melalui Dialogflow, lihat Format webhook Dialogflow.