Webhooks

Webhooks sind Dienste, die Ihre Geschäftslogik hosten oder andere Dienste aufrufen. Während einer Sitzung können Sie mit Webhooks die Daten verwenden, die Conversational Agents (Dialogflow CX) per Natural Language Processing extrahiert hat, um dynamische Antworten zu generieren, erfasste Daten zu validieren oder Aktionen im Back-End auszulösen.

Ein Webhook kann entweder ein Standard-Webhook oder ein flexibler Webhook sein. Bei einem Standard-Webhook werden die Anfrage- und Antwortfelder von Conversational Agents (Dialogflow CX) definiert. Bei einem flexiblen Webhook definieren Sie die Anfrage- und Antwortfelder.

Standard-Webhooks

Bei Standard-Webhooks verwenden Sie Anfrage- und Antwortnachrichten, die in Conversational Agents (Dialogflow CX) definiert sind. Die Anfrage enthält viele Details zur Sitzung. Dazu gehören beispielsweise die aktuell aktive Seite, der zuletzt zugeordnete Intent, Sitzungsparameterwerte und vom Kundenservicemitarbeiter definierte Antworten.

Standard-Webhook-Anfrage

Wenn eine Auftragsausführung mit einem Webhook aufgerufen wird, sendet Conversational Agents (Dialogflow CX) eine HTTPS-POST-Webhook-Anfrage an Ihren Webhook-Dienst. Der Text dieser Anfrage ist ein WebhookRequest-JSON-Objekt mit Informationen zur Sitzung.

Bei einigen Integrationen wird das Feld WebhookRequest.payload mit zusätzlichen Informationen ausgefüllt. Die Dialogflow CX Phone Gateway-Integration liefert beispielsweise die Anrufer-ID des Endnutzers.

Weitere Informationen finden Sie in der Referenzdokumentation zu WebhookRequest(V3) oder WebhookRequest(V3Beta1).

Standard-Webhook-Antwort

Sobald Ihr Webhook-Dienst eine Webhook-Anfrage empfängt, muss er eine Webhook-Antwort senden. Für die Antwort gelten die folgenden Einschränkungen:

  • Die Antwort muss innerhalb eines Zeitlimits auftreten, das Sie beim Erstellen der Webhook-Ressource konfigurieren. Andernfalls wird das Zeitlimit der Anfrage ausgelöst.
  • Die Antwort darf maximal 64 KiB groß sein.

Weitere Informationen finden Sie in der Referenzdokumentation zu WebhookResponse(V3) oder WebhookResponse(V3Beta1).

Standardeinstellungen für Webhook-Ressourcen

Im Folgenden werden die Webhook-Ressourceneinstellungen für Standard-Webhooks beschrieben:

Begriff Definition
Anzeigename Der Name, der in der Console für den Webhook angezeigt wird.
Webhook-Zeitlimit Wenn Conversational Agents (Dialogflow CX) eine Webhook-Anfrage an Ihren Webhook-Dienst sendet, kann es zu einem Zeitüberschreitungsfehler kommen, während auf eine Antwort gewartet wird. Mit dieser Einstellung wird das Zeitlimit in Sekunden festgelegt. Wenn eine Zeitüberschreitung auftritt, ruft Conversational Agents (Dialogflow CX) das Ereignis webhook.error.timeout auf.
Typ Wählen Sie Service Directory aus, wenn Sie Service Directory für den privaten Netzwerkzugriff verwenden. Andernfalls wählen Sie Generic Web Service aus.
Webhook-URL Geben Sie die URL für Ihren Webhook-Dienst an.
Subtyp Legen Sie Standard fest.
Umgebungsspezifischer Webhook Sie können umgebungsspezifische Webhooks angeben.
Authentifizierung Weitere Informationen finden Sie im Abschnitt Authentifizierung.
Benutzerdefiniertes CA-Zertifikat Hiermit werden benutzerdefinierte CA-Zertifikate hochgeladen.

