Le composant prédéfini d'authentification pour le commerce collecte des informations auprès de l'utilisateur pour l'authentifier au niveau d'authentification requis. Ce composant couvre les exigences d'authentification courantes, mais pas exclusives, du secteur du commerce. Ce composant utilise le composant prédéfini Collecte de numéros de téléphone pour collecter et valider les informations sur l'utilisateur.
Niveaux d'authentification
Différents composants prédéfinis nécessitent plusieurs niveaux d'authentification. Les niveaux supérieurs nécessitent davantage d'informations sur l'utilisateur pour l'authentifier. Le composant d'authentification pour le commerce permet aux utilisateurs de s'authentifier au niveau 0 (correspondance ANI) ou au niveau 1 (authentification 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 appelant depuis un numéro de téléphone correspondant à un compte enregistré ou en fournissant un tel numéro. Un utilisateur peut être authentifié au niveau 0 à l'aide du composant prédéfini Message d'accueil. |
| Niveau 1 : Basic (Niveau basique) | L'utilisateur est authentifié en validant un code de mot de passe à usage unique envoyé à son adresse e-mail ou à son numéro de téléphone. |
Types d'utilisateurs compatibles
Le composant d'authentification pour le commerce est compatible avec les utilisateurs disposant d'un numéro de téléphone et d'une adresse e-mail enregistrés.
Limites
En plus des limites communes des composants prédéfinis, ce composant prédéfini présente les limites suivantes :
- Les OTP ne seront envoyés qu'à un numéro de mobile ou à une adresse e-mail précédemment enregistrés pour l'utilisateur. Le composant n'utilisera 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, des questions de sécurité sont utilisées pour l'authentifier.
- Ce composant ne chiffre aucune donnée.
Exemples de dialogues
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é par téléphonie, ce qui déclenche l'intent de bienvenue 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 depuis un numéro de téléphone enregistré sur un compte existant, confirme son compte et est authentifié au niveau 0.
| Entrée utilisateur | Réponse de l'agent |
|---|---|
| Bonjour, le numéro que vous avez composé est associé au compte de Jean. Votre demande concerne-t-elle la commande d'une autre personne ? Veuillez dire "Oui" si c'est le cas, sinon dites "Non". | |
| Non | |
| Merci, John. Vous avez bien été identifié. |
Authentification de niveau 1 réussie : OTP
L'utilisateur appelle depuis un numéro de téléphone non reconnu. Le composant collecte le numéro de téléphone enregistré de l'utilisateur, puis envoie un OTP au canal choisi par l'utilisateur et lui demande de le confirmer. L'utilisateur peut fournir un OTP 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 dans nos dossiers. 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 de numéros de téléphone | |
| Parfait, nous avons enregistré votre numéro de téléphone. Pour des raisons de sécurité, nous devons valider votre identité. Nous allons donc vous envoyer un code. Préférez-vous recevoir le code par téléphone ou par e-mail ? |
|
| téléphone | |
| Juste pour confirmer, souhaitez-vous recevoir le mot de passe à usage unique 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 bien été identifié. |
Conventions d'attribution de noms
Ce composant prédéfini utilise les conventions d'attribution de noms suivantes :
| Fonctionnalité | Format | Exemple |
|---|---|---|
| Flow | [Component Name] | Authentification pour le commerce au détail |
| Intention spécifique au 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 du flux pour déterminer le comportement du composant. Les paramètres limités au flux doivent être définis sur la page de démarrage 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 de démarrage 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 auprès de l'utilisateur final. | string |
| $flow.max_retry_phone_number | Spécifie 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 | Spécifie 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 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 la section pour obtenir des instructions.
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Compilation.
- Cliquez sur le composant importé dans la section Flows (Flux).
- Cliquez sur la page de démarrage dans la section Pages.
- Cliquez sur la route true (vrai) sur la page d'accueil.
- Dans la fenêtre "Route", modifiez les valeurs des préréglages des paramètres si nécessaire.
- Cliquez sur Enregistrer.
Paramètres de sortie
Les paramètres de sortie sont des paramètres de session qui resteront actifs après la sortie 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 liste les ID de commande associés à l'utilisateur authentifié, triés par date de 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 pas de commande, la valeur de ce paramètre est null. |
Liste (chaîne) |
| phone_number | Numéro de téléphone local de l'utilisateur, sans le code pays, utilisé pour l'identifier. | string |
| L'adresse e-mail enregistrée avec le compte. | string | |
| user_first_name | Prénom de l'utilisateur, utilisé pour l'accueillir et confirmer qu'il est bien le titulaire du compte. | string |
| transfer_reason | Ce paramètre indique la raison pour laquelle le flux s'est arrêté, s'il n'a pas abouti. La valeur renvoyée est l'une des suivantes :agent : l'utilisateur final a demandé un agent humain à un moment donné 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 nouvelles tentatives pour les événements sans entrée. Consultez Événements intégrés no-input.max_no_match : la conversation a atteint le nombre maximal de nouvelles tentatives pour les événements no-match. Consultez É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 était inaccessible. Consultez Événement intégré webhook.error.not-found. |
string |
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. Consultez la section "Configuration 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 auprès de vos services externes.
Valider les informations sur l'utilisateur
Le webhook prebuilt_components_retail_authentication:verify_user_details est utilisé par le composant pour récupérer les détails 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 de 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, sans le code pays, utilisé pour l'identifier. | string |
Paramètres de réponse de l'API
Les paramètres suivants sont extraits de la réponse de l'API pour être utilisés par le composant.
| Nom du paramètre | Description | Format de sortie |
|---|---|---|
| L'adresse e-mail enregistrée avec le compte. | string | |
| all_recent_order_id | Liste des ID de commande associés à l'utilisateur authentifié, triés par date de 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 pas de commande, la valeur de ce paramètre est null. |
Liste (chaîne) |
| user_first_name | Prénom de l'utilisateur, utilisé pour l'accueillir et confirmer qu'il est bien le titulaire du compte. | string |
Pour configurer le webhook "Vérifier les informations de l'utilisateur" pour ce composant, développez la section pour obtenir des 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 dans le champ URL du webhook de Dialogflow CX 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 créer le format de requête approprié pour votre webhook.
- Examinez et mettez à jour la configuration de la réponse pour extraire des champs spécifiques de la réponse de votre webhook. Ne modifiez pas les noms des paramètres, car ils sont requis par le composant pour accéder aux valeurs de champ renvoyées.
- Vérifiez et modifiez les paramètres d'authentification si nécessaire.
- Cliquez sur Enregistrer.
Envoyer l'OTP
Le webhook prebuilt_components_retail_authentication:send_otp est utilisé par le composant pour 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 de 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, sans le code pays, utilisé pour l'identifier. | string |
| $flow.channel | Canal sélectionné par l'utilisateur pour recevoir le mot de passe à usage unique. Les valeurs valides sont définies par l'entité personnalisée prebuilt_components_channel_email_phone. Par défaut, email et phone sont acceptés. |
string |
Paramètres de réponse de l'API
Les paramètres suivants sont extraits de la réponse de l'API pour être utilisés par le composant.
| Nom du paramètre | Description | Format de sortie |
|---|---|---|
| generated_otp | Valeur du mot de passe à usage unique généré et envoyé à l'utilisateur via le canal sélectionné. | string |
Pour configurer le webhook d'envoi de mot de passe à usage unique pour ce composant, développez la section pour obtenir des 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 dans le champ URL du webhook de Dialogflow CX 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 créer le format de requête approprié pour votre webhook.
- Examinez et mettez à jour la configuration de la réponse pour extraire des champs spécifiques de la réponse de votre webhook. Ne modifiez pas les noms des paramètres, car ils sont requis par le composant pour accéder aux valeurs de champ renvoyées.
- Vérifiez et modifiez les paramètres d'authentification si nécessaire.
- Cliquez sur Enregistrer.
Terminé
Votre agent et ses webhooks devraient maintenant être configurés et prêts à être testés.