Komponen bawaan autentikasi retail

Komponen bawaan autentikasi retail mengumpulkan informasi dari pengguna untuk mengautentikasinya ke level autentikasi yang diperlukan. Komponen ini mencakup persyaratan autentikasi yang umum, tetapi tidak eksklusif, untuk industri retail. Komponen ini menggunakan komponen bawaan Pengumpulan nomor telepon untuk mengumpulkan dan memvalidasi detail pengguna.

Level autentikasi

Ada beberapa tingkat autentikasi yang diperlukan oleh berbagai komponen bawaan, dengan tingkat yang lebih tinggi memerlukan lebih banyak informasi pengguna untuk mengautentikasi pengguna. Dengan komponen autentikasi retail, pengguna dapat melakukan autentikasi ke Level 0 (Pencocokan AnI) atau Level 1 (Dasar) seperti yang dijelaskan dalam tabel Level Autentikasi.

Tingkat Autentikasi Persyaratan
Level 0: Kecocokan 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 memberikan dukungan bagi pengguna dengan nomor telepon dan email yang terdaftar.

Batasan

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

  • OTP hanya akan dikirim ke nomor ponsel atau alamat email yang sebelumnya terdaftar kepada pengguna. Komponen ini tidak akan menggunakan OTP untuk mengautentikasi pelanggan yang melakukan panggilan dari nomor telepon alternatif yang tidak terdaftar pada akun mereka. Saat pengguna menelepon dari nomor telepon alternatif, pertanyaan keamanan akan digunakan untuk mengautentikasi pemanggil.
  • Komponen ini tidak mengenkripsi data apa pun.

Contoh dialog

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

Autentikasi level 0 berhasil: Kecocokan ANI

Pengguna menelepon dari nomor telepon yang terdaftar ke akun yang ada, mengonfirmasi akun mereka, dan berhasil diautentikasi ke Level 0.

Input pengguna Respons agen
Halo, nomor yang Anda hubungi tertaut ke akun Joni. Apakah Anda menanyakan tentang pesanan orang lain? Harap katakan ya jika itu yang terjadi, jika tidak, katakan tidak.
Tidak
Terima kasih, John. Anda berhasil diidentifikasi.

Autentikasi level 1 berhasil: OTP

Pengguna menelepon dari nomor telepon yang tidak dikenal. Komponen ini mengumpulkan nomor telepon pengguna yang terdaftar, lalu mengirimkan dan meminta pengguna untuk mengonfirmasi OTP yang dikirim ke saluran pilihan pengguna. Pengguna dapat memberikan OTP yang valid dan berhasil diautentikasi ke Level 1.

Input pengguna Respons agen
Kami tidak dapat menemukan nomor telepon ini yang dikaitkan dengan kami. Harap berikan nomor telepon yang terdaftar kepada kami.
Agen mengumpulkan nomor telepon menggunakan komponen bawaan Pengumpulan nomor telepon
Bagus, kami telah selesai mengumpulkan nomor telepon.

Demi keamanan, kami perlu memvalidasi identitas Anda, jadi kami akan mengirimkan kode kepada Anda. Apakah Anda lebih suka menerima kode melalui telepon atau email?
telepon
Sekadar konfirmasi, apakah Anda ingin menerima OTP di ponsel Anda? Silakan jawab ya atau tidak.
ya
Kami telah mengirimkan kode ke nomor telepon Anda yang terdaftar yang diakhiri dengan 0000. Proses ini mungkin perlu waktu beberapa detik. Bisakah Anda mengonfirmasi kodenya?
123457
Terima kasih, John. Anda berhasil diidentifikasi.

Konvensi penamaan

Komponen bawaan ini menggunakan konvensi penamaan berikut:

Fitur Format Contoh
Flow [Nama Komponen] 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 adalah parameter yang digunakan untuk mengonfigurasi perilaku tertentu dari komponen. Parameter akan digunakan oleh satu atau beberapa kondisi dalam flow 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.

Komponen bawaan ini menerima parameter input berikut:

Nama Parameter Deskripsi Format Input
$session.params.auth_level_req Menentukan tingkat autentikasi yang akan digunakan pengguna akhir untuk diautentikasi. Nilai yang valid adalah 0 atau 1. bilangan bulat
$session.params.auth_level (opsional) Menunjukkan tingkat autentikasi pengguna akhir saat ini. bilangan bulat
$session.params.phone_number (opsional) Nomor telepon pengguna akhir. Jika parameter ini tidak diberikan, komponen akan mengumpulkan nomor telepon dari pengguna akhir. string
$flow.max_retry_phone_number Menentukan jumlah percobaan ulang yang diizinkan saat mengumpulkan nomor telepon pengguna. Nilai defaultnya adalah 3. bilangan bulat
$flow.max_retry_otp Menentukan jumlah percobaan ulang yang diizinkan saat mengumpulkan Sandi Sekali Pakai (OTP). Nilai defaultnya adalah 3. bilangan bulat
$flow.max_retry_otp_not_received Menentukan jumlah percobaan ulang yang diizinkan saat Sandi Sekali Pakai (OTP) tidak diterima. Nilai defaultnya adalah 1. bilangan bulat
$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. bilangan bulat

