Composant d'authentification prédéfini pour le commerce

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.

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Build (Compiler).
  5. Cliquez sur le composant importé dans la section Flux.
  6. Cliquez sur "Page d'accueil" dans la section Pages.
  7. Cliquez sur la route true (vraie) sur la page d'accueil.
  8. Dans la fenêtre "Route", modifiez les valeurs Parameter Presets (Préréglages) si nécessaire.
  9. 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
email 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:

  1. Importez le composant prédéfini.
  2. 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
email 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.

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Gérer.
  5. Cliquez sur Webhooks.
  6. Sélectionnez le webhook prebuilt_components_retail_authentication:verify_user_details.
  7. 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.
  8. Examinez et mettez à jour le corps de la requête pour qu'il crée le format de requête approprié pour votre webhook.
  9. 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.
  10. Vérifiez les paramètres d'authentification et modifiez-les si nécessaire.
  11. 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.

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Gérer.
  5. Cliquez sur Webhooks.
  6. Sélectionnez le webhook prebuilt_components_retail_authentication:send_otp.
  7. 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.
  8. Examinez et mettez à jour le corps de la requête pour qu'il crée le format de requête approprié pour votre webhook.
  9. 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.
  10. Vérifiez les paramètres d'authentification et modifiez-les si nécessaire.
  11. Cliquez sur Enregistrer.

Exhaustivité

Votre agent et ses webhooks doivent maintenant être configurés et prêts à être testés.