Vordefinierte Komponente für die Einzelhandelsauthentifizierung

Die vordefinierte Komponente der Einzelhandelsauthentifizierung erfasst vom Nutzer Informationen, um ihn bei der erforderlichen Authentifizierungsebene zu authentifizieren. Diese Komponente deckt Authentifizierungsanforderungen ab, die in der Einzelhandelsbranche üblich sind, aber nicht ausschließlich. Diese Komponente verwendet die vordefinierte Komponente Erfassung von Telefonnummern, um Nutzerdetails zu erfassen und zu validieren.

Authentifizierungsebenen

Für die verschiedenen vordefinierten Komponenten sind mehrere Authentifizierungsebenen erforderlich. Höhere Ebenen erfordern mehr Nutzerinformationen zur Authentifizierung des Nutzers. Die Einzelhandelsauthentifizierungskomponente ermöglicht es Nutzern, sich bei Level 0 (ANI Match) oder Level 1 (Basic) zu authentifizieren, wie in der Tabelle „Authentifizierungsstufe“ beschrieben.

Authentifizierungsstufe Voraussetzungen
Ebene 0: ANI-Übereinstimmung Der Nutzer wird authentifiziert, indem er anruft oder eine Telefonnummer angibt, die einem registrierten Konto entspricht.

Ein Nutzer kann mithilfe der vordefinierten Komponente für Begrüßung bei Ebene 0 authentifiziert werden.
Stufe 1: Einfach Der Nutzer wird durch Bestätigung eines Einmalpassworts (OTP) authentifiziert, der an seine E-Mail-Adresse oder Telefonnummer gesendet wurde.

Unterstützte Nutzertypen

Die Einzelhandelsauthentifizierungskomponente unterstützt Nutzer mit einer registrierten Telefonnummer und E-Mail-Adresse.

Beschränkungen

Neben 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 wurden. Die Komponente verwendet kein OTP, um Kunden zu authentifizieren, die von einer anderen Telefonnummer aus anrufen, die nicht in ihrem Konto registriert ist. Wenn ein Nutzer von einer anderen Telefonnummer anruft, werden Sicherheitsfragen zur Authentifizierung des Anrufers verwendet.
  • Diese Komponente verschlüsselt keine Daten.

Beispieldialoge

Die folgenden Beispieldialogfelder zeigen gängige Szenarien, in denen diese vordefinierte Komponente verwendet wird. Die Beispieldialogfelder veranschaulichen das Verhalten, wenn die Komponente über Telefonie aufgerufen wird. Dadurch werden der Standard-Begrüßungs-Intent und die erste Agent-Antwort zu Beginn der Unterhaltung ausgelöst.

Stufe 0 Authentifizierung erfolgreich: ANI-Übereinstimmung

Der Nutzer ruft von einer Telefonnummer an, die für ein bestehendes Konto registriert ist, bestätigt sein Konto und wird bei Level 0 authentifiziert.

Nutzereingabe Agent-Antwort
Hallo, die Nummer, die du gewählt hast, ist mit Maxs Konto verknüpft. Fragen Sie nach der Bestellung einer anderen Person? Wenn das der Fall ist, sag „Ja“, andernfalls „Nein“.
Nein
Danke, John. Sie wurden erfolgreich identifiziert.

Level 1 – Authentifizierung erfolgreich: OTP

Ein Nutzer ruft von einer unbekannten Telefonnummer an. Die Komponente erfasst die registrierte Telefonnummer des Nutzers und fordert den Nutzer dann auf, ein OTP zu bestätigen, das an den Kanal des Nutzers gesendet wurde. Der Nutzer kann ein gültiges OTP angeben und ist erfolgreich bei Level 1 authentifiziert.

Nutzereingabe Agent-Antwort
Wir konnten diese mit uns verknüpfte Telefonnummer nicht finden. Bitte geben Sie die registrierte Telefonnummer an.
Der Kundenservicemitarbeiter erfasst die Telefonnummer mithilfe der vordefinierten Komponente Erfassung der Telefonnummer
Die Erfassung der Telefonnummer ist abgeschlossen.

Aus Sicherheitsgründen müssen wir Ihre Identität überprüfen, daher senden wir Ihnen einen Code. Möchtest du den Code lieber per Telefon oder E-Mail erhalten?
Telefon
Nur zur Bestätigung: Möchten Sie das OTP auf Ihrem Smartphone erhalten? Bitte sag Ja oder Nein.
yes
Wir haben einen Code an Ihre registrierte Telefonnummer mit den Endziffern 0000 gesendet. Das kann einige Sekunden dauern. Können Sie bitte den Code bestätigen?
123457
Danke, John. Sie wurden erfolgreich identifiziert.

