Komponen bawaan pengumpulan alamat

Komponen bawaan pengumpulan alamat mengumpulkan alamat dari pengguna akhir, dan menggunakan Google Address Validation API untuk memvalidasi alamat.

Batasan

Selain batasan komponen bawaan umum, komponen bawaan ini memiliki batasan berikut:

Fungsi tambahan

Fungsi tambahan berikut disediakan oleh komponen bawaan ini:

Contoh dialog

Contoh dialog berikut menunjukkan skenario umum yang ditangani oleh komponen bawaan ini. Contoh dialog menunjukkan perilaku saat komponen dipanggil melalui telepon, yang memicu Intent Sambutan Default dan respons agen pertama di awal percakapan.

Alamat lengkap yang valid

Pengguna akhir memberikan alamat lengkap dan komponen pengumpulan alamat berhasil memverifikasinya.

Input pengguna Respons agen
Beri tahu saya alamat lengkap Anda untuk memulai.
1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA
Saya telah mengumpulkan alamat akhir; nomor jalan adalah 1600, rutenya adalah Amphitheatre Parkway, kotanya adalah Mountain View, wilayah administratifnya adalah CA, kode posnya adalah 94043, negaranya adalah USA. Apakah itu benar? Ucapkan ya atau tidak.
ya
Bagus, saya sudah mengumpulkan alamatnya.

Alamat valid sebagian dengan elemen yang disimpulkan

Pengguna akhir memberikan alamat parsial; agen menebak bagian yang tidak ada dan berhasil memverifikasinya setelah konfirmasi dari pengguna akhir.

Input pengguna Respons agen
Beri tahu saya alamat lengkap Anda untuk memulai.
1600 Amphitheatre Parkway
Saya telah menebak beberapa bagian alamat, kotanya adalah Mountain View, kode posnya adalah 94043, wilayah administratifnya adalah CA, negaranya adalah USA.

Saya telah mengumpulkan alamat akhir; nomor jalannya adalah 1600, rutenya adalah Amphitheatre Parkway, kotanya adalah Mountain View, wilayah administratifnya adalah CA, kode posnya adalah 94043, negaranya adalah USA. Apakah itu benar? Ucapkan ya atau tidak.
Ya
Bagus, saya sudah mengumpulkan alamatnya.

Alamat valid sebagian dengan elemen yang diberikan pengguna

Pengguna akhir memberikan alamat yang tidak lengkap; agen menebak bagian yang hilang, tetapi pengguna akhir memberikan inputnya sendiri setelah mengucapkan "tidak", dan agen berhasil menerima alamat tersebut.

Input pengguna Respons agen
Beri tahu saya alamat lengkap Anda untuk memulai.
1600 Amphitheatre Parkway
Saya telah menebak beberapa bagian alamat, kotanya adalah Mountain View, kode posnya adalah 94043, wilayah administratifnya adalah CA, negaranya adalah USA.

Saya telah mengumpulkan alamat lengkapnya; nomor jalannya adalah 1600, rutenya adalah Amphitheatre Parkway, kotanya adalah Mountain View, wilayah administratifnya adalah CA, kode posnya adalah 94043, negaranya adalah USA. Apakah itu benar? Ucapkan ya atau tidak.
Tidak
Oke. Beri tahu saya bagian alamat mana yang perlu diubah.
Kode Pos
Bisakah Anda menyebutkan kode posnya?
94044
Saya sudah selesai melakukan pembaruan ini. Apakah ada hal lain yang perlu diubah? Ucapkan ya atau tidak.
tidak
Setelah validasi, saya telah mengganti kode pos menjadi 94043.

Saya telah mengumpulkan alamat akhir; nomor jalan adalah 1600, rutenya adalah Amphitheatre Parkway, kotanya adalah Mountain View, wilayah administratifnya adalah CA, kode posnya adalah 94043, negaranya adalah USA. Apakah itu benar? Ucapkan ya atau tidak.
ya
Bagus, saya sudah mengumpulkan alamatnya.

Input tidak dikenal

Komponen keluar dari alur setelah pengguna akhir memberikan input yang tidak dikenali sebanyak tiga kali.

Input pengguna Respons agen
Beri tahu saya alamat lengkap Anda untuk memulai.
Tidak apa-apa
Maaf, saya tidak mengerti. Beri tahu saya alamat lengkap Anda untuk memulai.
bagus
Hmm, saya masih belum bisa memahaminya. Beri tahu saya alamat lengkap Anda untuk memulai.
hebat
Maaf, saya kesulitan memahami respons Anda.

Alamat tidak didukung

Komponen keluar dari alur setelah pengguna akhir memberikan alamat yang saat ini tidak didukung oleh Address Validation API.

Input pengguna Respons agen
Beri tahu saya alamat lengkap Anda untuk memulai.
India
Maaf, saat ini saya tidak dapat memvalidasi alamat di wilayah tersebut.

Validasi alamat

Untuk memahami cara komponen pengumpulan alamat memvalidasi alamat, lihat Ringkasan Address Validation API.

Komponen pengumpulan alamat menangkap input pengguna akhir menggunakan entity sistem@sys.address dan mengirimkan alamat yang diambil ke Address Validation API untuk mengekstrak elemen alamat untuk pemrosesan lebih lanjut.

Elemen alamat berikut ditampilkan oleh Address Validation API dan digunakan oleh komponen untuk mengumpulkan dan memvalidasi alamat lengkap:

  • administrative_area_level_1
  • kepulauan
  • country
  • locality
  • postal_code
  • route
  • street_number

