Vordefinierte Komponente für die Authentifizierung im Einzelhandel

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.

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Erstellen aus.
  5. Klicken Sie im Bereich Abläufe auf die importierte Komponente.
  6. Klicken Sie im Bereich Seiten auf die Startseite.
  7. Klicken Sie auf der Startseite auf die Route true.
  8. Bearbeiten Sie im Fenster „Route“ die Werte für die Parametervorgaben nach Bedarf.
  9. 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
E-Mail 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:

  1. Importieren Sie die vordefinierte Komponente.
  2. 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
E-Mail 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.

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie auf Webhooks.
  6. Wählen Sie den Webhook „prebuilt_components_retail_authentication:verify_user_details“ aus.
  7. 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.
  8. Prüfen und aktualisieren Sie den Request body, um das richtige Anfrageformat für Ihren Webhook zu erstellen.
  9. 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.
  10. Prüfen und aktualisieren Sie die Einstellungen für die Authentifizierung nach Bedarf.
  11. 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.

  1. Öffnen Sie die Dialogflow CX Console.
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie auf Webhooks.
  6. Wählen Sie den Webhook „prebuilt_components_retail_authentication:send_otp“ aus.
  7. 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.
  8. Prüfen und aktualisieren Sie den Request body, um das richtige Anfrageformat für Ihren Webhook zu erstellen.
  9. 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.
  10. Prüfen und aktualisieren Sie die Einstellungen für die Authentifizierung nach Bedarf.
  11. Klicken Sie auf Speichern.

Abgeschlossen

Ihr Agent und seine Webhooks sollten jetzt eingerichtet und bereit für den Test sein.