Namenskonventionen

Diese vordefinierte Komponente verwendet die folgenden Namenskonventionen:

Funktion Format Beispiel
Fluss [Komponentenname] 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

Eingabeparameter sind Parameter, mit denen bestimmte Verhaltensweisen der Komponente konfiguriert werden. Die Parameter werden von einer oder mehreren Bedingungen im Ablauf verwendet, um das Verhalten der Komponente zu bestimmen. Ablaufbezogene Parameter müssen wie unten beschrieben auf der Startseite der Komponente festgelegt werden. Parameter auf Sitzungsebene können entweder durch einen aufrufenden Ablauf oder auf der Startseite dieser Komponente festgelegt werden.

Diese vordefinierte Komponente akzeptiert die folgenden Eingabeparameter:

Parametername Beschreibung Eingabeformat
$session.params.auth_level_req Definiert die Authentifizierungsstufe, bei der der Endnutzer authentifiziert wird. Gültige Werte sind 0 und 1. integer
$session.params.auth_level (Optional) Gibt die aktuelle Authentifizierungsstufe des Endnutzers an. integer
$session.params.phone_number Optional: Telefonnummer des Endnutzers. Wenn dieser Parameter nicht angegeben wird, erfasst die Komponente die Telefonnummer vom Endnutzer. String
$flow.max_retry_phone_number Gibt die Anzahl der zulässigen Wiederholungsversuche 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 Wiederholungsversuche an, wenn der Kanal für den Empfang des Einmalpassworts (OTP) erfasst wird. Der Standardwert ist 3. integer

Wenn Sie die Eingabeparameter für diese Komponente konfigurieren möchten, maximieren Sie den Bereich, um weitere Anweisungen zu erhalten.

  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 Build aus.
  5. Klicken Sie im Abschnitt Abläufe auf die importierte Komponente.
  6. Klicken Sie im Bereich Seiten auf die Startseite.
  7. Klicken Sie auf der Startseite auf die true-Route.
  8. Bearbeiten Sie im Fenster „Route“ die Werte unter Parameter Presets (Parametervoreinstellungen).
  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 stellt Werte für die folgenden Ausgabeparameter bereit:

Parametername Beschreibung Ausgabeformat
auth_level Gibt die aktuelle Authentifizierungsstufe des Endnutzers an. integer
all_recent_order_id In diesem Parameter werden die Bestell-IDs aufgelistet, die dem authentifizierten Nutzer zugeordnet sind, und zwar in absteigender Reihenfolge nach dem Datum der Bestellung. Das erste Element des Arrays steht für die letzte Reihenfolge. Wenn für einen Nutzer keine Bestellungen vorhanden sind, lautet der Wert dieses Parameters null. Liste (String)
phone_number Die lokale Telefonnummer des Nutzers ohne Ländervorwahl, mit der er identifiziert werden kann. String
E‑Mail Die für das Konto registrierte E-Mail-Adresse. String
user_first_name Der Vorname des Nutzers, der zur Begrüßung und Bestätigung der Inhaberschaft des Kontos verwendet wird. String
transfer_reason Dieser Parameter gibt den Grund an, warum der Ablauf beendet wurde, falls er nicht erfolgreich war. Folgender Wert wird zurückgegeben:

agent: Der Endnutzer hat während der Unterhaltung einen menschlichen Kundenservicemitarbeiter angefordert.

denial_of_information: Der Endnutzer hat die Weitergabe der von der Komponente angeforderten Informationen abgelehnt.

max_no_input: Für die Unterhaltung wurde die maximale Anzahl von Wiederholungen für Ereignisse ohne Eingabe erreicht. Integrierte Ereignisse ohne Eingabe ansehen.

max_no_match: Für die Unterhaltung wurde die maximale Anzahl von Wiederholungen für Ereignisse ohne Übereinstimmung erreicht. Weitere Informationen finden Sie unter Integrierte No-Match-Ereignisse.

webhook_error: Ein Webhook-Fehler ist aufgetreten. Siehe integriertes Ereignis „webhook.error“.

webhook_not_found: Eine Webhook-URL war nicht erreichbar. Weitere Informationen finden Sie unter Integriertes Ereignis „webhook.error.not-found“.
String