Flexible Webhooks

Mit flexiblen Webhooks definieren Sie die HTTP-Anfragemethode, die URL-Anfrageparameter und die Felder der Anfrage- und Antwortnachrichten. Die Anfrage kann nur ausgewählte Parameterwerte enthalten und die Antwort nur Parameterüberschreibungswerte. Diese Einschränkung ist eigentlich von Vorteil, da sie die Schnittstelle zwischen dem Kundenservicemitarbeiter und dem Webhook vereinfacht. In der Regel müssen zwischen einem Kundenservicemitarbeiter und einem Webhook nur Sitzungsparameterwerte ausgetauscht werden. Außerdem wird die Webhook-Implementierung vereinfacht, da die Anfrage- und Antwortnachrichten nur das enthalten, was Sie benötigen, und Sie für verschiedene Szenarien eindeutige Webhook-Nachrichten bereitstellen können.

Flexible Webhook-Anfrage

Wenn Sie die Webhook-Ressource für Ihren Kundenservicemitarbeiter erstellen, können Sie Folgendes für Webhook-Anfragen angeben:

  • Die HTTP-Methode, die für Webhook-Anfragen verwendet wird, die an Ihren Webhook-Dienst gesendet werden.
  • Sitzungsparameterwerte, die Konversations-Agenten (Dialogflow CX) über die URL an Ihren Webhook-Dienst senden sollten.
  • Wenn Sie POST, PUT oder PATCH als Methode auswählen, können Sie Werte für Sitzungsparameter angeben, die Conversational Agents (Dialogflow CX) über den JSON-Textkörper der Anfrage an Ihren Webhook-Dienst senden sollen.

Wenn Sie Sitzungsparameterwerte über die Anfrage-URL oder den JSON-Text senden möchten, verwenden Sie wie gewohnt Parameterreferenzen. Sie müssen die Parameterreferenz nicht URL-entkommentieren und sie nicht in Anführungszeichen setzen. Zur Laufzeit wird der Parameterwert von Conversational Agents (Dialogflow CX) nach Bedarf URL-codiert. Eine Liste oder ein zusammengesetzter Wert wird als JSON bereitgestellt.

Wenn Sie im JSON-Textkörper eine Parameterreferenz verwenden, müssen Sie die Referenz unabhängig vom Parametertyp in Anführungszeichen setzen. Wenn es sich bei dem Parameter tatsächlich um einen numerischen Skalar-, Listen- oder zusammengesetzten Wert handelt, entfernt der Konversationsagent (Dialogflow CX) die Anführungszeichen beim Senden der Anfrage zur Laufzeit, um den Datentyp des Parameters beizubehalten. String-Skalartypen bleiben in Anführungszeichen. Wenn in einem Stringwert auf einen numerischen Skalar, eine Liste oder einen zusammengesetzten Wert verwiesen wird (z. B. „Das ist eine Zahl: $session.params.size“), wird der Parameter als String behandelt („Das ist eine Zahl: 3“).

So können Sie beispielsweise die Werte der Sitzungsparameter fruit und size in die Anfrage-URL einfügen:

https://your-webhook-service.com/handler?f=$session.params.fruit&s=$session.params.size

Und so in den JSON-Anfragetext:

{
  "fruitParameter": "$session.params.fruit",
  "sizeParameter": "$session.params.size"
}

Flexible Webhook-Antwort

Beim Erstellen der Webhook-Ressource für Ihren Agenten können Sie Sitzungsparameter angeben, die Konversations-Agenten (Dialogflow CX) zur Laufzeit in bestimmten Feldern der Webhook-Antwort festlegen sollen.

Für die Antwort gelten die folgenden Einschränkungen:

  • Die Antwort muss innerhalb eines Zeitlimits auftreten, das Sie beim Erstellen der Webhook-Ressource konfigurieren. Andernfalls wird das Zeitlimit der Anfrage ausgelöst.
  • Die Antwort darf maximal 64 KiB groß sein.

