Web-Widget

Das Web-Widget ist ein webbasierter Client, den Sie in Ihren Web- und mobilen Anwendungen verwenden können, damit Ihre Nutzer per Chat oder Sprache mit Ihrer Agent-Anwendung interagieren können. In diesem Leitfaden finden Sie eine Übersicht und eine Einrichtungsanleitung.

Wenn das Widget geöffnet wird, kann es rechts unten als unverankertes Dialogfenster, als Bereich neben dem Hauptinhalt oder im erweiterten Dialogmodus für eine fokussierte Unterhaltung angezeigt werden.

Architekturdiagramm

Beschränkungen

Derzeit werden Antworten mit Rich Content nur auf Englisch unterstützt.

Web-Widget einrichten

So betten Sie das Widget auf Ihrer Website ein:

  1. Klicken Sie oben im Agent Builder auf Bereitstellen.
  2. Klicke auf Kanal erstellen oder Neuer Kanal.
  3. Wählen Sie den Kanaltyp Web-Widget aus.
  4. Geben Sie einen Namen für Ihren Channel ein.
  5. Wählen Sie eine Agent-Anwendungsversion aus oder erstellen Sie eine.
  6. Konfigurieren Sie weitere Einstellungen, z. B. das Farbdesign und den Typ der Interaktion (Chat, Anruf oder gemischt).
  7. Klicken Sie auf Kanal erstellen, um den Bereitstellungscode zu generieren.
  8. Fügen Sie den Bereitstellungscode in den HTML-Code Ihrer Website ein.
  9. Richten Sie die Authentifizierung für Ihre Endnutzer ein. Im Widget wird eine Warnung angezeigt, wenn Sie den unveränderten Einbettungscode verwenden, ohne die Authentifizierung zu konfigurieren. Weitere Informationen zu Optionen und zur Einrichtung finden Sie im Abschnitt Authentifizierung konfigurieren.

Widget auf Ihrer Website einbetten

Wenn Sie das Widget auf Ihrer Website einfügen möchten, müssen Sie die folgenden HTML-Snippets hinzufügen.

Das Snippet unten enthält ein Skript, das für reCAPTCHA erforderlich ist. Wenn reCAPTCHA im Widget verwendet wird, wird unten im Widget ein Hinweis angezeigt, dass die Website durch Google geschützt ist und die Datenschutzerklärung und die Nutzungsbedingungen von Google gelten. Sie können auch das RECAPTCHA-Logo ausblenden.

Um responsive Layouts zu unterstützen, können Sie optional auch chat-messenger-layout.css laden. Die Datei „chat-messenger-layout.css“ wird für das responsive Styling verwendet und um den Messenger bei Verwendung von render-mode="slide-in" oder render-mode="slide-over" ein- und auszublenden. Da es body formatiert, kann es sich auf Ihre Website auswirken. Daher können Sie chat-messenger-layout.css nicht laden oder den Inhalt kopieren und in Ihr eigenes CSS einfügen.

Für eine optimale Leistung und responsive Layouts sollten Sie die folgenden Placements verwenden:

Im Abschnitt <header>:

<header>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <script defer src="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/chat-messenger.js"></script>

  <!-- Chat Messenger CSS -->
  <link rel="stylesheet" href="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/themes/chat-messenger-default.css">

  <!-- Optional responsive styling  -->
  <!-- <link rel="stylesheet" href="https://www.gstatic.com/ces-console/fast/chat-messenger/prod/v1/themes/chat-messenger-layout.css"> -->

  <!-- CSS customization -->
  <style>
    chat-messenger {
      z-index: 999;
      position: fixed;
      <!-- Your CSS customization goes here if needed -->
    }
  </style>
</header>

Im Abschnitt <body>:


<body>
  <!-- Your website's main content goes here -->

  <script>
    window.addEventListener("chat-messenger-loaded", () => {
      chatSdk.registerContext(
        chatSdk.prebuilts.ces.createContext({
          deploymentName: "projects/YOUR_PROJECT_ID/locations/YOUR_REGION/apps/YOUR_APP_ID/deployments/YOUR_DEPLOYMENT_ID",
          tokenBroker: {
            enableTokenBroker: true,
            // If you enabled reCAPTCHA for the token broker, set enableRecaptcha to true.
            // enableRecaptcha: true,
          },
        }),
      );
    });
  </script>

  <!-- Messenger component -->
  <chat-messenger
    language-code="en"
    max-query-length="-1">
    <chat-messenger-chat-bubble
      chat-title="${your-chat-title}">
    </chat-messenger-chat-bubble>
  </chat-messenger>

  <!-- Page content continues -->
