Komponen bawaan autentikasi retail mengumpulkan informasi untuk mengautentikasi pelanggan Anda ke tingkat autentikasi yang diperlukan. Komponen bawaan ini mencakup persyaratan autentikasi yang umum, tetapi tidak eksklusif untuk industri retail. Agen ini menggunakan komponen bawaan Telephone number collection untuk mengumpulkan dan memvalidasi detail telepon pelanggan.
Tingkat autentikasi
Komponen bawaan yang berbeda memerlukan beberapa tingkat autentikasi, dengan tingkat yang lebih tinggi memerlukan lebih banyak informasi pengguna. Komponen autentikasi retail memungkinkan pengguna melakukan autentikasi ke Level 0 (Kecocokan ANI) atau Level 1 (Dasar) seperti yang dijelaskan dalam tabel berikut.
| Tingkat Autentikasi | Persyaratan |
|---|---|
| Level 0: Pencocokan ANI | Pengguna diautentikasi dengan menelepon dari atau memberikan nomor telepon yang sesuai dengan akun terdaftar. Pengguna dapat diautentikasi ke Level 0 menggunakan Komponen bawaan salam. |
| Level 1: Dasar | Pengguna diautentikasi dengan memverifikasi kode sandi sekali pakai (OTP) yang dikirim ke email atau nomor telepon mereka. |
Jenis pengguna yang didukung
Komponen autentikasi retail mendukung pengguna dengan nomor telepon dan alamat email terdaftar.
Batasan
Selain batasan komponen bawaan umum, komponen bawaan ini memiliki batasan berikut:
- OTP hanya dikirim ke nomor ponsel atau alamat email yang sebelumnya didaftarkan ke pelanggan. Komponen ini tidak akan menggunakan OTP untuk mengautentikasi pelanggan yang menelepon dari nomor telepon alternatif yang tidak terdaftar di akun. Saat pengguna menelepon dari nomor telepon alternatif, sistem akan menggunakan pertanyaan keamanan untuk mengautentikasinya.
- Komponen ini tidak mengenkripsi data apa pun.
Contoh dialog
Contoh dialog ini menunjukkan skenario umum yang ditangani oleh komponen bawaan. Mereka menunjukkan perilaku saat komponen dipanggil menggunakan telepon, yang memicu Default Welcome Intent dan respons agen pertama di awal percakapan.
Keberhasilan autentikasi Level 0: Kecocokan ANI
Pengguna menelepon dari nomor telepon yang terdaftar ke akun yang ada, mengonfirmasi identitasnya, dan berhasil melakukan autentikasi ke Level 0.
| Input Pengguna | Respons Agen |
|---|---|
| Halo, nomor yang Anda hubungi ditautkan ke akun John. Apakah Anda menanyakan pesanan orang lain? Please say yes if that's the case, else say no. | |
| Tidak | |
| Terima kasih, John. Anda telah berhasil diidentifikasi. |
Keberhasilan autentikasi Level 1: OTP
- Pengguna menelepon dari nomor telepon yang tidak dikenal.
- Komponen ini mengumpulkan nomor telepon pengguna yang terdaftar, lalu mengirim dan meminta pengguna untuk mengonfirmasi OTP yang dikirim ke saluran pilihan mereka.
- Pengguna memberikan OTP yang valid dan berhasil melakukan autentikasi ke Level 1.
| Input Pengguna | Respons Agen |
|---|---|
| Kami tidak dapat menemukan nomor telepon ini yang terkait dengan kami. Berikan nomor telepon yang terdaftar kepada kami. | |
| Agen mengumpulkan nomor telepon menggunakan komponen bawaan Pengumpulan nomor telepon. | |
| Bagus, kami selesai mengumpulkan nomor telepon. Untuk tujuan keamanan, kami perlu memvalidasi identitas Anda, jadi kami akan mengirimkan kode kepada Anda. Apakah Anda lebih suka menerima kode melalui telepon atau email? |
|
| telepon | |
| Hanya untuk mengonfirmasi, apakah Anda ingin menerima OTP di ponsel Anda? Ucapkan ya atau tidak. | |
| ya | |
| Kami telah mengirimkan kode ke nomor telepon terdaftar Anda yang berakhiran 0000. Proses ini mungkin perlu waktu beberapa detik. Dapatkah Anda mengonfirmasi kodenya? | |
| 123457 | |
| Terima kasih, John. Anda telah berhasil diidentifikasi. |
Konvensi penamaan
Komponen bawaan ini menggunakan konvensi penamaan berikut:
| Fitur | Format | Contoh |
|---|---|---|
| Flow | [Component Name] | Autentikasi Retail |
| Intent Khusus Komponen | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_retail_authentication_incorrect_phone_number |
| Jenis Entitas | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_channel_email_phone |
| Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_retail_authentication:verify_user_details |
Parameter input
Parameter input mengonfigurasi perilaku komponen. Satu atau beberapa kondisi dalam alur menggunakan parameter untuk menentukan perilaku komponen. Pengguna harus menetapkan parameter cakupan alur di halaman awal komponen ini. Mereka dapat menetapkan parameter cakupan sesi baik dengan alur panggilan atau di halaman awal komponen ini.
Komponen bawaan ini menerima parameter input berikut:
| Nama Parameter | Deskripsi | Format Input |
|---|---|---|
| $session.params.auth_level_req | Menentukan tingkat autentikasi yang akan digunakan untuk mengautentikasi pengguna. Nilai yang valid adalah 0 atau 1. |
integer |
| $session.params.auth_level | (opsional) Menunjukkan tingkat autentikasi pengguna saat ini. | integer |
| $session.params.phone_number | (opsional) nomor telepon pengguna. Jika parameter ini tidak diberikan, komponen akan mengumpulkan nomor telepon dari pengguna. | string |
| $flow.max_retry_phone_number | Menentukan jumlah percobaan ulang yang diizinkan saat mengumpulkan nomor telepon pengguna. Nilai defaultnya adalah 3. |
integer |
| $flow.max_retry_otp | Menentukan jumlah percobaan ulang yang diizinkan saat mengumpulkan Sandi Sekali Pakai (OTP). Nilai defaultnya adalah 3. |
integer |
| $flow.max_retry_otp_not_received | Menentukan jumlah percobaan ulang yang diizinkan saat Sandi Sekali Pakai (OTP) tidak diterima. Nilai defaultnya adalah 1. |
integer |
| $flow.max_retry_otp_confirm_channel | Menentukan jumlah percobaan ulang yang diizinkan saat mengumpulkan saluran untuk menerima Sandi Sekali Pakai (OTP). Nilai defaultnya adalah 3. |
integer |
Untuk mengonfigurasi parameter input komponen ini, luaskan untuk melihat petunjuk.
- Buka konsol Dialogflow CX.
- Pilih project Google Cloud Anda.
- Pilih agen Anda.
- Pilih tab Build.
- Klik komponen yang diimpor di bagian Flows.
- Klik Start Page di bagian Pages.
- Klik Route true di Start Page.
- Di jendela Route, edit nilai Parameter Presets sesuai kebutuhan.
- Klik Simpan.
Parameter output
Parameter output adalah parameter sesi yang tetap aktif setelah pengguna 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 |
|---|---|---|
| auth_level | Menunjukkan tingkat autentikasi pengguna saat ini. | integer |
| all_recent_order_id | Parameter ini mencantumkan ID pesanan yang terkait dengan pengguna yang diautentikasi, yang diurutkan berdasarkan tanggal penempatan pesanan dalam urutan menurun. Elemen pertama array mewakili pesanan terbaru. Jika pengguna tidak memiliki pesanan, nilai parameter ini adalah null. |
Daftar (string) |
| phone_number | Nomor telepon lokal pengguna, tanpa kode negara, yang digunakan untuk mengidentifikasi pengguna. | string |
| Email yang terdaftar dengan akun. | string | |
| user_first_name | Nama depan pengguna, yang digunakan untuk menyapa dan mengonfirmasi kepemilikan akun. | string |
| transfer_reason | Parameter ini menunjukkan alasan alur keluar, jika tidak berhasil. Nilai yang ditampilkan adalah salah satu dari:agent: pengguna meminta agen manusia pada suatu waktu selama percakapan.denial_of_information: pengguna menolak untuk membagikan informasi yang diminta oleh komponen.max_no_input: percakapan mencapai jumlah percobaan ulang maksimum untuk peristiwa tanpa input. Lihat peristiwa bawaan tanpa input.max_no_match: percakapan mencapai jumlah maksimum percobaan ulang untuk peristiwa tidak ada kecocokan. Lihat peristiwa bawaan tidak cocok.webhook_error: terjadi error webhook. Lihat peristiwa bawaan webhook.error. webhook_not_found: URL webhook tidak dapat dijangkau. Lihat peristiwa bawaan webhook.error.not-found. |
string |
Penyiapan dasar
Untuk menyiapkan komponen bawaan ini:
- Impor komponen bawaan.
- Konfigurasikan webhook fleksibel yang disediakan dengan konfigurasi yang menjelaskan layanan eksternal Anda, lihat Penyiapan webhook.
Penyiapan webhook
Untuk menggunakan komponen ini, pengguna harus mengonfigurasi webhook fleksibel yang disertakan untuk mengambil informasi yang diperlukan dari layanan eksternal mereka.
Memverifikasi detail pengguna
Webhook prebuilt_components_retail_authentication:verify_user_details
mengambil detail akun pengguna berdasarkan nomor telepon yang diberikan.
Parameter permintaan API
Komponen ini menyediakan parameter berikut sebagai input untuk permintaan API:
| Nama Parameter | Deskripsi | Format Input |
|---|---|---|
| $session.params.phone_number | Nomor telepon lokal pengguna, tanpa kode negara, yang digunakan untuk mengidentifikasi pengguna. | string |
Parameter respons API
Komponen ini mengambil parameter berikut dari respons API:
| Nama Parameter | Deskripsi | Format Output |
|---|---|---|
| Email yang terdaftar dengan akun. | string | |
| all_recent_order_id | Daftar ID pesanan yang terkait dengan pengguna yang diautentikasi, diurutkan berdasarkan tanggal pemesanan dalam urutan menurun. Elemen pertama array mewakili pesanan terbaru. Jika pengguna tidak memiliki pesanan, nilai parameter ini adalah null. |
Daftar (string) |
| user_first_name | Nama depan pengguna, yang digunakan untuk menyapa dan mengonfirmasi kepemilikan akun. | string |
Untuk mengonfigurasi webhook Verifikasi detail pengguna untuk komponen ini, luaskan untuk melihat petunjuk.
- Buka konsol Dialogflow CX.
- Pilih project Google Cloud Anda.
- Pilih agen Anda.
- Pilih tab Kelola.
- Klik Webhooks.
- Pilih webhook prebuilt_components_retail_authentication:verify_user_details.
- Ganti URL webhook di kolom Webhook URL Dialogflow CX dengan endpoint untuk layanan yang ingin Anda integrasikan. Pilih Metode yang sesuai di dropdown.
- Tinjau dan perbarui Isi permintaan untuk membentuk format permintaan yang tepat untuk webhook Anda.
- Tinjau dan perbarui Konfigurasi respons untuk mengekstrak kolom tertentu dari respons webhook Anda. Jangan ubah nama parameter, karena nama ini diperlukan oleh komponen untuk mengakses nilai kolom yang ditampilkan.
- Tinjau dan perbarui setelan Autentikasi sesuai kebutuhan.
- Klik Simpan.
Kirim OTP
Komponen ini menggunakan webhook prebuilt_components_retail_authentication:send_otp
untuk mengirim sandi sekali pakai (OTP) ke saluran terdaftar yang dipilih oleh
pengguna.
Parameter permintaan API
Komponen ini menyediakan parameter berikut sebagai input untuk permintaan API:
| Nama Parameter | Deskripsi | Format Input |
|---|---|---|
| $session.params.phone_number | Nomor telepon lokal pengguna, tanpa kode negara, yang digunakan untuk mengidentifikasi pengguna. | string |
| $flow.channel | Saluran yang dipilih pengguna untuk menerima OTP. Nilai yang valid ditentukan oleh entity kustom prebuilt_components_channel_email_phone. Secara default, email dan phone didukung. |
string |
Parameter respons API
Komponen ini mengambil parameter berikut dari respons API:
| Nama Parameter | Deskripsi | Format Output |
|---|---|---|
| generated_otp | Nilai OTP yang dibuat dan dikirim kepada pengguna menggunakan saluran yang dipilih. | string |
Untuk mengonfigurasi webhook Kirim OTP untuk komponen ini, luaskan untuk melihat petunjuk.
- Buka konsol Dialogflow CX.
- Pilih project Google Cloud Anda.
- Pilih agen Anda.
- Pilih tab Kelola.
- Klik Webhooks.
- Pilih webhook prebuilt_components_retail_authentication:send_otp.
- Ganti URL webhook di kolom Webhook URL Dialogflow CX dengan endpoint untuk layanan yang ingin Anda integrasikan. Pilih Metode yang sesuai di dropdown.
- Tinjau dan perbarui Isi permintaan untuk membentuk format permintaan yang tepat untuk webhook Anda.
- Tinjau dan perbarui Konfigurasi respons untuk mengekstrak kolom tertentu dari respons webhook Anda. Jangan ubah nama parameter, karena nama ini diperlukan oleh komponen untuk mengakses nilai kolom yang ditampilkan.
- Tinjau dan perbarui setelan Autentikasi sesuai kebutuhan.
- Klik Simpan.
Selesai
Komponen bawaan ini dan webhook-nya kini telah disiapkan dan siap diuji.