Die vorgefertigte Komponente für die Authentifizierung im Einzelhandel erfasst Informationen vom Nutzer, um ihn auf der erforderlichen Authentifizierungsebene zu authentifizieren. Diese Komponente deckt Authentifizierungsanforderungen ab, die zwar häufig, aber nicht ausschließlich für den Einzelhandel gelten. In dieser Komponente wird die vordefinierte Komponente Telefonnummernerfassung verwendet, um Nutzerdetails zu erfassen und zu validieren.
Authentifizierungsebenen
Für verschiedene vorgefertigte Komponenten sind mehrere Authentifizierungsebenen erforderlich. Je höher die Ebene, desto mehr Nutzerinformationen sind für die Authentifizierung erforderlich. Mit der Authentifizierungskomponente für den Einzelhandel können sich Nutzer wie in der Tabelle „Authentifizierungsebene“ beschrieben auf Ebene 0 (ANI-Übereinstimmung) oder Ebene 1 (einfach) authentifizieren.
Authentifizierungsebene | Voraussetzungen |
---|---|
Stufe 0: ANI-Abgleich | Der Nutzer wird authentifiziert, indem er von einer Telefonnummer aus anruft oder eine Telefonnummer angibt, die einem registrierten Konto entspricht. Ein Nutzer kann mit der vordefinierten Komponente „Gruß“ auf Stufe 0 authentifiziert werden. |
Stufe 1: Einfach | Der Nutzer wird durch Bestätigung eines Einmalpasswort-Codes authentifiziert, der an seine E-Mail-Adresse oder Telefonnummer gesendet wurde. |
Unterstützte Nutzertypen
Die Authentifizierungskomponente für den Einzelhandel unterstützt Nutzer mit einer registrierten Telefonnummer und E-Mail-Adresse.
Beschränkungen
Zusätzlich zu den allgemeinen Einschränkungen für vordefinierte Komponenten gelten für diese vordefinierte Komponente die folgenden Einschränkungen:
- OTPs werden nur an eine Mobilnummer oder E-Mail-Adresse gesendet, die zuvor für den Nutzer registriert wurde. Die Komponente verwendet kein OTP, um Kunden zu authentifizieren, die von einer alternativen Telefonnummer anrufen, die nicht mit ihrem Konto registriert ist. Wenn ein Nutzer von einer alternativen Telefonnummer anruft, werden Sicherheitsfragen verwendet, um den Anrufer zu authentifizieren.
- Diese Komponente verschlüsselt keine Daten.
Beispieldialoge
Die folgenden Beispieldialogfelder veranschaulichen gängige Szenarien, die von dieser vorgefertigten Komponente verarbeitet werden. Die Beispieldialoge veranschaulichen das Verhalten, wenn die Komponente über die Telefonie aufgerufen wird. Dadurch werden der Standard-Begrüßungs-Intent und die erste Antwort des Kundenservicemitarbeiters zu Beginn der Unterhaltung ausgelöst.
Authentifizierung der Stufe 0 erfolgreich: ANI-Übereinstimmung
Der Nutzer ruft von einer Telefonnummer an, die mit einem bestehenden Konto verknüpft ist, bestätigt sein Konto und wird erfolgreich für Level 0 authentifiziert.
Nutzereingabe | Antwort des Kundenservicemitarbeiters |
---|---|
Hallo, die von Ihnen gewählte Nummer ist mit dem Konto von Max verknüpft. Haben Sie Fragen zur Bestellung einer anderen Person? Bitte antworten Sie mit „Ja“, wenn das der Fall ist, andernfalls mit „Nein“. | |
Nein | |
Vielen Dank, John. Sie wurden erfolgreich identifiziert. |
Erfolgreiche Authentifizierung der Stufe 1: OTP
Der Nutzer ruft von einer unbekannten Telefonnummer an. Die Komponente erfasst die registrierte Telefonnummer des Nutzers und fordert ihn dann auf, ein OTP zu bestätigen, das an den Kanal seiner Wahl gesendet wurde. Der Nutzer kann ein gültiges OTP angeben und wird erfolgreich für Level 1 authentifiziert.
Nutzereingabe | Antwort des Kundenservicemitarbeiters |
---|---|
Wir konnten diese Telefonnummer nicht mit uns verknüpfen. Bitte geben Sie uns die registrierte Telefonnummer an. | |
Kundenservicemitarbeiter erfasst Telefonnummer mithilfe der vorgefertigten Komponente Telefonnummernerfassung | |
Super, wir haben die Telefonnummer erfasst. Aus Sicherheitsgründen müssen wir Ihre Identität bestätigen. Dazu senden wir Ihnen einen Code. Möchten Sie den Code lieber per Telefon oder per E-Mail erhalten? |
|
Telefon | |
Nur zur Bestätigung: Sollen wir das OTP auf Ihr Smartphone senden? Bitte sagen Sie Ja oder Nein. | |
Ja | |
Wir haben einen Code an Ihre registrierte Telefonnummer mit der Endung 0000 gesendet. Das kann einige Sekunden dauern. Können Sie bitte den Code bestätigen? | |
123457 | |
Vielen Dank, John. Sie wurden erfolgreich identifiziert. |
Namenskonventionen
Für diese vorgefertigte Komponente gelten die folgenden Namenskonventionen:
Funktion | Format | Beispiel |
---|---|---|
Flow | [Component Name] | Authentifizierung im Einzelhandel |
Komponentenspezifischer Intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_retail_authentication_incorrect_phone_number |
Entitätstyp | 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 |
Eingabeparameter
Mit Eingabeparametern werden bestimmte Verhaltensweisen der Komponente konfiguriert. Die Parameter werden von einer oder mehreren Bedingungen innerhalb des Ablaufs verwendet, um zu bestimmen, wie sich die Komponente verhalten soll. Parameter auf Ablaufebene müssen wie unten beschrieben auf der Startseite der Komponente festgelegt werden. Parameter auf Sitzungsebene können entweder über einen Aufrufablauf oder auf der Startseite dieser Komponente festgelegt werden.
Diese vordefinierte Komponente akzeptiert die folgenden Eingabeparameter:
Parametername | Beschreibung | Eingabeformat |
---|---|---|
$session.params.auth_level_req | Hier wird die Authentifizierungsebene definiert, mit der der Endnutzer authentifiziert wird. Gültige Werte sind 0 und 1 . |
integer |
$session.params.auth_level | (Optional) Gibt die aktuelle Authentifizierungsebene des Endnutzers an. | integer |
$session.params.phone_number | Optional: Telefonnummer des Endnutzers. Wenn dieser Parameter nicht angegeben ist, wird die Telefonnummer vom Endnutzer erfasst. | String |
$flow.max_retry_phone_number | Gibt die Anzahl der zulässigen Wiederholungen an, wenn die Telefonnummer des Nutzers erfasst wird. Der Standardwert ist 3 . |
integer |
$flow.max_retry_otp | Gibt die Anzahl der zulässigen Wiederholungsversuche beim Erfassen des Einmalpassworts (OTP) an. Der Standardwert ist 3 . |
integer |
$flow.max_retry_otp_not_received | Gibt die Anzahl der zulässigen Wiederholungsversuche an, wenn das Einmalpasswort (OTP) nicht empfangen wird. Der Standardwert ist 1 . |
integer |
$flow.max_retry_otp_confirm_channel | Gibt die Anzahl der zulässigen Wiederholungen an, wenn der Kanal zum Empfang des Einmalpassworts (OTP) abgerufen wird. Der Standardwert ist 3 . |
integer |
Maximieren Sie diesen Abschnitt, um eine Anleitung zum Konfigurieren der Eingabeparameter für diese Komponente aufzurufen.
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Wählen Sie den Agent aus.
- Wählen Sie den Tab Erstellen aus.
- Klicken Sie im Bereich Abläufe auf die importierte Komponente.
- Klicken Sie im Bereich Seiten auf die Startseite.
- Klicken Sie auf der Startseite auf die Route true.
- Bearbeiten Sie im Fenster „Route“ die Werte für die Parametervorgaben nach Bedarf.
- Klicken Sie auf Speichern.
Ausgabeparameter
Ausgabeparameter sind Sitzungsparameter, die nach dem Verlassen der Komponente aktiv bleiben. Diese Parameter enthalten wichtige Informationen, die von der Komponente erfasst werden. Diese vordefinierte Komponente liefert Werte für die folgenden Ausgabeparameter:
Parametername | Beschreibung | Ausgabeformat |
---|---|---|
auth_level | Gibt die aktuelle Authentifizierungsebene des Endnutzers an. | integer |
all_recent_order_id | Dieser Parameter enthält Bestell-IDs, die mit dem authentifizierten Nutzer verknüpft sind, sortiert nach dem Datum der Bestellung in absteigender Reihenfolge. Das erste Element des Arrays steht für die letzte Bestellung. Wenn ein Nutzer keine Bestellungen hat, ist der Wert dieses Parameters null . |
Liste (String) |
phone_number | Die Ortstelefonnummer des Nutzers ohne Landesvorwahl, die zur Identifizierung des Nutzers verwendet wird. | String |
Die mit dem Konto registrierte E-Mail-Adresse. | String | |
user_first_name | Der Vorname des Nutzers, der zur Begrüßung und Bestätigung der Kontoinhaberschaft verwendet wird. | String |
transfer_reason | Dieser Parameter gibt den Grund an, warum der Ablauf beendet wurde, falls er nicht erfolgreich war. Der zurückgegebene Wert kann einer der folgenden sein:agent : Der Endnutzer hat während der Unterhaltung einen menschlichen Kundenservicemitarbeiter angefordert.denial_of_information : Der Endnutzer hat die von der Komponente angeforderten Informationen abgelehnt.max_no_input : Die Unterhaltung hat die maximale Anzahl von Wiederholungen für No-Input-Ereignisse erreicht. Weitere Informationen finden Sie unter Ereignisse ohne Eingabe.max_no_match : Die maximale Anzahl von Wiederholungen für Ereignisse ohne Übereinstimmung wurde für die Unterhaltung erreicht. Weitere Informationen finden Sie unter Integrierte Ereignisse ohne Übereinstimmung.webhook_error : Ein Webhook-Fehler ist aufgetreten. Weitere Informationen finden Sie unter Vordefiniertes Ereignis „webhook.error“. webhook_not_found : Eine Webhook-URL war nicht erreichbar. Weitere Informationen finden Sie unter Vordefiniertes Ereignis „webhook.error.not-found“. |
String |
Grundlegende Einstellungen
So richten Sie diese vorkonfigurierte Komponente ein:
- Importieren Sie die vordefinierte Komponente.
- Konfigurieren Sie die bereitgestellten flexiblen Webhooks mit einer Konfiguration, die Ihre externen Dienste beschreibt. Weitere Informationen finden Sie unten unter „Webhook einrichten“.
Webhook-Einrichtung
Wenn Sie diese Komponente verwenden möchten, müssen Sie die enthaltenen flexiblen Webhooks konfigurieren, um die erforderlichen Informationen aus Ihren externen Diensten abzurufen.
Nutzerdetails bestätigen
Über den prebuilt_components_retail_authentication:verify_user_details
-Webhook ruft die Komponente die Kontodetails des Nutzers anhand der angegebenen Telefonnummer ab.
API-Anfrageparameter
Die folgenden Parameter werden von der Komponente als Eingaben für die API-Anfrage bereitgestellt.
Parametername | Beschreibung | Eingabeformat |
---|---|---|
$session.params.phone_number | Die Ortstelefonnummer des Nutzers ohne Landesvorwahl, die zur Identifizierung des Nutzers verwendet wird. | String |
API-Antwortparameter
Die folgenden Parameter werden aus der API-Antwort abgerufen und von der Komponente verwendet.
Parametername | Beschreibung | Ausgabeformat |
---|---|---|
Die mit dem Konto registrierte E-Mail-Adresse. | String | |
all_recent_order_id | Liste der Bestell-IDs, die mit dem authentifizierten Nutzer verknüpft sind, sortiert nach dem Datum der Bestellung in absteigender Reihenfolge. Das erste Element des Arrays steht für die letzte Bestellung. Wenn ein Nutzer keine Bestellungen hat, ist der Wert dieses Parameters null . |
Liste (String) |
user_first_name | Der Vorname des Nutzers, der zur Begrüßung und Bestätigung der Kontoinhaberschaft verwendet wird. | String |
Maximieren Sie die Ansicht, um eine Anleitung zum Konfigurieren des Webhooks „Nutzerdetails überprüfen“ für diese Komponente aufzurufen.
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Wählen Sie den Agent aus.
- Wählen Sie den Tab Verwalten.
- Klicken Sie auf Webhooks.
- Wählen Sie den Webhook „prebuilt_components_retail_authentication:verify_user_details“ aus.
- Ersetzen Sie die URL im Feld Webhook-URL für Konversations-Agents (Dialogflow CX) durch den Endpunkt des Dienstes, den Sie einbinden möchten. Wählen Sie im Drop-down-Menü die richtige Methode aus.
- Prüfen und aktualisieren Sie den Request body, um das richtige Anfrageformat für Ihren Webhook zu erstellen.
- Prüfen und aktualisieren Sie die Antwortkonfiguration, um bestimmte Felder aus der Antwort Ihres Webhooks zu extrahieren. Ändern Sie die Parameternamen nicht, da sie von der Komponente zum Zugriff auf die zurückgegebenen Feldwerte benötigt werden.
- Prüfen und aktualisieren Sie die Einstellungen für die Authentifizierung nach Bedarf.
- Klicken Sie auf Speichern.
OTP senden
Über den prebuilt_components_retail_authentication:send_otp
-Webhook sendet die Komponente ein Einmalpasswort (OTP) an einen registrierten Kanal, der vom Endnutzer ausgewählt wurde.
API-Anfrageparameter
Die folgenden Parameter werden von der Komponente als Eingaben für die API-Anfrage bereitgestellt.
Parametername | Beschreibung | Eingabeformat |
---|---|---|
$session.params.phone_number | Die Ortstelefonnummer des Nutzers ohne Landesvorwahl, die zur Identifizierung des Nutzers verwendet wird. | String |
$flow.channel | Der Kanal, über den der Nutzer das OTP erhalten möchte. Gültige Werte werden durch das benutzerdefinierte Element prebuilt_components_channel_email_phone definiert. Standardmäßig werden email und phone unterstützt. |
String |
API-Antwortparameter
Die folgenden Parameter werden aus der API-Antwort abgerufen und von der Komponente verwendet.
Parametername | Beschreibung | Ausgabeformat |
---|---|---|
generated_otp | Der Wert des OTP, der generiert und über den ausgewählten Kanal an den Nutzer gesendet wird. | String |
Maximieren Sie diesen Abschnitt, um eine Anleitung zum Konfigurieren des Webhooks „Send OTP“ für diese Komponente aufzurufen.
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Wählen Sie den Agent aus.
- Wählen Sie den Tab Verwalten.
- Klicken Sie auf Webhooks.
- Wählen Sie den Webhook „prebuilt_components_retail_authentication:send_otp“ aus.
- Ersetzen Sie die URL im Feld Webhook-URL für Konversations-Agents (Dialogflow CX) durch den Endpunkt des Dienstes, den Sie einbinden möchten. Wählen Sie im Drop-down-Menü die richtige Methode aus.
- Prüfen und aktualisieren Sie den Request body, um das richtige Anfrageformat für Ihren Webhook zu erstellen.
- Prüfen und aktualisieren Sie die Antwortkonfiguration, um bestimmte Felder aus der Antwort Ihres Webhooks zu extrahieren. Ändern Sie die Parameternamen nicht, da sie von der Komponente zum Zugriff auf die zurückgegebenen Feldwerte benötigt werden.
- Prüfen und aktualisieren Sie die Einstellungen für die Authentifizierung nach Bedarf.
- Klicken Sie auf Speichern.
Abgeschlossen
Ihr Agent und seine Webhooks sollten jetzt eingerichtet und bereit für den Test sein.