Le composant prédéfini d'authentification pour le commerce de détail collecte des informations auprès de l'utilisateur pour l'authentifier au niveau requis. Ce composant couvre les exigences d'authentification courantes, mais non exclusives, au secteur de la vente au détail. Ce composant utilise le composant prédéfini Collecte du numéro de téléphone pour collecter et valider les informations utilisateur.
Niveaux d'authentification
Différents niveaux d'authentification sont requis par les différents composants prédéfinis. Les niveaux les plus élevés nécessitent plus d'informations sur l'utilisateur pour l'authentifier. Le composant d'authentification pour les marchands permet aux utilisateurs de s'authentifier au niveau 0 (correspondance ANI) ou au niveau 1 (de base), comme décrit dans le tableau des niveaux d'authentification.
| Niveau d'authentification | Conditions requises |
|---|---|
| Niveau 0 : correspondance du numéro de l'appelant | L'utilisateur est authentifié en appelant ou en fournissant un numéro de téléphone correspondant à un compte enregistré. Un utilisateur peut être authentifié au niveau 0 en utilisant le composant prédéfini Salutation. |
| Niveau 1 : de base | L'utilisateur est authentifié en validant un code secret à usage unique (OTP) envoyé à son adresse e-mail ou à son numéro de téléphone. |
Types d'utilisateurs acceptés
Le composant d'authentification pour les marchands 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 codes 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 d'OTP 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 authentifier l'appelant.
- 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 dialogues 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 de l'ANI
L'utilisateur appelle depuis un numéro de téléphone enregistré dans un compte existant, confirme son compte et est authentifié avec succès au 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 question concerne-t-elle la commande d'une autre personne ? Veuillez répondre par "Oui" ou "Non". | |
| Non | |
| Merci, John. Votre identité a bien été validée. |
Authentification de niveau 1 réussie : code secret à usage unique
L'utilisateur appelle depuis un numéro de téléphone inconnu. Le composant collecte le numéro de téléphone enregistré de l'utilisateur, puis envoie un code OTP et demande à l'utilisateur de le confirmer sur le canal de son choix. L'utilisateur est en mesure de fournir un code secret valide et est authentifié avec succès au niveau 1.
| Entrée utilisateur | Réponse de l'agent |
|---|---|
| Nous n'avons pas trouvé ce numéro de téléphone associé à votre compte. 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 du numéro de téléphone. | |
| Parfait, nous avons terminé de collecter le 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 code OTP sur votre téléphone ? Veuillez répondre par oui ou par non. | |
| oui | |
| Nous avons envoyé un code à votre 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. Votre identité a bien été validée. |
Conventions d'attribution de noms
Ce composant prédéfini utilise les conventions d'attribution de noms suivantes :
| Fonctionnalité | Format | Exemple |
|---|---|---|
| Flow | [Nom du composant] | Authentification pour les achats |
| 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 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 de 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 auquel l'utilisateur final sera authentifié. 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 collectera 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 pour collecter le 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 (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. 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 Build (Créer).
- Cliquez sur le composant importé dans la section Flux.
- Cliquez sur la page de démarrage dans la section Pages.
- Cliquez sur la route true (vrai) sur la page de démarrage.
- Dans la fenêtre "Route", modifiez les valeurs de Parameter Presets (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 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 liste les ID de commandes 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 passé 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, sans le code pays, utilisé pour l'identifier. | string |
| Adresse e-mail enregistrée dans le compte. | string | |
| user_first_name | Prénom de l'utilisateur, utilisé pour l'accueillir et confirmer la propriété 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é à parler à 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 tentatives pour les événements sans saisie. Consultez Événements intégrés sans saisie.max_no_match : la conversation a atteint le nombre maximal de tentatives pour les événements de non-correspondance. Consultez Événements intégrés "aucune 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 l'é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 la configuration décrivant vos services externes. Pour en savoir plus, consultez la section "Configuration des webhooks" ci-dessous.
Configurer un 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 utilisateur
Le webhook prebuilt_components_retail_authentication:verify_user_details est utilisé par le composant pour récupérer les informations du compte utilisateur en fonction du numéro de téléphone fourni.
Paramètres de requête de l'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 |
|---|---|---|
| Adresse e-mail enregistrée dans 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 passé aucune 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 la propriété du compte. | string |
Pour configurer le webhook "Vérifier les informations 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.
- Vérifiez 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 le composant en a besoin pour accéder aux valeurs des champs renvoyés.
- Vérifiez et modifiez les paramètres d'authentification si nécessaire.
- Cliquez sur Enregistrer.
Envoyer un mot de passe à usage unique
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 de l'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 code OTP. 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 code secret à usage unique généré et envoyé à l'utilisateur via le canal sélectionné. | string |
Pour configurer le webhook "Envoyer le code OTP" 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.
- Vérifiez 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 le composant en a besoin pour accéder aux valeurs des champs renvoyés.
- Vérifiez et modifiez les paramètres d'authentification si nécessaire.
- Cliquez sur Enregistrer.
Terminé
Votre agent et ses webhook devraient maintenant être configurés et prêts à être testés.