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

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 qui sont courantes, mais pas exclusives, au secteur du commerce. 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 composants prédéfinis nécessitent plusieurs niveaux d'authentification, les niveaux supérieurs nécessitant plus d'informations utilisateur pour authentifier l'utilisateur. Le composant d'authentification pour le commerce détail permet aux utilisateurs de s'authentifier au niveau 0 (correspondance de l'ANI) ou au niveau 1 (de base), comme décrit dans le tableau "Niveau d'authentification".

Niveau d'authentification Conditions requises
Niveau 0: Correspondance de l'ANI L'utilisateur est authentifié en appelant à partir d'un numéro de téléphone correspondant à un compte enregistré ou en fournissant ce numéro.

Un utilisateur peut être authentifié au niveau 0 à l'aide du composant prédéfini "Salutations".
Niveau 1: Basique L'utilisateur est authentifié en validant un code à usage unique (OTP) envoyé à son adresse e-mail ou à son numéro de téléphone.

Types d'utilisateurs compatibles

Le composant d'authentification pour les marchands prend en charge les 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 limitations suivantes:

  • Les OTP 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 d'OTP pour authentifier les clients qui appellent depuis un autre numéro de téléphone qui n'est pas enregistré dans leur compte. Lorsqu'un utilisateur appelle à partir d'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 boîtes de dialogue

Les exemples de boîtes de dialogue suivants illustrent les 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 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é 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 "oui" si c'est le cas, ou "non".
Non
Merci, John. Vous avez été identifié.

Authentification de niveau 1 réussie: OTP

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 au canal de son choix et lui demande de le confirmer. L'utilisateur peut fournir un code 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 associé à notre 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 l\'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. Vous avez bien été identifié.

Conventions d'attribution de noms

Ce composant prédéfini utilise les conventions d'attribution de noms suivantes:

Caractéristique Format Exemple
Flux [Component Name] Authentification pour le commerce
Intent 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 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 de 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 collecte le numéro de téléphone auprès 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 Indique le nombre de nouvelles 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 cette section pour obtenir des instructions.

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Compilation.
  5. Cliquez sur le composant importé dans la section Flux.
  6. Cliquez sur la page de démarrage dans la section Pages.
  7. Cliquez sur la route true (vraie) sur la page de démarrage.
  8. Dans la fenêtre "Itinéraire", modifiez les valeurs des préréglages de paramètres 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 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 passation 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 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 code pays, utilisé pour l'identifier. chaîne
e-mail Adresse e-mail associée au compte. chaîne
user_first_name Prénom de l'utilisateur, utilisé pour le saluer et confirmer qu'il est le propriétaire du compte. chaîne
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 tentatives pour les événements sans entrée. Consultez la section Événements intégrés sans entrée.

max_no_match: la conversation a atteint le nombre maximal de tentatives pour les événements de non-correspondance. Consultez la section Événements intégrés de non-correspondance.

webhook_error: une erreur de webhook s'est produite. Voir Événement intégré webhook.error.

webhook_not_found: une URL de webhook était inaccessible. Voir É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. Pour en savoir plus, 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 à partir de vos services externes.

Valider 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 code pays, utilisé pour l'identifier. chaîne

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
e-mail 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 passation 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 pas de commande, la valeur de ce paramètre est null. Liste (chaîne)
user_first_name Prénom de l'utilisateur, utilisé pour le saluer et confirmer qu'il est le propriétaire du compte. chaîne

Pour configurer le webhook "Valider les informations utilisateur" pour ce composant, développez la section pour obtenir des 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 dans le champ URL du webhook des agents conversationnels (Dialogflow CX) par le point de terminaison du service avec lequel vous souhaitez vous intégrer. Sélectionnez la méthode appropriée dans le menu déroulant.
  8. Examinez et modifiez le corps de la requête pour obtenir le format de requête approprié pour votre webhook.
  9. 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 des champs renvoyées.
  10. Examinez et modifiez les paramètres Authentification si nécessaire.
  11. 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 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 code pays, utilisé pour l'identifier. chaîne
$flow.channel Canal sélectionné par l'utilisateur pour recevoir le code à 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 compatibles. chaîne

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 de l'OTP généré et envoyé à l'utilisateur via le canal sélectionné. chaîne

Pour configurer le webhook d'envoi d'OTP pour ce composant, développez cette section pour obtenir des 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 dans le champ URL du webhook des agents conversationnels (Dialogflow CX) par le point de terminaison du service avec lequel vous souhaitez vous intégrer. Sélectionnez la méthode appropriée dans le menu déroulant.
  8. Examinez et modifiez le corps de la requête pour obtenir le format de requête approprié pour votre webhook.
  9. 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 des champs renvoyées.
  10. Examinez et modifiez les paramètres Authentification si nécessaire.
  11. Cliquez sur Enregistrer.

Terminé

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