Il componente predefinito di autenticazione per la vendita al dettaglio raccoglie le informazioni dell'utente per autenticarlo al livello di autenticazione richiesto. Questo componente copre i requisiti di autenticazione comuni, ma non esclusivi, del settore della vendita al dettaglio. Questo componente utilizza il componente predefinito Raccolta del numero di telefono per raccogliere e convalidare i dettagli dell'utente.
Livelli di autenticazione
Esistono più livelli di autenticazione richiesti da diversi componenti predefiniti, con livelli più elevati che richiedono più informazioni utente per autenticare l'utente. Il componente di autenticazione al dettaglio consente agli utenti di autenticarsi al livello 0 (corrispondenza ANI) o al livello 1 (base), come descritto nella tabella Livello di autenticazione.
| Livello di autenticazione | Requisiti |
|---|---|
| Livello 0: corrispondenza ANI | L'utente viene autenticato chiamando o fornendo un numero di telefono corrispondente a un account registrato. Un utente può essere autenticato al livello 0 utilizzando il componente predefinito Saluto. |
| Livello 1: base | L'utente viene autenticato verificando un codice di password monouso (OTP) inviato al suo indirizzo email o numero di telefono. |
Tipi di utenti supportati
Il componente di autenticazione al dettaglio fornisce assistenza agli utenti con un numero di telefono ed email registrati.
Limitazioni
Oltre alle limitazioni comuni dei componenti predefiniti, questo componente predefinito presenta le seguenti limitazioni:
- Le OTP verranno inviate solo a un numero di cellulare o a un indirizzo email registrato precedentemente per l'utente. Il componente non utilizzerà l'OTP per autenticare i clienti che chiamano da un numero di telefono alternativo non registrato con il loro account. Quando un utente chiama da un numero di telefono alternativo, vengono utilizzate le domande di sicurezza per autenticare il chiamante.
- Questo componente non cripta alcun dato.
Esempi di dialoghi
Le seguenti finestre di dialogo di esempio mostrano scenari comuni gestiti da questo componente predefinito. Le finestre di dialogo di esempio mostrano il comportamento quando il componente viene chiamato tramite telefonia, il che attiva l'intent di benvenuto predefinito e la prima risposta dell'agente all'inizio della conversazione.
Autenticazione di livello 0 riuscita: corrispondenza ANI
L'utente chiama da un numero di telefono registrato su un account esistente, conferma il proprio account e viene autenticato correttamente al livello 0.
| Input utente | Risposta dell'agente |
|---|---|
| Gentile cliente, il numero che hai chiamato è collegato all'account di John. Stai chiedendo informazioni sull'ordine di un'altra persona? Rispondi "sì" se è così, altrimenti rispondi "no". | |
| No | |
| Grazie, John. La tua identità è stata verificata. |
Autenticazione di livello 1 riuscita: OTP
L'utente chiama da un numero di telefono sconosciuto. Il componente raccoglie il numero di telefono registrato dell'utente, quindi invia e chiede all'utente di confermare una OTP inviata al canale scelto dall'utente. L'utente è in grado di fornire un OTP valido ed è autenticato correttamente al livello 1.
| Input utente | Risposta dell'agente |
|---|---|
| Non abbiamo trovato questo numero di telefono associato a noi. Forniscici il numero di telefono registrato. | |
| L'agente raccoglie il numero di telefono utilizzando il componente predefinito Raccolta del numero di telefono | |
| Ottimo, abbiamo finito di raccogliere il numero di telefono. Per motivi di sicurezza, dobbiamo convalidare la tua identità, quindi ti invieremo un codice. Preferisci ricevere il codice via telefono o email? |
|
| telefono | |
| Giusto per conferma, vuoi ricevere l'OTP sul tuo smartphone? Rispondi "Sì" o "No". | |
| sì | |
| Abbiamo inviato un codice al tuo numero di telefono registrato che termina con 0000. L'operazione potrebbe richiedere alcuni secondi. Puoi confermare il codice? | |
| 123457 | |
| Grazie, John. La tua identità è stata verificata. |
Convenzioni di denominazione
Questo componente predefinito utilizza le seguenti convenzioni di denominazione:
| Funzionalità | Formato | Esempio |
|---|---|---|
| Flow | [Component Name] | Autenticazione per la vendita al dettaglio |
| Component Specific Intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_retail_authentication_incorrect_phone_number |
| Tipo di entità | 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 |
Parametri di input
I parametri di input sono parametri utilizzati per configurare determinati comportamenti del componente. I parametri verranno utilizzati da una o più condizioni all'interno del flusso per determinare il comportamento del componente. I parametri con ambito flusso devono essere impostati nella pagina iniziale del componente come descritto di seguito. I parametri con ambito sessione possono essere impostati da un flusso di chiamata o nella pagina iniziale di questo componente.
Questo componente predefinito accetta i seguenti parametri di input:
| Nome parametro | Descrizione | Formato di input |
|---|---|---|
| $session.params.auth_level_req | Definisce il livello di autenticazione a cui verrà autenticato l'utente finale. I valori validi sono 0 o 1. |
integer |
| $session.params.auth_level | (Facoltativo) Indica l'attuale livello di autenticazione dell'utente finale. | integer |
| $session.params.phone_number | (facoltativo) Numero di telefono dell'utente finale. Se questo parametro non viene fornito, il componente raccoglierà il numero di telefono dall'utente finale. | string |
| $flow.max_retry_phone_number | Specifica il numero di tentativi consentiti durante la raccolta del numero di telefono dell'utente. Il valore predefinito è 3. |
integer |
| $flow.max_retry_otp | Specifica il numero di tentativi consentiti per la raccolta della password monouso (OTP). Il valore predefinito è 3. |
integer |
| $flow.max_retry_otp_not_received | Specifica il numero di tentativi consentiti quando non viene ricevuta la password monouso (OTP). Il valore predefinito è 1. |
integer |
| $flow.max_retry_otp_confirm_channel | Specifica il numero di tentativi consentiti per raccogliere il canale per ricevere la password monouso (OTP). Il valore predefinito è 3. |
integer |
Per configurare i parametri di input per questo componente, espandi per visualizzare le istruzioni.
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Crea.
- Fai clic sul componente importato nella sezione Flussi.
- Fai clic su Pagina iniziale nella sezione Pagine.
- Fai clic sulla route true nella pagina iniziale.
- Nella finestra Route, modifica i valori di Preset parametri in base alle tue esigenze.
- Fai clic su Salva.
Parametri di output
I parametri di output sono parametri di sessione che rimarranno attivi dopo l'uscita dal componente. Questi parametri contengono informazioni importanti raccolte dal componente. Questo componente predefinito fornisce valori per i seguenti parametri di output:
| Nome parametro | Descrizione | Formato di output |
|---|---|---|
| auth_level | Indica il livello di autenticazione attuale dell'utente finale. | integer |
| all_recent_order_id | Questo parametro elenca gli ID ordine associati all'utente autenticato, ordinati per data di inserimento dell'ordine in ordine decrescente. Il primo elemento dell'array rappresenta l'ordine più recente. Se un utente non ha effettuato ordini, il valore di questo parametro è null. |
Elenco (stringa) |
| phone_number | Il numero di telefono locale dell'utente, senza il codice paese, utilizzato per identificare l'utente. | string |
| L'indirizzo email registrato con l'account. | string | |
| user_first_name | Il nome dell'utente, utilizzato per salutarlo e confermare la proprietà dell'account. | string |
| transfer_reason | Questo parametro indica il motivo per cui il flusso è stato interrotto, se non è andato a buon fine. Il valore restituito è uno dei seguenti:agent: l'utente finale ha richiesto un operatore umano a un certo punto della conversazione.denial_of_information: l'utente finale si è rifiutato di condividere le informazioni richieste dal componente.max_no_input: la conversazione ha raggiunto il numero massimo di tentativi per gli eventi senza input. Consulta gli eventi integrati senza input.max_no_match: la conversazione ha raggiunto il numero massimo di tentativi per gli eventi senza corrispondenza. Consulta eventi integrati senza corrispondenza.webhook_error: si è verificato un errore webhook. Vedi webhook.error evento integrato. webhook_not_found: un URL webhook non era raggiungibile. Vedi webhook.error.not-found evento integrato. |
string |
Impostazione di base
Per configurare questo componente predefinito:
- Importa il componente predefinito.
- Configura i webhook flessibili forniti con la configurazione che descrive i tuoi servizi esterni. Per informazioni sulla configurazione dei webhook, vedi la sezione Configurazione dei webhook di seguito.
Configurazione webhook
Per utilizzare questo componente, devi configurare i webhook flessibili inclusi per recuperare le informazioni necessarie dai tuoi servizi esterni.
Verifica i dettagli dell'utente
Il webhook prebuilt_components_retail_authentication:verify_user_details viene
utilizzato dal componente per recuperare i dettagli dell'account utente in base al numero di telefono
fornito.
Parametri della richiesta API
I seguenti parametri vengono forniti dal componente come input per la richiesta API.
| Nome parametro | Descrizione | Formato di input |
|---|---|---|
| $session.params.phone_number | Il numero di telefono locale dell'utente, senza il codice paese, utilizzato per identificare l'utente. | string |
Parametri di risposta dell'API
I seguenti parametri vengono estratti dalla risposta dell'API per essere utilizzati dal componente.
| Nome parametro | Descrizione | Formato di output |
|---|---|---|
| L'indirizzo email registrato con l'account. | string | |
| all_recent_order_id | Elenco degli ID ordine associati all'utente autenticato, ordinati in base alla data di inserimento dell'ordine in ordine decrescente. Il primo elemento dell'array rappresenta l'ordine più recente. Se un utente non ha effettuato ordini, il valore di questo parametro è null. |
Elenco (stringa) |
| user_first_name | Il nome dell'utente, utilizzato per salutarlo e confermare la proprietà dell'account. | string |
Per configurare il webhook Verifica dettagli utente per questo componente, espandi per visualizzare le istruzioni.
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Webhook.
- Seleziona il webhook prebuilt_components_retail_authentication:verify_user_details.
- Sostituisci l'URL nel campo URL webhook di Dialogflow CX con l'endpoint del servizio con cui vuoi eseguire l'integrazione. Seleziona il Metodo corretto nel menu a discesa.
- Rivedi e aggiorna il corpo della richiesta per formare il formato di richiesta corretto per il webhook.
- Controlla e aggiorna la configurazione della risposta per estrarre campi specifici dalla risposta del webhook. Non modificare i nomi dei parametri, in quanto sono necessari al componente per accedere ai valori dei campi restituiti.
- Esamina e aggiorna le impostazioni di autenticazione in base alle esigenze.
- Fai clic su Salva.
Invia OTP
Il webhook prebuilt_components_retail_authentication:send_otp viene utilizzato
dal componente per inviare una password monouso (OTP) a un canale registrato
selezionato dall'utente finale.
Parametri della richiesta API
I seguenti parametri vengono forniti dal componente come input per la richiesta API.
| Nome parametro | Descrizione | Formato di input |
|---|---|---|
| $session.params.phone_number | Il numero di telefono locale dell'utente, senza il codice paese, utilizzato per identificare l'utente. | string |
| $flow.channel | Il canale che l'utente ha selezionato per ricevere l'OTP. I valori validi sono definiti dall'entità personalizzata prebuilt_components_channel_email_phone. Per impostazione predefinita, sono supportati email e phone. |
string |
Parametri di risposta dell'API
I seguenti parametri vengono estratti dalla risposta dell'API per essere utilizzati dal componente.
| Nome parametro | Descrizione | Formato di output |
|---|---|---|
| generated_otp | Il valore dell'OTP generato e inviato all'utente utilizzando il canale selezionato. | string |
Per configurare il webhook Invia OTP per questo componente, espandi per visualizzare le istruzioni.
- Apri la console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Webhook.
- Seleziona il webhook prebuilt_components_retail_authentication:send_otp.
- Sostituisci l'URL nel campo URL webhook di Dialogflow CX con l'endpoint del servizio con cui vuoi eseguire l'integrazione. Seleziona il Metodo corretto nel menu a discesa.
- Rivedi e aggiorna il corpo della richiesta per formare il formato di richiesta corretto per il webhook.
- Controlla e aggiorna la configurazione della risposta per estrarre campi specifici dalla risposta del webhook. Non modificare i nomi dei parametri, in quanto sono necessari al componente per accedere ai valori dei campi restituiti.
- Esamina e aggiorna le impostazioni di autenticazione in base alle esigenze.
- Fai clic su Salva.
Completa
L'agente e i relativi webhook dovrebbero ora essere configurati e pronti per il test.