Guna 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 Flows.
  6. Klik Halaman Awal di bagian Halaman.
  7. Klik Rute true di Halaman Awal.
  8. Di jendela Rute, 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
auth_level Menunjukkan tingkat autentikasi pengguna akhir saat ini. bilangan bulat
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 urutan 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 Email yang terdaftar dengan akun. string
user_first_name Nama depan pengguna, digunakan untuk menyapa dan mengonfirmasi kepemilikan akun. string
transfer_reason Parameter ini menunjukkan alasan keluarnya flow, jika tidak berhasil. Nilai yang ditampilkan adalah salah satu dari:

agent: pengguna akhir meminta agen manusia pada waktu tertentu selama percakapan.

denial_of_information: pengguna akhir menolak untuk membagikan informasi yang diminta oleh komponen.

max_no_input: percakapan telah mencapai jumlah percobaan ulang maksimum untuk peristiwa tanpa input. Lihat peristiwa bawaan tanpa input.

max_no_match: percakapan mencapai jumlah percobaan ulang maksimum untuk peristiwa tanpa kecocokan. Lihat peristiwa bawaan yang 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:

  1. Impor komponen bawaan.
  2. Konfigurasikan Webhook fleksibel yang disediakan dengan konfigurasi yang mendeskripsikan layanan eksternal Dialogflow Anda. Lihat penyiapan Webhook di bawah.

Penyiapan webhook

Untuk menggunakan komponen ini, Anda harus mengonfigurasi Webhook fleksibel yang disertakan untuk mengambil informasi yang diperlukan dari layanan eksternal Anda.

Memverifikasi detail pengguna

Webhook prebuilt_components_retail_authentication:verify_user_details digunakan oleh komponen untuk mengambil detail akun pengguna berdasarkan nomor telepon yang diberikan.

Parameter permintaan API

Parameter berikut disediakan oleh komponen 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

Parameter berikut diambil dari respons API yang akan digunakan oleh komponen.

Nama Parameter Deskripsi Format Output
email Email yang terdaftar dengan akun. string
all_recent_order_id Daftar ID pesanan yang dikaitkan dengan pengguna terautentikasi, diurutkan berdasarkan tanggal penempatan pesanan dalam urutan menurun. Elemen pertama array mewakili urutan terbaru. Jika pengguna tidak memiliki pesanan, nilai parameter ini adalah null. Daftar (string)
user_first_name Nama depan pengguna, digunakan untuk menyapa dan mengonfirmasi kepemilikan akun. string

Guna mengonfigurasi webhook Verifikasi detail pengguna 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 Kelola.
  5. Klik Webhook.
  6. Pilih webhook prebuilt_components_retail_authentication:verify_user_details.
  7. Ganti URL di kolom Webhook URL Dialogflow dengan endpoint untuk layanan yang ingin diintegrasikan. Pilih Metode yang tepat di menu dropdown.
  8. Tinjau dan perbarui Isi permintaan guna membentuk format permintaan yang tepat untuk webhook Anda.
  9. Tinjau dan perbarui Konfigurasi respons untuk mengekstrak kolom tertentu dari respons webhook Anda. Jangan ubah nama parameter, karena parameter ini diperlukan oleh komponen untuk mengakses nilai kolom yang ditampilkan.
  10. Tinjau dan perbarui setelan Authentication sesuai kebutuhan.
  11. Klik Simpan.

Kirim OTP

Webhook prebuilt_components_retail_authentication:send_otp digunakan oleh komponen untuk mengirim sandi sekali pakai (OTP) ke saluran terdaftar yang dipilih oleh pengguna akhir.

Parameter permintaan API

Parameter berikut disediakan oleh komponen 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 entitas kustom prebuilt_components_channel_email_phone. Secara default, email dan phone didukung. string

Parameter respons API

Parameter berikut diambil dari respons API yang akan digunakan oleh komponen.

Nama Parameter Deskripsi Format Output
generated_otp Nilai OTP yang dihasilkan dan dikirim ke pengguna menggunakan saluran yang dipilih. string

Guna mengonfigurasi webhook Send OTP 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 Kelola.
  5. Klik Webhook.
  6. Pilih webhook prebuilt_components_retail_authentication:send_otp.
  7. Ganti URL di kolom Webhook URL Dialogflow dengan endpoint untuk layanan yang ingin diintegrasikan. Pilih Metode yang tepat di menu dropdown.
  8. Tinjau dan perbarui Isi permintaan guna membentuk format permintaan yang tepat untuk webhook Anda.
  9. Tinjau dan perbarui Konfigurasi respons untuk mengekstrak kolom tertentu dari respons webhook Anda. Jangan ubah nama parameter, karena parameter ini diperlukan oleh komponen untuk mengakses nilai kolom yang ditampilkan.
  10. Tinjau dan perbarui setelan Authentication sesuai kebutuhan.
  11. Klik Simpan.

Selesai

Agen Anda dan webhook-nya sekarang telah disiapkan dan siap diuji.