Anda dapat mencoba Demo Validasi Alamat Google dengan alamat apa pun dari wilayah yang didukung.

Konvensi penamaan

Komponen bawaan ini menggunakan konvensi penamaan berikut:

Fitur Format Contoh
Flow [Nama Komponen] Pengumpulan Alamat
Intent Khusus Komponen prebuilt_components_[component_name]_[intent_name] prebuilt_components_address_collection_locality
Parameter [param_name] user_provided_address
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_address_collection:address_validation

Parameter input

Parameter input adalah parameter yang digunakan untuk mengonfigurasi perilaku tertentu dari komponen. Parameter akan digunakan oleh satu atau beberapa kondisi dalam alur untuk menentukan perilaku komponen. Parameter cakupan alur harus ditetapkan di halaman awal komponen seperti yang dijelaskan di bawah. Parameter cakupan sesi dapat ditetapkan oleh flow panggilan, atau di halaman awal komponen ini.

Anda dapat mengonfigurasi elemen alamat yang diperlukan oleh komponen ini dengan mengubah preset parameter di halaman awal alur.

Komponen bawaan ini menerima parameter input berikut:

Nama Parameter Deskripsi Format Input
$flow.zip_code Jika elemen alamat kode pos diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.city Jika elemen alamat kota diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.admin_area Jika elemen alamat wilayah administratif diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.street_number Jika elemen alamat nomor jalan diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.route Jika elemen alamat rute diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.country Jika elemen alamat negara diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.island Jika elemen alamat pulau diperlukan, tetapkan sebagai true, jika tidak, tetapkan sebagai false. boolean
$flow.retry_num Menetapkan batas percobaan ulang maksimum untuk panggilan webhook Maps Address Validation API integer

Untuk mengonfigurasi parameter input komponen ini, luaskan untuk melihat petunjuk.

  1. Buka konsol Dialogflow CX.
  2. Pilih project Google Cloud Anda.
  3. Pilih agen Anda.
  4. Pilih tab Build.
  5. Klik komponen yang diimpor di bagian Flows.
  6. Klik Start Page di bagian Pages.
  7. Klik Rute true di Start Page.
  8. Di jendela Route, edit nilai Parameter Presets sesuai kebutuhan.
  9. Klik Simpan.

Parameter output

Parameter output adalah parameter sesi yang akan tetap aktif setelah keluar dari komponen. Parameter ini berisi informasi penting yang dikumpulkan oleh komponen. Komponen bawaan ini memberikan nilai untuk parameter output berikut:

Nama Parameter Deskripsi Format Output
address_collection_address Parameter ini menampilkan objek alamat jika alamat diambil oleh komponen
{
"admin-area": string,
"city": string,
"country": string,
"island": string,
"route": string,
"zip-code": string,
"street-number": string
}
address_collection_status Parameter ini menampilkan status alamat yang dikumpulkan. Nilai yang ditampilkan adalah salah satu dari:

VALID_ADDRESS: alamat dikumpulkan dan divalidasi oleh Address Validation API.

INVALID_ADDRESS: alamat dikonfirmasi oleh pengguna akhir, tetapi satu atau beberapa elemen tidak divalidasi atau ditandai sebagai UNCONFIRMED_BUT_PLAUSIBLE oleh Address Validation API.

MAPS_API_ERROR: alamat tidak dikumpulkan karena error Address Validation API.

COUNTRY_NOT_SUPPORTED: alamat tidak dikumpulkan karena Address Validation API tidak mendukung wilayah tersebut.

NO_USER_CONFIRMATION: alamat tidak dikonfirmasi karena pengguna akhir tidak mengonfirmasi alamat.
string

Penyiapan dasar

Untuk menyiapkan komponen bawaan ini:

  1. Impor komponen bawaan.
  2. Aktifkan Address Validation API.
  3. Konfigurasikan webhook fleksibel yang disediakan dengan kunci Maps API Anda, lihat Penyiapan webhook di bawah.

Penyiapan webhook

Untuk menggunakan Address Validation API guna memvalidasi alamat, Anda harus mengonfigurasi webhook fleksibel yang disediakan dengan kredensial yang benar.

Webhook Validasi Alamat

Webhook ini melakukan tindakan berikut:

  1. Memproses parameter Dialogflow CX yang diambil, membentuk permintaan, dan memverifikasi alamat menggunakan Address Validation API.
  2. Mengekstrak elemen alamat yang dikonfirmasi, belum dikonfirmasi, tidak ada, dan disimpulkan dari respons Google Address Validation API.

Untuk mengonfigurasi webhook untuk komponen ini, Anda harus memperbarui setelan webhook dengan kunci Maps API Anda.

  1. Untuk mengambil Kunci API Anda: buka Konsol Google Cloud Platform > APIs & Services > Credentials, pilih kunci Maps API Anda, salin kolom Kunci API.

Untuk mengonfigurasi webhook:

  1. Buka konsol Dialogflow CX.
  2. Pilih project Google Cloud Anda.
  3. Pilih agen Anda.
  4. Pilih tab Kelola.
  5. Klik Webhook.
  6. Pilih webhook prebuilt_components_address_collection:address_validation.
  7. Ganti URL di kolom URL webhook Dialogflow CX dengan URL yang menyertakan kunci API Maps Anda: https://addressvalidation.googleapis.com/v1:validateAddress?key=MAPS_API_KEY
  8. Di setelan Authentication, konfigurasikan Username sebagai key dan tetapkan Password ke kunci Maps API Anda.
  9. Klik Simpan.

Selesai

Agen dan webhook-nya sekarang sudah disiapkan dan siap diuji.