Verwenden Sie das folgende Format, um ein Skalar-, Listen- oder zusammengesetztes Feld anzugeben:

$.fully.qualified.path.to.field

Betrachten wir beispielsweise die folgende JSON-Antwort:

{
  "routes" : [
    {
      "legs" : [
        {
          "distance" : {
            "text" : "2,064 mi",
            "value" : 3321004
          }
        }
      ]
    }
  ]
}

Verwenden Sie Folgendes, um das Feld „value“ anzugeben:

$.routes[0].legs[0].distance.value

Flexible Webhook-Ressourceneinstellungen

Im Folgenden werden die Webhook-Ressourceneinstellungen für flexible Webhooks beschrieben:

Begriff Definition
Anzeigename Der Name, der in der Console für den Webhook angezeigt wird.
Webhook-Zeitlimit Wenn Conversational Agents (Dialogflow CX) eine Webhook-Anfrage an Ihren Webhook-Dienst sendet, kann es zu einem Zeitüberschreitungsfehler kommen, während auf eine Antwort gewartet wird. Mit dieser Einstellung wird das Zeitlimit in Sekunden festgelegt. Wenn eine Zeitüberschreitung auftritt, ruft Conversational Agents (Dialogflow CX) das Ereignis webhook.error.timeout auf.
Typ Wählen Sie Service Directory aus, wenn Sie Service Directory für den privaten Netzwerkzugriff verwenden. Andernfalls wählen Sie Generic Web Service aus.
Webhook-URL Geben Sie die URL-Adresse für Ihren Webhook-Dienst an. Diese kann Verweise auf Sitzungsparameter enthalten.
Subtyp Legen Sie Flexibel fest.
Methode Legen Sie die HTTP-Methode für die Webhook-Anfrage fest.
Anfragetext Geben Sie den JSON-Anfragetext wie oben beschrieben an.
Antwortkonfiguration Geben Sie die Sitzungsparameter an, die wie oben beschrieben in Antwortfeldern festgelegt werden sollen.
Umgebungsspezifischer Webhook Sie können umgebungsspezifische Webhooks angeben.
Authentifizierung Weitere Informationen finden Sie im Abschnitt zur Authentifizierung.
Benutzerdefiniertes CA-Zertifikat Hiermit werden benutzerdefinierte CA-Zertifikate hochgeladen.

Vordefinierte benutzerdefinierte Vorlage verwenden

DialogFlow bietet vordefinierte benutzerdefinierte Vorlagen, mit denen Sie flexible Webhooks in Salesforce CRM einbinden können.

  1. Klicken Sie auf dem Tab Verwalten auf Webhooks und dann auf + Erstellen.

  2. Wählen Sie unter Untertyp die Option Flexibel aus.

  3. Klicken Sie auf Mit vordefinierter Vorlage konfigurieren, um die Funktion zu aktivieren.

  4. Wählen Sie im Drop-down-Menü Integrationstyp die Option Salesforce aus.

  5. Wählen Sie im Drop-down-Menü API-Name einen API-Namen aus. Anhand des von Ihnen ausgewählten API-Namens wird das Webhook-Formular automatisch ausgefüllt.

    1. Sie können die folgenden Felder gegebenenfalls basierend auf Ihren Parametern manuell konfigurieren:

      • Webhook-URL
      • Methode
      • JSON-Anfragetext
      • Antwortkonfiguration
    2. Die erforderlichen OAuth-Felder werden im Abschnitt Authentifizierung hervorgehoben.

  6. Klicken Sie auf Speichern, um den Webhook zu erstellen.

Webhook-Dienstanforderungen

Der Webhook-Dienst muss die folgenden Anforderungen erfüllen:

Authentifizierung