</body>

Sicherheitsaspekte

Wenn Sie das Widget als benutzerdefiniertes Element (<chat-messenger>) direkt in Ihre Website einbetten, wird es in einem Shadow-DOM auf Ihrer Hostseite ausgeführt. Standardmäßig wird keine strikte Sandbox (z. B. ein iFrame) erzwungen.

Da das Widget denselben Fensterursprung wie Ihre Anwendung hat:

  • Zugriff auf freigegebenen Speicher:Alle Skripts, die in der benutzerdefinierten Komponente des Widgets ausgeführt werden, haben Zugriff auf window.sessionStorage und window.localStorage der Hostseite. Dazu gehören Authentifizierungstokens oder vertrauliche Sitzungsdaten, die vom Widget selbst gespeichert werden.
  • Cross-Site-Scripting (XSS): Wenn Ihr benutzerdefinierter Komponentencode oder Ihre Rich-Content-Payloads nicht bereinigte Eingaben enthalten, können sie ausgenutzt werden, um beliebigen JavaScript-Code im Kontext Ihrer Hauptanwendung auszuführen.

Um die Sicherheit Ihrer Anwendung und der Daten Ihrer Nutzer zu gewährleisten, müssen Sie Folgendes tun:

  1. Benutzerdefinierten Code bereinigen:Achten Sie darauf, dass alle benutzerdefinierten JavaScript- und HTML-Elemente, die in benutzerdefinierten Komponenten oder Nutzlasten verwendet werden, gründlich bereinigt werden.
  2. Eingaben validieren:Behandeln Sie alle Daten, die aus externen Quellen (einschließlich Agent-Antworten) an das Widget übergeben werden, als nicht vertrauenswürdig.
  3. Isolation von Handles:Wenn Ihre Sicherheitsanforderungen eine strikte Isolation zwischen dem Chat-Widget und den Daten Ihrer Anwendung erfordern, müssen Sie eine eigene Sandbox implementieren, z. B. indem Sie die Widget-Komponente in einen Container einfügen, den Sie steuern und isolieren.

Übergabe an Kundenservicemitarbeiter konfigurieren

Bevor Sie das Widget konfigurieren, müssen Sie dafür sorgen, dass die erforderlichen Ressourcen erstellt und das WebChat Proxy-Deployment abgeschlossen ist.

  1. Eskalierungsnummer einrichten.
    1. Erstellen Sie eine PhoneNumber-Ressource für Ihr Projekt.
      1. Verwenden Sie ein gültiges Unterhaltungsprofil, das für die Agent-Anwendung konfiguriert ist.
      2. Ordnen Sie das Unterhaltungsprofil der Telefonnummer zu, damit das System die menschliche Eskalierung verarbeiten kann.
    2. Folgen Sie der Anleitung zum Einrichten des WebChat-Proxys.
  2. Webchat-Clientkonfiguration:

    1. Legen Sie das Attribut über den WebChat-Proxy fest, um die Funktion für die Übergabe an einen Kundenservicemitarbeiter zu aktivieren. Beispiel für ein Code-Snippet:

      <chat-messenger service='{"name":"ces","deployment-id":"projects/YOUR_PROJECT_ID/locations/YOUR_REGION/apps/YOUR_APP_ID/deployments/YOUR_DEPLOYMENT_ID"}'
        liveHandoff="true"
      escalationNumber="projects/YOUR_PROJECT_ID/locations/global/phoneNumbers/YOUR_PHONE_NUMBER_ID"
        url-allowlist="*"
      >
        </chat-messenger>
      

HTML-Anpassung

Sie können verschiedene Aspekte für die Darstellung und das Verhalten des Chat-Dialogfelds anpassen. Das HTML-Element chat-messenger und chat-messenger-container hat die folgenden Attribute:

