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 Selamat Datang 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 kami alamat lengkap Anda untuk memulai.
1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, 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 Amerika Serikat. Apakah itu benar? Silakan jawab ya atau tidak.
ya
Bagus, saya sudah mengumpulkan alamatnya.

Alamat sebagian valid dengan elemen yang disimpulkan

Pengguna akhir memberikan alamat sebagian; agen menebak bagian yang hilang dan berhasil memverifikasinya setelah konfirmasi dari pengguna akhir.

Input pengguna Respons agen
Beri tahu kami 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 Amerika Serikat.

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 Amerika Serikat. Apakah itu benar? Silakan jawab ya atau tidak.
Ya
Bagus, saya sudah mengumpulkan alamatnya.

Alamat sebagian valid dengan elemen yang disediakan pengguna

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

Input pengguna Respons agen
Beri tahu kami 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 Amerika Serikat.

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 Amerika Serikat. Apakah itu benar? Silakan jawab ya atau tidak.
Tidak
Baik. Beri tahu saya bagian alamat mana yang perlu diubah.
Kode Pos
Dapatkah Anda membagikan kode pos?
94044
Saya sudah selesai dengan update ini. Apakah ada hal lain yang perlu diubah? Silakan jawab ya atau tidak.
tidak
Setelah validasi, saya telah mengganti kode pos menjadi 94043.

Saya telah mengumpulkan alamat akhir; nomor jalan adalah 1600, rute adalah Amphitheatre Parkway, kota adalah Mountain View, wilayah administratif adalah CA, kode pos adalah 94043, negara adalah Amerika Serikat. Apakah itu benar? Silakan jawab ya atau tidak.
ya
Bagus, saya sudah mengumpulkan alamatnya.

Input tidak dikenal

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

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

Alamat yang 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 kami alamat lengkap Anda untuk memulai.
India
Maaf, saat ini kami 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 mengambil input pengguna akhir menggunakan entitas sistem@sys.address dan mengirim alamat yang diambil ke Address Validation API untuk mengekstrak elemen alamat guna 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
  • archipelago
  • negara
  • lokalitas
  • postal_code
  • route
  • street_number

Anda dapat mencoba Demo Validasi Alamat Google dengan alamat mana 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 alur 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, false. boolean
$flow.city Jika elemen alamat kota diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.admin_area Jika elemen alamat area administratif diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.street_number Jika elemen alamat nomor jalan diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.route Jika elemen alamat rute diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.country Jika elemen alamat negara diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.island Jika elemen alamat pulau diperlukan, tetapkan sebagai true, jika tidak, false. boolean
$flow.retry_num Menetapkan batas percobaan ulang maksimum untuk panggilan webhook Maps Address Validation API bilangan bulat

Untuk mengonfigurasi parameter input untuk komponen ini, luaskan untuk mendapatkan 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 Alur.
  6. Klik Halaman Awal di bagian Halaman.
  7. Klik Rute true di Halaman Mulai.
  8. Di jendela Rute, edit nilai Preset Parameter 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 Address Validation

Webhook ini melakukan tindakan berikut:

  1. Memproses parameter Agen Percakapan (Dialogflow CX) yang diambil, membuat permintaan, dan memverifikasi alamat menggunakan Address Validation API.
  2. Mengekstrak elemen alamat yang dikonfirmasi, tidak 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: buka Konsol Google Cloud Platform > API & 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 Webhook URL Agen Percakapan (Dialogflow CX) dengan URL yang menyertakan Kunci Maps API 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 kini telah disiapkan dan siap diuji.