Es ist wichtig, den Webhook-Dienst so zu sichern, dass nur Sie oder Ihr Conversational Agents (Dialogflow CX)-Agent berechtigt sind, Anfragen zu stellen. Dies wird beim Erstellen einer Webhook-Ressource konfiguriert. Conversational Agents (Dialogflow CX) unterstützen die folgenden Authentifizierungsmechanismen:

Begriff Definition
Authentifizierungs-Header Für Webhook-Einstellungen können Sie optionale HTTP-Header-Schlüssel/Wert-Paare angeben. Wenn Sie diese angeben, werden sie von Conversational Agents (Dialogflow CX) den Webhook-Anfragen hinzugefügt. Es ist üblich, ein einzelnes Paar mit dem Schlüssel authorization anzugeben. Die Kopfzeilenwerte unterstützen Referenzen auf Sitzungsparameter und das Parsen von Systemfunktionen, wie in statischen Antwortnachrichten.
Basisauthentifizierung mit Nutzername und Passwort Für die Webhook-Einstellungen können Sie optionale Anmeldenamen und Passwörter angeben. Wenn angegeben, fügen Konversations-Agenten (Dialogflow CX) Webhook-Anfragen einen Autorisierungs-HTTP-Header hinzu. Dieser Header hat das Format "authorization: Basic <base 64 encoding of the string username:password>".
OAuth von Drittanbietern Sie können die OAuth-Konfiguration für Drittanbieter so festlegen, dass Conversational Agents (Dialogflow CX) ein Zugriffstoken aus dem OAuth-System austauschen und in den Autorisierungs-HTTP-Header einfügen. Es wird nur der Ablauf der Clientanmeldedaten unterstützt.
Zugriffstokens für Kundenservicemitarbeiter Sie können „Zugriffstoken“ in der Authentifizierung für Kundenservicemitarbeiter auswählen, um Zugriffstokens für Kundenservicemitarbeiter für die Authentifizierung zu verwenden. Damit können Sie auf andere Google Cloud APIs zugreifen.
Dienst-Agent-ID-Tokens Sie können „ID-Token“ in der Authentifizierung für Kundenservicemitarbeiter auswählen, um ID-Tokens für Kundenservicemitarbeiter für die Authentifizierung zu verwenden. Damit können Sie auf Cloud Run-Funktionen und Cloud Run-Dienste zugreifen.
Gegenseitige TLS-Authentifizierung Weitere Informationen finden Sie in der Dokumentation zur gegenseitigen TLS-Authentifizierung.

OAuth von Drittanbietern

Conversational Agents (Dialogflow CX) können ein Zugriffstoken von einem Drittanbieter-OAuth-Anbieter abrufen und bei Webhook-Anfragen dem Autorisierungs-HTTP-Header hinzufügen.

Im Folgenden werden die Ressourceneinstellungen für OAuth von Drittanbietern beschrieben:

Begriff Definition
Client-ID Die Client-ID, die beim Anfordern eines OAuth-Tokens verwendet werden soll.
Clientschlüssel Das Geheimnis, das beim Anfordern eines OAuth-Tokens verwendet werden soll.
URL des OAuth-Endpunkts Die URL, über die ein OAuth-Token angefordert werden soll.
OAuth-Bereiche Eine durch Kommas getrennte Liste von Bereichen, für die das OAuth-Token verwendet werden kann.

Anfragen, die an die OAuth-Endpunkt-URL gesendet werden, um ein Token zu erhalten, enthalten nicht die benutzerdefinierten Anfrageheader, die für die Webhook-Anfrage konfiguriert wurden. Sie können benutzerdefinierte Informationen als Parameter im Abfragestring der OAuth-Endpunkt-URL an den OAuth-Server übergeben.

Zugriffstokens für Kundenservicemitarbeiter

Konversations-Agenten (Dialogflow CX) können mit dem Konversations-Agenten (Dialogflow CX)-Dienstmitarbeiter ein ID-Token oder ein Zugriffstoken generieren.