Attribut Komponentenzuordnung Wert (optional) Effekt
Dienst chat-messenger Der erforderliche Dienstname für den verbundenen Backend-Dienst.
url-allowlist chat-messenger * (durch Kommas getrennte Liste von Bilddomains
logging-level chat-messenger FEHLERBEHEBUNG <OMIT>
enable-audio-input-only chat-messenger-container Nur Sprachbefehl
start-with-recording chat-messenger-container Erfordert den Modus „Nur Sprache“. Der Nur-Sprachmodus wird gestartet, sobald der Chat-Messenger-Container gerendert wird.
enable-audio-input chat-messenger-container Fügt eine Schaltfläche für multimodalen Chat hinzu
enable-file-upload chat-messenger-container Aktiviert das Hochladen von Bildern
bot-writing-image chat-messenger-container String URL des Bildes, das während der „Denkphase“ des Bots gerendert wird
chat-title-icon chat-messenger-container String URL des Bildes, das oben im Chat gerendert wird (Markenbild)
chat-title chat-messenger-container String Text für den Chat-Titel
render-mode chat-messenger String („slide-in“ oder „slide-over“) Der Modus zum Rendern des Chat-Dialogfelds relativ zum Rest der Seite. Mögliche Optionen sind „slide-over“ oder „slide-in“. Wenn nicht angegeben, kann die Positionierung vom Client festgelegt werden. Stile sind erforderlich, um den Rendermodus zu unterstützen. chat-messenger-layout.css kann als Baseline verwendet werden.

CSS-Anpassung

Das Anpassen des Widget-Erscheinungsbilds erfolgt über ein System von CSS-Tokens. Durch das Ändern dieser Tokens können Sie dafür sorgen, dass sich die Chatoberfläche konsistent mit Ihrer Marke anfühlt und gleichzeitig das Layout und die Barrierefreiheit beibehalten werden.

Farb-Tokens

Mit diesen Tokens wird die Farbpalette für die Widget-Oberflächen, interaktiven Elemente, Texte und Status definiert.

Attribut Beschreibung Helles Standarddesign Dunkles Standarddesign
Container / Oberflächen
--chat-messenger-color--surface Die primäre Hintergrundfarbe für den Chatbereich und die Fußzeile. #F8FAFD #1B1B1B
--chat-messenger-color--surface-container Die Hintergrundfarbe für Widget-Container (z. B. Produktkarten und Karussells), die im Chat eingebettet sind. #FFFFFF #131314
--chat-messenger-color--surface-container-high Ein Hintergrund mit hoher Betonung für Elemente in Widgets (z. B. Eingabefelder) #F0F4F9 #1E1F20
Marke / Akzent
--chat-messenger-color--primary Primäre Markenfarbe, die für Füllungen mit hoher Betonung und primäre Schaltflächen verwendet wird. #303030 #E3E3E3
--chat-messenger-color--primary-container Hintergrundfarbe für wichtige Komponenten wie Blasen für Nutzermitteilungen. #E9EEF6 #282A2C
--chat-messenger-color--secondary Farbe für sekundäre interaktive Elemente wie die Schaltfläche „Senden“ oder tonale Schaltflächen. #DDE3EA #333537
Text und Symbole
--chat-messenger-color--on-surface Primärfarbe für Text und Symbole, die vor Standardhintergründen der Oberfläche angezeigt werden. #1F1F1F #E3E3E3
--chat-messenger-color--on-surface-variant Farbe mit geringerer Gewichtung für sekundären Text und dekorative Symbole. #444746 #C4C7C5
--chat-messenger-color--on-primary Farbe für Text und Symbole, die auf primären Marken-Hintergründen platziert werden. #F2F2F2 #303030
--chat-messenger-color--on-primary-container Farbe für Text und Symbole, die auf primären Containerhintergründen platziert werden. #1F1F1F #E3E3E3
--chat-messenger-color--on-secondary Farbe für Text und Symbole, die auf sekundären Marken-Hintergründen platziert werden. #444746 #C4C7C5
Bundesstaaten
--chat-messenger-color--state-layer-on-surface Die durchscheinende Überlagerung, die verwendet wird, um Hover- oder Auswahlzustände auf Standardoberflächen anzuzeigen. Die Füllung für deaktivierte Komponenten. #1F1F1F 8% #E3E3E3 8%
--chat-messenger-color--state-layer-on-primary Das durchscheinende Overlay, das für Interaktionsstatus über primärfarbenen Elementen verwendet wird. #FFFFFF 8% #062E6F 8%
--chat-messenger-color--state-layer-on-secondary Das durchscheinende Overlay, das für Interaktionsstatus über Elementen mit sekundärer Farbe verwendet wird. #1F1F1F 8% #E3E3E3 8%
--chat-messenger-color--state-on-surface-mute Farbe für deaktivierten Text und deaktivierte Symbole. #444746 (38%) #C4C7C5 (38%)
Funktionalität
--chat-messenger-color--outline Farbe für allgemeine Rahmen, Trennlinien und dekorative Umrisslinien. #C4C7C5 #444746
--chat-messenger-color--outline-variant Farbe für dezente Rahmen, z. B. den äußeren Rahmen von Widgets #747775 bei 16% #8E918F bei 16%
--chat-messenger-color--outline-active Rahmenfarbe für Eingabefelder und Drop-down-Menüs, wenn der Fokus darauf liegt oder sie aktiv sind. #747775 #8E918F
--chat-messenger-color--error Auffällige Farbe für Füllungen, Symbole und Text, die Dringlichkeit signalisiert. #B3261E #F2B8B5
--chat-messenger-color--error-container Hintergrundfarbe für Fehlerbanner oder interaktive Benachrichtigungscontainer. #F9DEDC #8C1D18
--chat-messenger-color--on-error-container Text und Symbole werden vor dem Hintergrund des Fehlercontainers platziert. #8C1D18 #F9DEDC
--chat-messenger-color--link Farbe, die für anklickbare Hyperlinks in Nachrichten oder Beschreibungen verwendet wird. #0B57D0 #A8C7FA

Form- und Höhen-Tokens

Mit diesen Tokens werden der Eckenradius und die visuelle Tiefe (Schatten) der Chatkomponenten gesteuert.

Attribut Beschreibung Standard
--chat-messenger-shape--corner-value-small Eckradius für kleine verschachtelte Elemente in Widgets, z. B. Produktbild-Miniaturansichten 8 Pixel
--chat-messenger-shape--corner-value-medium Eckradius für verschachtelte Elemente in Widgets (z. B. Eingabefelder, Bilder) 16 Pixel
--chat-messenger-shape--corner-value-large Eckradius für verschachtelte Container in Widgets (z. B. Karussellkarten, Schnellaktionskarten) 20 Pixel
--chat-messenger-shape--corner-value-extra-large Eckradius für das Hauptchatfenster und die Widget-Container. 28 Pixel
--chat-messenger-shape--corner-fully-rounded Wird für Schaltflächen und pillenförmige interaktive Elemente verwendet, um ein vollständig kreisförmiges Ende zu gewährleisten. 100 px
--chat-messenger-elevation Der auf schwebende Elemente und die Hauptchatkomponente angewendete Box-Schatten. 0 1px 2px 0 rgba(0,0,0,0.3), 0 2px 6px 2px rgba(0,0,0,0.15)

Typografie-Tokens

Diese Tokens definieren die Schriftart und die spezifische Skalierung (Größe, Stärke, Abstand), die in der gesamten Benutzeroberfläche verwendet wird.

Attribut Verwendungszweck Standard
--chat-messenger-font-family Hauptschriftfamilie Google Sans
Title large Wichtige Header
--chat-messenger-typescale--title-large-font-size 18 Pixel
--chat-messenger-typescale--title-large-font-weight 400
--chat-messenger-typescale--title-large-line-height 24 Pixel
--chat-messenger-typescale--title-large-letter-spacing 0
Titelmedium Abschnittsüberschriften in Widgets.
--chat-messenger-typescale--title-medium-font-size 16 Pixel
--chat-messenger-typescale--title-medium-font-weight 500
--chat-messenger-typescale--title-medium-line-height 24 Pixel
--chat-messenger-typescale--title-medium-letter-spacing 0
Titel klein
--chat-messenger-typescale--title-small-font-size Unterüberschriften oder Titel in kleineren Karten. 14 Pixel
--chat-messenger-typescale--title-small-font-weight 500
--chat-messenger-typescale--title-small-line-height 20 Pixel
--chat-messenger-typescale--title-small-letter-spacing 0
Body large Lange Beschreibungen.
--chat-messenger-typescale--body-large-font-size 16 Pixel
--chat-messenger-typescale--body-large-font-weight 400
--chat-messenger-typescale--body-large-line-height 24 Pixel
--chat-messenger-typescale--body-large-letter-spacing 0
Body medium Standard-UI-Text
--chat-messenger-typescale--body-medium-font-size 14 Pixel
--chat-messenger-typescale--body-medium-font-weight 400
--chat-messenger-typescale--body-medium-line-height 20 Pixel
--chat-messenger-typescale--body-medium-letter-spacing 0
Body small Sekundäre Metadaten und Beschreibungen
--chat-messenger-typescale--body-small-font-size 12 Pixel
--chat-messenger-typescale--body-small-font-weight 400
--chat-messenger-typescale--body-small-line-height 16 Pixel
--chat-messenger-typescale--body-small-letter-spacing 0,1
Label „Groß“ Text in Schaltflächen und primären Aktions-Chips.
--chat-messenger-typescale--label-large-font-size 14 Pixel
--chat-messenger-typescale--label-large-font-weight 500
--chat-messenger-typescale--label-large-line-height 20 Pixel
--chat-messenger-typescale--label-large-letter-spacing 0
Label-Medium Sekundärer Schaltflächentext und Feldlabels
--chat-messenger-typescale--label-medium-font-size 12 Pixel
--chat-messenger-typescale--label-medium-font-weight 500
--chat-messenger-typescale--label-medium-line-height 16 Pixel
--chat-messenger-typescale--label-medium-letter-spacing 0,1
Label „Klein“ Mikro-Labels und Badgetext
--chat-messenger-typescale--label-small-font-size 11 Pixel
--chat-messenger-typescale--label-small-font-weight 500
--chat-messenger-typescale--label-small-line-height 16 Pixel
--chat-messenger-typescale--label-small-letter-spacing 0,1

Abstandstokens

Diese Tokens sorgen für eine einheitliche Layoutdichte, indem sie Ränder, Innenabstände und Lücken zwischen Elementen definieren.

Attribut Standard
--chat-messenger-spacing--half 4 Pixel
--chat-messenger-spacing--one 8 Pixel
--chat-messenger-spacing--one-and-half 12 Pixel
--chat-messenger-spacing--two 16 Pixel
--chat-messenger-spacing--two-and-half 20 Pixel
--chat-messenger-spacing--three 24 Pixel
--chat-messenger-spacing--three-and-half 28 Pixel
--chat-messenger-spacing--four 32 Pixel

JavaScript-Ereignisse

Messenger löst eine Vielzahl von Ereignissen aus, für die Sie Ereignis-Listener erstellen können. Das Ereignisziel für diese Ereignisse ist das Element chat-messenger.

Fügen Sie zum Hinzufügen eines Ereignis-Listeners für das Element chat-messenger den folgenden JavaScript-Code hinzu, wobei event-type einer der in diesem Abschnitt beschriebenen Ereignisnamen ist:


const chatMessenger = document.querySelector('chat-messenger');
chatMessenger.addEventListener('event-type', function (event) {
  // Handle event
  ...
});

Die folgenden Ereignistypen werden unterstützt:

  • chat-messenger-loaded: Dieses Ereignis wird ausgelöst, wenn das Element chat-messenger vollständig geladen und initialisiert wurde.

  • chat-messenger-close

  • chat-messenger-error: Dieses Ereignis tritt auf, wenn der CES-Agent einen Fehlerstatuscode sendet. Die Ereignisstruktur sieht so aus:

    eventId= `chat-messenger-error-v2`
    event.details {
      message: string;
      code: number | undefined;
      status: number | string;
    }
    
  • df-update-cart-count: Dieses Ereignis tritt ein, wenn in den Rich-Content-Elementen product_carousel, product_detail und product_comparison die Aktionen „In den Warenkorb“, „Artikelmenge anpassen“ oder „Artikel löschen“ ausgeführt werden. Die Ereignisstruktur sieht so aus:

    {
      "detail": {
        "count": <cart_item_count>,
      }
    }
    

JavaScript-Funktionen

Das Element chat-messenger bietet Funktionen, die Sie aufrufen können, um dessen Verhalten zu beeinflussen.

renderCustomEvent

Diese Funktion rendert eine Textnachricht, so als ob sie eine Textantwort von der Agent-Anwendung wäre.

Beispiel:

const chatMessenger = document.querySelector('chat-messenger');
chatMessenger.renderCustomText('Custom text');

renderCustomCard

Diese Funktion rendert eine benutzerdefinierte Karte, so als ob sie eine Rich-Response-Nachricht aus der Agent-Anwendung wäre. Das Format der benutzerdefinierten Nutzlastantworten wird im Abschnitt Rich Media-Antworten definiert.

Beispiel:

const chatMessenger = document.querySelector('chat-messenger');
const payload = [
  {
    "type": "info",
    "title": "Info item title",
    "subtitle": "Info item subtitle",
    "image": {
      "src": {
        "rawUrl": "https://example.com/images/logo.png"
      }
    },
    "actionLink": "https://example.com"
  }];
chatMessenger.renderCustomCard(payload);

Authentifizierung konfigurieren

Alle API-Anfragen, die vom Web-Widget an die Backend-Dienste von Google gesendet werden, müssen authentifiziert werden. Dies erfolgt über ein kurzlebiges OAuth 2.0-Zugriffstoken.

Die mit diesem Token verknüpfte Identität, sei es ein Endnutzer oder ein Dienstkonto, muss die erforderlichen IAM-Berechtigungen haben, um mit dem Agent zu interagieren.

In den verbleibenden Unterabschnitten wird beschrieben, wie Sie die Authentifizierung einrichten können.

Token-Broker einrichten

Ein Token-Broker ist ein Webdienst, der in Ihrem Google Cloud -Projekt ausgeführt wird und ein Zugriffstoken im Namen eines Dienstkontos generiert, das Ihnen gehört. Das Web-Widget kann zu Beginn einer Unterhaltung automatisch die URL für Ihren Token-Broker aufrufen, um ein neues Token für die Kommunikation mit der CX Agent Studio API abzurufen.

Sie haben zwei Möglichkeiten, einen Token-Broker einzurichten: Google-gehostet oder selbst gehostet.

Von Google gehostet

Verwenden Sie den von Google bereitgestellten Token-Broker, um öffentlichen Zugriff auf Ihr Chat-Widget zu ermöglichen:

  • Aktivieren Sie beim Erstellen der Bereitstellungs- und Widget-Konfiguration den öffentlichen Zugriff und optional die Ursprungs- und reCAPTCHA-Prüfungen (empfohlen, um Spoofing und Missbrauch zu verhindern).
  • Das Chat-Widget fordert ein Token mit Sitzungsumfang vom von Google bereitgestellten Token-Broker an und verwendet es für Chatsitzungen.

Selbst gehostet

So richten Sie einen selbst gehosteten Tokenbroker ein:

  • Erstellen Sie ein Dienstkonto in Ihrem Projekt und weisen Sie ihm die Rolle „Customer Engagement Suite-Client“ zu.
  • Stellen Sie eine Cloud Run Functions-Funktion mit dem von uns bereitgestellten Token Broker-Beispielcode bereit.

Eine detaillierte Schritt-für-Schritt-Anleitung finden Sie im Open-Source-Repository.

OAuth 2 einrichten

Mit einem OAuth2-Client kann das Web-Widget einen Authentifizierungsvorgang für den Endnutzer starten. Das bedeutet in der Regel, dass ein Dialogfeld geöffnet wird, in dem sich der Nutzer in seinem Google-Konto (oder bei anderen Anbietern) anmeldet und das Web-Widget ein Token erhält, um im Namen des Nutzers zu agieren.

Wählen Sie diese Option aus, wenn Endnutzer sich anmelden müssen, bevor sie den Agent verwenden können. Die Anmeldedaten des Nutzers werden für den Zugriff auf die Agent-Anwendung verwendet.

Hier sind die wichtigsten Schritte, die Sie ausführen müssen:

  • Rufen Sie in der Google Cloud Console die Google Auth Platform auf und wählen Sie „Clients“ aus.
  • Klicken Sie auf Client erstellen.
  • Wählen Sie als Clienttyp Webanwendung aus.
  • Geben Sie einen Namen für den neuen Client ein.
  • Fügen Sie Ihre Website-URL sowohl den autorisierten JavaScript-Quellen als auch den autorisierten Weiterleitungs-URIs hinzu.
  • Klicken Sie auf Erstellen und warten Sie fünf Minuten, bevor Sie fortfahren.

Nachdem Sie die Schritte ausgeführt haben, erhalten Sie eine Client-ID im folgenden Format:

123456789012-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com

Geben Sie diesen Wert im Attribut oauth-client-id der Webkomponente chat-messenger an.

Eigene Authentifizierungs-API erstellen

Erstellen Sie eine eigene API, die die Authentifizierung und Autorisierung des Endnutzers übernimmt und ein Google-Zugriffstoken oder ein signiertes JWT zurückgibt, das die Berechtigung hat, runSession in Ihrer App aufzurufen.

Informationen zur Verwendung der CX Agent Studio API finden Sie unter API-Zugriff.