Le composant prédéfini d'authentification Retail collecte des informations auprès de l'utilisateur pour l'authentifier auprès du niveau d'authentification requis. Ce composant couvre les exigences d'authentification courantes, mais non exclusives, dans le secteur de la vente au détail. Ce composant utilise le composant prédéfini Collecte des numéros de téléphone pour collecter et valider les informations sur l'utilisateur.
Niveaux d'authentification
Plusieurs niveaux d'authentification sont requis par différents composants prédéfinis. Les niveaux supérieurs nécessitent davantage d'informations sur l'utilisateur pour authentifier l'utilisateur. Le composant d'authentification Retail permet aux utilisateurs de s'authentifier auprès du niveau 0 (correspondance ANI) ou du niveau 1 (de base), comme décrit dans le tableau des niveaux d'authentification.
Niveau d'authentification | Conditions requises |
---|---|
Niveau 0: Correspondance ANI | L'utilisateur est authentifié en passant un appel depuis un compte enregistré ou en fournissant un numéro de téléphone correspondant à un compte enregistré. Un utilisateur peut être authentifié au niveau 0 à l'aide du composant prédéfini d'accueil. |
Niveau 1: Basic | Pour s'authentifier, l'utilisateur valide un mot de passe à usage unique (OTP) envoyé à son adresse e-mail ou à son numéro de téléphone. |
Types d'utilisateurs compatibles
Le composant d'authentification Retail fournit une assistance aux utilisateurs disposant d'un numéro de téléphone et d'une adresse e-mail enregistrés.
Limites
En plus des limites courantes des composants prédéfinis, ce composant prédéfini présente les limites suivantes:
- Les mots de passe à usage unique ne sont envoyés qu'à un numéro de mobile ou à une adresse e-mail précédemment enregistrés pour l'utilisateur. Le composant n'utilise pas de mot de passe à usage unique pour authentifier les clients qui appellent depuis un autre numéro de téléphone non enregistré dans leur compte. Lorsqu'un utilisateur appelle depuis un autre numéro de téléphone, les questions secrètes permettent d'authentifier l'appelant.
- Ce composant ne chiffre aucune donnée.
Exemples de boîtes de dialogue
Les exemples de boîtes de dialogue suivants illustrent des scénarios courants gérés par ce composant prédéfini. Les exemples de boîtes de dialogue illustrent le comportement lorsque le composant est appelé à l'aide de la téléphonie, ce qui déclenche l'intent d'accueil par défaut et la première réponse de l'agent au début de la conversation.
Authentification de niveau 0 réussie: correspondance ANI
L'utilisateur appelle à partir d'un numéro de téléphone associé à un compte existant, confirme son compte et est authentifié auprès du niveau 0.
Entrée utilisateur | Réponse de l'agent |
---|---|
Bonjour, le numéro que vous avez composé est associé au compte de John. Votre demande concerne-t-elle la commande d'une autre personne ? Veuillez répondre "oui" si c'est le cas, ou "non" dans le cas contraire. | |
Non | |
Merci John. Vous avez été identifié. |
Authentification de niveau 1 réussie: OTP
L'utilisateur passe un appel depuis un numéro de téléphone inconnu. Le composant collecte le numéro de téléphone enregistré de l'utilisateur, puis lui envoie un mot de passe à usage unique envoyé au canal de son choix et l'invite à confirmer. L'utilisateur peut fournir un mot de passe à usage unique valide et est authentifié au niveau 1.
Entrée utilisateur | Réponse de l'agent |
---|---|
Nous n'avons pas trouvé ce numéro de téléphone associé. Veuillez nous indiquer le numéro de téléphone enregistré. | |
L'agent collecte le numéro de téléphone à l'aide du composant prédéfini Collecte des numéros de téléphone. | |
Parfait, nous avons terminé de recueillir votre numéro de téléphone. Pour des raisons de sécurité, nous devons valider votre identité et vous enverrons un code. Préférez-vous recevoir le code par téléphone ou par e-mail ? |
|
Téléphone | |
Voulez-vous recevoir l'OTP sur votre téléphone ? Veuillez dire "oui" ou "non". | |
oui | |
Nous avons envoyé un code au numéro de téléphone enregistré se terminant par 0000. Cette opération peut prendre quelques secondes. Pouvez-vous confirmer le code ? | |
123457 | |
Merci John. Vous avez été identifié. |
Conventions de nommage
Ce composant prédéfini utilise les conventions d'attribution de noms suivantes:
Sélection | Format | Exemple |
---|---|---|
Flow | [Nom du composant] | Authentification du commerce de détail |
Intent spécifique du composant | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_retail_authentication_incorrect_phone_number |
Type d'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 |
Paramètres d'entrée
Les paramètres d'entrée sont des paramètres utilisés pour configurer certains comportements du composant. Les paramètres seront utilisés par une ou plusieurs conditions dans le flux pour déterminer le comportement du composant. Les paramètres de portée flux doivent être définis sur la page d'accueil du composant, comme décrit ci-dessous. Les paramètres de portée session peuvent être définis par un flux d'appel ou sur la page d'accueil de ce composant.
Ce composant prédéfini accepte les paramètres d'entrée suivants:
Nom du paramètre | Description | Format d'entrée |
---|---|---|
$session.params.auth_level_req | Définit le niveau d'authentification de l'utilisateur final. Les valeurs valides sont 0 ou 1 . |
entier |
$session.params.auth_level | (Facultatif) Indique le niveau d'authentification actuel de l'utilisateur final. | entier |
$session.params.phone_number | (Facultatif) Numéro de téléphone de l'utilisateur final. Si ce paramètre n'est pas fourni, le composant collecte le numéro de téléphone de l'utilisateur final. | chaîne |
$flow.max_retry_phone_number | Indique le nombre de tentatives autorisées lors de la collecte du numéro de téléphone de l'utilisateur. La valeur par défaut est 3 . |
entier |
$flow.max_retry_otp. | Indique le nombre de tentatives autorisées lors de la collecte du mot de passe à usage unique (OTP). La valeur par défaut est 3 . |
entier |
$flow.max_retry_otp_not_received | Spécifie le nombre de tentatives autorisées lorsque le mot de passe à usage unique (OTP) n'est pas reçu. La valeur par défaut est 1 . |
entier |
$flow.max_retry_otp_confirm_channel | Spécifie le nombre de tentatives autorisées lors de la collecte du canal pour recevoir le mot de passe à usage unique (OTP). La valeur par défaut est 3 . |
entier |
Pour configurer les paramètres d'entrée de ce composant, développez les instructions.
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Build (Compiler).
- Cliquez sur le composant importé dans la section Flux.
- Cliquez sur "Page d'accueil" dans la section Pages.
- Cliquez sur la route true (vraie) sur la page d'accueil.
- Dans la fenêtre "Route", modifiez les valeurs Parameter Presets (Préréglages) si nécessaire.
- Cliquez sur Enregistrer.
Paramètres de sortie
Les paramètres de sortie sont des paramètres de session qui restent actifs après la fermeture du composant. Ces paramètres contiennent des informations importantes collectées par le composant. Ce composant prédéfini fournit des valeurs pour les paramètres de sortie suivants:
Nom du paramètre | Description | Format de sortie |
---|---|---|
auth_level | Indique le niveau d'authentification actuel de l'utilisateur final. | entier |
all_recent_order_id | Ce paramètre répertorie les ID de commande associés à l'utilisateur authentifié, triés en fonction de la date de la commande (ordre décroissant). Le premier élément du tableau représente la commande la plus récente. Si un utilisateur n'a aucune commande, la valeur de ce paramètre est null . |
Liste (chaîne) |
phone_number | Numéro de téléphone local de l'utilisateur, qui permet d'identifier l'utilisateur, sans l'indicatif du pays. | chaîne |
Adresse e-mail associée au compte. | chaîne | |
user_first_name | Prénom de l'utilisateur, permettant d'accueillir et de confirmer que le compte vous appartient. | chaîne |
transfer_reason | Ce paramètre indique la raison pour laquelle le flux a été interrompu, en cas d'échec. La valeur renvoyée est l'une des suivantes:agent : l'utilisateur final a demandé un agent humain à un moment donné au cours de la conversation.denial_of_information : l'utilisateur final a refusé de partager les informations demandées par le composant.max_no_input : la conversation a atteint le nombre maximal de tentatives pour les événements sans saisie. Consultez les événements intégrés sans entrée.max_no_match : la conversation a atteint le nombre maximal de tentatives pour les événements sans correspondance. Consultez les événements intégrés sans correspondance.webhook_error : une erreur de webhook s'est produite. Consultez Événement intégré webhook.error. webhook_not_found : une URL de webhook est inaccessible. Consultez Événement intégré webhook.error.not-found. |
chaîne |
Configuration de base
Pour configurer ce composant prédéfini:
- Importez le composant prédéfini.
- Configurez les webhooks flexibles fournis avec une configuration décrivant vos services externes Dialogflow. Consultez la section "Configurer des webhooks" ci-dessous.
Configuration du webhook
Pour utiliser ce composant, vous devez configurer les webhooks flexibles inclus afin de récupérer les informations nécessaires à partir de vos services externes.
Vérifier les informations sur l'utilisateur
Le composant utilise le webhook prebuilt_components_retail_authentication:verify_user_details
pour récupérer les informations du compte utilisateur en fonction du numéro de téléphone fourni.
Paramètres de requête API
Les paramètres suivants sont fournis par le composant en tant qu'entrées dans la requête API.
Nom du paramètre | Description | Format d'entrée |
---|---|---|
$session.params.phone_number | Numéro de téléphone local de l'utilisateur, qui permet d'identifier l'utilisateur, sans l'indicatif du pays. | chaîne |
Paramètres de réponse de l'API
Les paramètres suivants sont extraits de la réponse de l'API et utilisés par le composant.
Nom du paramètre | Description | Format de sortie |
---|---|---|
Adresse e-mail associée au compte. | chaîne | |
all_recent_order_id | Liste des ID de commande associés à l'utilisateur authentifié, triés par date de placement de la commande dans l'ordre décroissant. Le premier élément du tableau représente la commande la plus récente. Si un utilisateur n'a aucune commande, la valeur de ce paramètre est null . |
Liste (chaîne) |
user_first_name | Prénom de l'utilisateur, permettant d'accueillir et de confirmer que le compte vous appartient. | chaîne |
Pour configurer le webhook "Valider les informations sur l'utilisateur" pour ce composant, développez les instructions.
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Gérer.
- Cliquez sur Webhooks.
- Sélectionnez le webhook prebuilt_components_retail_authentication:verify_user_details.
- Remplacez l'URL indiquée dans le champ URL du webhook Dialogflow par le point de terminaison du service que vous souhaitez intégrer. Sélectionnez la méthode appropriée dans le menu déroulant.
- Examinez et mettez à jour le corps de la requête pour qu'il crée le format de requête approprié pour votre webhook.
- Examinez et mettez à jour la configuration des réponses pour extraire des champs spécifiques de la réponse du webhook. Ne modifiez pas les noms des paramètres, car le composant en a besoin pour accéder aux valeurs de champ renvoyées.
- Vérifiez les paramètres d'authentification et modifiez-les si nécessaire.
- Cliquez sur Enregistrer.
Envoyer l'OTP
Le webhook prebuilt_components_retail_authentication:send_otp
permet au composant d'envoyer un mot de passe à usage unique (OTP) à un canal enregistré sélectionné par l'utilisateur final.
Paramètres de requête API
Les paramètres suivants sont fournis par le composant en tant qu'entrées dans la requête API.
Nom du paramètre | Description | Format d'entrée |
---|---|---|
$session.params.phone_number | Numéro de téléphone local de l'utilisateur, qui permet d'identifier l'utilisateur, sans l'indicatif du pays. | chaîne |
$flow.channel | Canal sélectionné par l'utilisateur pour recevoir l'OTP. Les valeurs valides sont définies par l'entité personnalisée prebuilt_components_channel_email_phone . Par défaut, email et phone sont compatibles. |
chaîne |
Paramètres de réponse de l'API
Les paramètres suivants sont extraits de la réponse de l'API et utilisés par le composant.
Nom du paramètre | Description | Format de sortie |
---|---|---|
generated_otp | Valeur de l'OTP généré et envoyé à l'utilisateur via le canal sélectionné. | chaîne |
Pour configurer le webhook OTP "Send OTP" pour ce composant, développez les instructions.
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Gérer.
- Cliquez sur Webhooks.
- Sélectionnez le webhook prebuilt_components_retail_authentication:send_otp.
- Remplacez l'URL indiquée dans le champ URL du webhook Dialogflow par le point de terminaison du service que vous souhaitez intégrer. Sélectionnez la méthode appropriée dans le menu déroulant.
- Examinez et mettez à jour le corps de la requête pour qu'il crée le format de requête approprié pour votre webhook.
- Examinez et mettez à jour la configuration des réponses pour extraire des champs spécifiques de la réponse du webhook. Ne modifiez pas les noms des paramètres, car le composant en a besoin pour accéder aux valeurs de champ renvoyées.
- Vérifiez les paramètres d'authentification et modifiez-les si nécessaire.
- Cliquez sur Enregistrer.
Exhaustivité
Votre agent et ses webhooks doivent maintenant être configurés et prêts à être testés.