Das Token wird in den Autorisierungs-HTTP-Header eingefügt, wenn Conversational Agents (Dialogflow CX) einen Webhook aufrufen.

ID-Token

Ein ID-Token kann verwendet werden, um auf Cloud Run-Funktionen und Cloud Run-Dienste zuzugreifen, nachdem Sie der

service-agent-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com
Wenn sich die Cloud Run-Funktionen und Cloud Run-Dienste im selben Ressourcenprojekt befinden, benötigen Sie keine zusätzlichen IAM-Berechtigungen, um sie aufzurufen.

Die Zielgruppe, die zum Generieren des ID-Tokens verwendet wird, ist die gesamte Webhook-URL ohne Abfrageparameter. Wenn Sie Cloud Run verwenden, prüfen Sie, ob diese URL von den Cloud Run-Zielgruppen unterstützt wird. Wenn die Webhook-URL beispielsweise

https://myproject.cloudfunctions.net/my-function/method1?query=value

Die folgende URL muss in benutzerdefinierten Zielgruppen enthalten sein.

https://myproject.cloudfunctions.net/my-function/method1

Jeder Webhook kann das Token optional mit Google-Clientbibliotheken oder Open-Source-Bibliotheken wie github.com/googleapis/google-auth-library-nodejs validieren.

Zugriffstoken

Ein Zugriffstoken kann zum Zugriff auf andere Google Cloud APIs verwendet werden, nachdem Sie die erforderlichen Rollen für

service-agent-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com

HTTPS-Zertifikatsüberprüfung

Conversational Agents (Dialogflow CX) verwenden standardmäßig den Standard-Trust Store von Google, um HTTPS-Zertifikate zu prüfen. Wenn Sie Zertifikate verwenden möchten, die vom Standard-Trust Store von Google nicht für Ihren HTTPS-Server erkannt werden, z. B. selbst signierte oder benutzerdefinierte Root-Zertifikate, lesen Sie die Informationen unter Benutzerdefinierte CA-Zertifikate.

Umgebungsspezifische Webhooks

Wenn Sie Umgebungen verwenden, um Produktionssysteme von Entwicklungssystemen zu isolieren (empfohlen), können Sie Ihre Webhooks umgebungsspezifisch konfigurieren. Für jede von Ihnen definierte Webhook-Ressource können Sie eindeutige URL- und Authentifizierungseinstellungen für jede Umgebung angeben, die Sie für den Bot definiert haben.

So können Sie Ihre Webhook-Codeupdates sicher entwickeln und testen, bevor Sie sie in der Produktion bereitstellen.

Webhook-Ressourcen erstellen oder bearbeiten

Wenn ein Webhook-Dienst ausgeführt wird, müssen Sie in Ihrem Agent eine Webhook-Ressource mit Verbindungs- und Authentifizierungsinformationen erstellen. Nach der Erstellung können Sie die Einstellungen für Webhook-Ressourcen jederzeit bearbeiten.

So erstellen oder bearbeiten Sie eine Webhook-Ressource:

Console

  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. Klicken Sie auf Erstellen oder auf eine Webhook-Ressource in der Liste, die Sie bearbeiten möchten.
  7. Geben Sie Standardeinstellungen für Webhook-Ressourcen oder flexible Einstellungen für Webhook-Ressourcen ein.
  8. Klicken Sie auf Speichern.

API

Weitere Informationen zum Erstellen einer Webhook-Ressource finden Sie in der Methode create für den Typ Webhook. Informationen zum Bearbeiten einer Webhook-Ressource (außer Umgebungsspezifische Einstellungen) finden Sie in der patch- oder update-Methode für den Typ Webhook.

Wählen Sie ein Protokoll und eine Version für die Webhook-Referenz aus:

Protokoll V3 V3beta1
REST Webhook-Ressource Webhook-Ressource
RPC Webhook-Oberfläche Webhook-Oberfläche
C++ WebhooksClient Nicht verfügbar
C# WebhooksClient Nicht verfügbar
Go WebhooksClient Nicht verfügbar
Java WebhooksClient WebhooksClient
Node.js WebhooksClient WebhooksClient
PHP Nicht verfügbar Nicht verfügbar
Python WebhooksClient WebhooksClient
Ruby Nicht verfügbar Nicht verfügbar

Informationen zum Bearbeiten der spezifischen Umgebungseinstellungen für einen Webhook finden Sie in der Methode patch oder update für den Typ Environment.

Wählen Sie ein Protokoll und eine Version für die Umgebungsreferenz aus:

Protokoll V3 V3beta1
REST Umgebungsressource Umgebungsressource
RPC Umgebungsschnittstelle Umgebungsschnittstelle
C++ EnvironmentsClient Nicht verfügbar
C# EnvironmentsClient Nicht verfügbar
Go EnvironmentsClient Nicht verfügbar
Java EnvironmentsClient EnvironmentsClient
Node.js EnvironmentsClient EnvironmentsClient
PHP Nicht verfügbar Nicht verfügbar
Python EnvironmentsClient EnvironmentsClient
Ruby Nicht verfügbar Nicht verfügbar

Webhook-Fehler

Wenn Ihr Webhook-Dienst bei der Verarbeitung einer Webhook-Anfrage einen Fehler feststellt, muss Ihr Webhook-Code einen der folgenden HTTP-Statuscodes zurückgeben:

  • 400 Fehlerhafte Anfrage
  • 401 Nicht autorisiert
  • 403 Unzulässig
  • 404 Nicht gefunden
  • 500 Serverfehler
  • 503 Dienst nicht verfügbar

In allen folgenden Fehlersituationen ruft Conversational Agents (Dialogflow CX) einen Webhook-Fehler oder ein integriertes Zeilimitereignis auf und fährt mit der Verarbeitung wie gewohnt fort:

  • Antwortzeitlimit überschritten.
  • Fehlerstatuscode empfangen.
  • Die Antwort ist ungültig.
  • Der Webhook-Dienst ist nicht verfügbar.

Wenn der Webhook-Dienstaufruf durch einen API-Aufruf zur Intent-Erkennung ausgelöst wurde, enthält das Feld queryResult.webhookStatuses in der Antwort zur Intent-Erkennung die Webhook-Statusinformationen.

Automatische Wiederholungsversuche

Conversational Agents (Dialogflow CX) enthalten interne Mechanismen, die bei bestimmten Webhook-Fehlern automatisch einen neuen Versuch starten, um die Robustheit zu verbessern. Es werden nur nicht-terminale Fehler noch einmal versucht (z. B. Zeitüberschreitungen oder Verbindungsfehler).

So verringern Sie die Wahrscheinlichkeit von doppelten Anrufen:

  • Legen Sie längere Zeitlimits für Webhooks fest.
  • Unterstütze die Idempotency in der Webhook-Logik oder dedupliziere die Daten.

Cloud Run-Funktionen verwenden

Conversational Agents (Dialogflow CX) lassen sich in Cloud Run-Funktionen einbinden, sodass Sie problemlos einen sicheren, serverlosen Webhook erstellen können. Wenn Sie eine Funktion erstellen, die sich im selben Projekt wie Ihr Agent befindet, müssen Sie in der Authentifizierungskonfiguration nur Service Agent Auth -> ID Token auswählen. Der Agent kann dann Ihren Webhook sicher aufrufen.