Grundlegende Einstellungen

So richten Sie diese vordefinierte Komponente ein:

  1. Importieren Sie die vordefinierte Komponente.
  2. Konfigurieren Sie die bereitgestellten flexiblen Webhooks mit einer Konfiguration, die Ihre externen Dialogflow-Dienste beschreibt. Weitere Informationen finden Sie unten im Abschnitt „Webhook-Einrichtung“.

Webhook-Einrichtung

Damit Sie diese Komponente verwenden können, müssen Sie die enthaltenen flexiblen Webhooks so konfigurieren, dass die erforderlichen Informationen von Ihren externen Diensten abgerufen werden.

Nutzerdetails bestätigen

Der Webhook prebuilt_components_retail_authentication:verify_user_details wird von der Komponente verwendet, um Nutzerkontodetails anhand der angegebenen Telefonnummer abzurufen.

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 lokale Telefonnummer des Nutzers ohne Ländervorwahl, mit der er identifiziert werden kann. String

API-Antwortparameter

Die folgenden Parameter werden aus der API-Antwort abgerufen und von der Komponente verwendet.

Parametername Beschreibung Ausgabeformat
E‑Mail Die für das Konto registrierte E-Mail-Adresse. String
all_recent_order_id Liste der Auftrags-IDs, die dem authentifizierten Nutzer zugeordnet sind, sortiert nach dem Datum der Bestellung in absteigender Reihenfolge. Das erste Element des Arrays steht für die letzte Reihenfolge. Wenn für einen Nutzer keine Bestellungen vorhanden sind, lautet der Wert dieses Parameters null. Liste (String)
user_first_name Der Vorname des Nutzers, der zur Begrüßung und Bestätigung der Inhaberschaft des Kontos verwendet wird. String

Um den Webhook „Nutzerdetails überprüfen“ für diese Komponente zu konfigurieren, maximieren Sie den Bereich, um Anweisungen zu erhalten.

  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 (Webhook-URL) in Dialogflow durch den Endpunkt des Dienstes, den Sie einbinden möchten. Wählen Sie im Drop-down-Menü die richtige Methode aus.
  8. Prüfen Sie den Anfragetext und ändern Sie ihn so, dass er das richtige Anfrageformat für den Webhook bildet.
  9. Prüfen und aktualisieren Sie die Antwortkonfiguration, um bestimmte Felder aus der Antwort des Webhooks zu extrahieren. Ändern Sie die Parameternamen nicht, da sie für die Komponente erforderlich sind, um auf die zurückgegebenen Feldwerte zuzugreifen.
  10. Überprüfen Sie die Einstellungen für die Authentifizierung und aktualisieren Sie sie nach Bedarf.
  11. Klicken Sie auf Speichern.

OTP senden

Der Webhook prebuilt_components_retail_authentication:send_otp wird von der Komponente verwendet, um ein Einmalpasswort (OTP) an einen registrierten Kanal zu senden, der vom Endnutzer ausgewählt wird.

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 lokale Telefonnummer des Nutzers ohne Ländervorwahl, mit der er identifiziert werden kann. String
$flow.channel Der Kanal, den der Nutzer für den Erhalt des OTP ausgewählt hat. Gültige Werte werden durch die benutzerdefinierte Entität 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 Wert des OTP, das über den ausgewählten Kanal generiert und an den Nutzer gesendet wurde. String

Wenn Sie den Webhook zum Senden des OTP für diese Komponente konfigurieren möchten, maximieren Sie den Abschnitt, um Anweisungen zu erhalten.

  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 (Webhook-URL) in Dialogflow durch den Endpunkt des Dienstes, den Sie einbinden möchten. Wählen Sie im Drop-down-Menü die richtige Methode aus.
  8. Prüfen Sie den Anfragetext und ändern Sie ihn so, dass er das richtige Anfrageformat für den Webhook bildet.
  9. Prüfen und aktualisieren Sie die Antwortkonfiguration, um bestimmte Felder aus der Antwort des Webhooks zu extrahieren. Ändern Sie die Parameternamen nicht, da sie für die Komponente erforderlich sind, um auf die zurückgegebenen Feldwerte zuzugreifen.
  10. Überprüfen Sie die Einstellungen für die Authentifizierung und aktualisieren Sie sie nach Bedarf.
  11. Klicken Sie auf Speichern.

Fertig

Der Agent und seine Webhooks sollten jetzt eingerichtet und bereit zum Testen sein.