Es gibt jedoch zwei Situationen, in denen Sie diese Integration manuell einrichten müssen:

  1. Das Dienstkonto Conversational Agents (Dialogflow CX) Service Agent mit der folgenden Adresse muss für Ihr Agent-Projekt vorhanden sein:
    service-agent-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com
    Dieses spezielle Dienstkonto und der zugehörige Schlüssel werden beim Erstellen des ersten Agents für ein Projekt normalerweise automatisch erstellt. Wenn Ihr Agent vor dem 1. November 2020 erstellt wurde, können Sie dieses spezielle Dienstkonto erstellen:
    1. Erstellen Sie einen neuen Agent für das Projekt.
    2. Führen Sie folgenden Befehl aus:
      gcloud beta services identity create --service=dialogflow.googleapis.com --project=agent-project-id
  2. Wenn sich die Webhook-Funktion in einem anderen Projekt als der Agent befindet, müssen Sie den Cloud Functions-Invoker IAM-Rolle an das Conversational Agents (Dialogflow CX) Service Agent-Dienstkonto im Projekt Ihrer Funktion zuweisen.
  3. Wählen Sie im Abschnitt „Authentifizierungskonfiguration“ die Option Service Agent Auth -> ID Token aus.

Containerisierte Webhooks und das Go ezcx-Framework verwenden

Wenn Sie einen containerisierten Webhook mit Go implementieren möchten, lesen Sie den Artikel Go ezcx-Framework. Dieses Framework kann viele der Schritte beim Erstellen eines Webhooks vereinfachen.

Cloud Run-Funktionen nur für internen Traffic verwenden

Cloud Run-Funktionen, die so eingerichtet sind, dass sie internen Traffic von VPC-Netzwerken im selben Projekt oder im selben VPC SC-Perimeter akzeptieren, können als Webhook verwendet werden, solange sich der Agent im selben Projekt oder im selben VPC SC-Perimeter befindet.

Service Directory für den privaten Netzwerkzugriff verwenden

Conversational Agents (Dialogflow CX) werden in privaten Service Directory-Zugriff eingebunden, sodass eine Verbindung zu Webhook-Zielen in Ihrem VPC-Netzwerk hergestellt werden kann. Dadurch wird der Traffic innerhalb des Google Cloud-Netzwerks beibehalten und IAM sowie VPC Service Controls erzwungen.

So richten Sie einen Webhook ein, der auf ein privates Netzwerk ausgerichtet ist:

  1. Folgen Sie der Anleitung unter Private Netzwerkkonfiguration für Service Directory, um Ihr VPC-Netzwerk und Ihren Service Directory-Endpunkt zu konfigurieren.

  2. Das Dienstkonto Conversational Agents (Dialogflow CX) Service Agent mit der folgenden Adresse muss für Ihr Agent-Projekt vorhanden sein:

    service-agent-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com
    Weisen Sie dem Dienstkonto Conversational Agents (Dialogflow CX) Service Agent die folgenden IAM-Rollen zu:

    • servicedirectory.viewer des Service Directory-Projekts
    • servicedirectory.pscAuthorizedService des Netzwerkprojekts
  3. Geben Sie beim Erstellen des Webhooks den Service Directory-Dienst mit der URL und optionalen Authentifizierungsinformationen an.

    Console

    Screenshot: Service Directory-Webhook.

    API

    Weitere Informationen finden Sie im Feld serviceDirectory für den Typ Webhook.

    Wählen Sie ein Protokoll und eine Version für die Webhook-Referenz aus:

    Protokoll V3 V3beta1
    REST Webhook-Ressource Webhook-Ressource
    RPC Webhook-Oberfläche Webhook-Oberfläche
    C++ WebhooksClient Nicht verfügbar
    C# WebhooksClient Nicht verfügbar
    Go WebhooksClient Nicht verfügbar
    Java WebhooksClient WebhooksClient
    Node.js WebhooksClient WebhooksClient
    PHP Nicht verfügbar Nicht verfügbar
    Python WebhooksClient WebhooksClient
    Ruby Nicht verfügbar Nicht verfügbar

Zur Fehlerbehebung können Sie eine private Verfügbarkeitsdiagnose einrichten, um zu prüfen, ob Ihre Service Directory richtig konfiguriert ist.

Beispiele und Fehlerbehebung

Weitere Informationen finden Sie in der Anleitung zu Webhooks.