ParseDialogflowRequest-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Übersicht

Die ParseDialogflowRequest-Richtlinie ermöglicht die Einbindung von Dialogflow in Apigee. Weitere Informationen finden Sie unter Apigee in Contact Center AI einbinden.

Diese Richtlinie ist eine erweiterbare Richtlinie und die Verwendung dieser Richtlinie kann je nach Apigee-Lizenz Auswirkungen auf die Kosten oder die Nutzung haben. Informationen zu Richtlinientypen und Auswirkungen auf die Nutzung finden Sie unter Richtlinientypen.

Die ParseDialogflowRequest-Richtlinie verarbeitet den WebhookRequest von einem Dialogflow-Agent, bevor die Anfragedaten an Ihre Backend-Systeme gesendet werden. Die Richtlinie extrahiert Daten aus dem WebhookRequest in die Ablaufvariablen, die Ihnen für die Dauer des gesamten API-Aufrufs zur Verfügung stehen. Sie können die Variablen in nachfolgenden Callouts und Suchvorgängen oder in der orchestrierten Logik verwenden. Diese Richtlinie ist besonders hilfreich, wenn der Dialogflow-Agent mit Ihren Legacy-Back-End-Systemen interagieren soll. Bevor Sie die Daten des Agents an die Backend-Systeme senden, haben Sie die Möglichkeit, diese zu parsen und so zu strukturieren, dass sie von den Backend-Systemen verarbeitet werden können.

Wenn Sie Backend-Dienstintegrator sind, ist das Format der Dialogflow-WebhookRequest für Sie nicht relevant. Die vorkonfigurierte ParseDialogflowRequest-Richtlinie verarbeitet die Anfragedaten automatisch.

Für den Zugriff auf die WebhookRequest des Dialogflow-Agents in Apigee müssen Sie für die Webhook-URL (Auftragsausführung) des Agents den in Apigee konfigurierten ProxyEndPoint festlegen. Der ProxyEndPoint sollte öffentlich zugänglich sein. Weitere Informationen finden Sie unter Anforderungen an Webhook-Dienste.

<ParseDialogflowRequest>

Definiert eine ParseDialogflowRequest-Richtlinie.

Standardwert
Erforderlich? Erforderlich
Typ Komplexes Objekt
Übergeordnetes Element
Untergeordnete Elemente <DialogflowVersion>
<DisplayName>
<VariablePrefix>

Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente speziell der ParseDialogflowRequest-Richtlinie:

Untergeordnetes Element Erforderlich? Beschreibung
<VariablePrefix> Optional Legt ein benutzerdefiniertes Präfix für die Ablaufvariablen fest.
<DialogflowVersion> Optional Gibt die Dialogflow-Version an.

Beispiel

Das folgende Beispiel zeigt eine Webhook-Anfrage, die zugehörige ParseDialogflowRequest-Richtlinie und die Ablaufvariablen, die nach dem Anwenden der Richtlinie generiert wurden:

Syntax

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ParseDialogflowRequest continueOnError="false" enabled="true"
        name="POLICY_NAME">
    <!-- The display name for this policy -->
    <DisplayName>DISPLAY_NAME</DisplayName>
    <!-- The optional prefix to be added to all variables created from the
         Dialogflow Webhook request. Note that all variables created from the
         WebhookRequest object will be within a container named
         "google.dialogflow" -->
    <VariablePrefix>CUSTOM_PREFIX</VariablePrefix>
    <!-- The version of Dialogflow for which this request policy is written up.
         This policy supports only the CX version. This element is optional and
         defaults to CX if unspecified -->
    <DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>
</ParseDialogflowRequest>

Webhook-Anfrage

Das folgende Beispiel zeigt die Webhook-Anfrage (im JSON-Format) von einem Dialogflow-Agent.

{
    "fulfillmentInfo": {
        "tag": "check-claim-status"
    },
    "sessionInfo": {
        "session": "projects/apigee-test/locations/global/agents/ea45003d-3f5c-46ba-ac6b-f4c6dc8db707/sessions/5ea2e8-7c1-cf4-2cf-8e4d89e72",
        "parameters": {
            "claimId": "1234",
            "policyId": "abcd"
        }
    },
    "sentimentAnalysisResult": {
      "score": -0.7,
      "magnitude": 0.7
  }
}

Informationen zu den verschiedenen Feldern, die Sie in der Anfrage konfigurieren können, finden Sie unter WebhookRequest.

Im nächsten Beispiel wird die Konfiguration der ParseDialogflowRequest-Richtlinie gezeigt.

ParseDialogflowRequest-Richtlinie

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ParseDialogflowRequest continueOnError="false" enabled="true"
        name="DialogflowRequest-InsuranceAgent">
    <DisplayName>Insurance Agent Webhook Request Policy</DisplayName>
    <VariablePrefix>my-prefix</VariablePrefix>
    <DialogflowVersion>CX</DialogflowVersion>
</ParseDialogflowRequest>

Im folgenden Beispiel werden die von der Richtlinie erstellten Ablaufvariablen dargestellt.

Ablaufvariablen

google.dialogflow.my-prefix.fulfillment.tag = "check-claim-status"
google.dialogflow.my-prefix.session.id = "5ea2e8-7c1-cf4-2cf-8e4d89e72"
google.dialogflow.my-prefix.session.project.id = "apigee-test"
google.dialogflow.my-prefix.session.agent.id = "ea45003d-3f5c-46ba-ac6b-f4c6dc8db707"
google.dialogflow.my-prefix.session.parameters.claimId = "1234"
google.dialogflow.my-prefix.session.parameters.policyId = "abcd"
google.dialogflow.my-prefix.sentimentAnalysisResultScore = -0.7
google.dialogflow.my-prefix.sentimentAnalysisResultMagnitude = 0.7

Alle generierten Ablaufvariablen beginnen mit google.dialogflow, gefolgt von einem Präfix (my-prefix), das im Element <VariablePrefix> angegeben wird.

Dieses Element hat folgende Attribute, die allen Richtlinien gemeinsam sind:

Attribut Standard Erforderlich? Beschreibung
name - Erforderlich

Der interne Name der Richtlinie. Der Wert des Attributs name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

continueOnError false Optional Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten. Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird. Weitere Informationen:
enabled wahr Optional Setzen Sie den Wert auf true, um die Richtlinie zu erzwingen. Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht durchgesetzt, selbst wenn sie mit einem Ablauf verknüpft ist.
async   false Verworfen Dieses Attribut wurde verworfen.

Verweis auf untergeordnetes Element

In diesem Abschnitt werden die untergeordneten Elemente von <ParseDialogflowRequest> beschrieben.

<DisplayName>

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen, natürlicher klingenden Namen zu versehen.

Das Element <DisplayName> ist für alle Richtlinien gleich.

Standardwert
Erforderlich? Optional. Wenn Sie <DisplayName> weglassen, wird der Wert des Attributs name der Richtlinie verwendet.
Typ String
Übergeordnetes Element <PolicyElement>
Untergeordnete Elemente

Das <DisplayName>-Element verwendet die folgende Syntax:

Syntax

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Beispiel

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

Das <DisplayName>-Element hat keine Attribute oder untergeordneten Elemente.

<VariablePrefix>

Legt ein benutzerdefiniertes Präfix für die Ablaufvariablen fest. Der in diesem Element angegebene Wert wird allen Variablennamen, die von der ParseDialogflowRequest-Richtlinie generiert werden, vorangestellt. Standardmäßig haben alle von der Richtlinie generierten Variablen das Präfix google.dialogflow. Wenn Sie das Element VariablePrefix festlegen, wird nach google.dialogflow das benutzerdefinierte Präfix hinzugefügt. Der Variablenname beginnt dann mit google.dialogflow.CUSTOM_PREFIX.

Wenn Sie das Element VariablePrefix nicht festlegen, wird dem Variablennamen nur google.dialogflow vorangestellt.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <ParseDialogflowRequest>
Untergeordnete Elemente
Das <VariablePrefix>-Element verwendet die folgende Syntax:

Syntax

<VariablePrefix>VARIABLE_PREFIX</VariablePrefix>

Beispiel

Im folgenden Beispiel wird für VariablePrefix der Wert my-prefix festgelegt:

<VariablePrefix>my-custom-prefix</VariablePrefix>

Gemäß dieser Konfiguration beginnen alle Variablennamen mit google.dialogflow.my-custom-prefix.

<DialogflowVersion>

Gibt die Dialogflow-Version an. Die ParseDialogflowRequest-Richtlinie unterstützt nur die CX-Version. Wenn Sie dieses Element nicht in der Richtlinie angeben, wird die Version standardmäßig auf CX gesetzt.

Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element
Untergeordnete Elemente
Das <DialogflowVersion>-Element verwendet die folgende Syntax:

Syntax

<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>

Beispiel

Im folgenden Beispiel wird für DialogflowVersion der Wert CX festgelegt:

<DialogflowVersion>CX</DialogflowVersion>

Fehlercodes

This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.

Runtime errors

These errors can occur when the policy executes.

Fault code HTTP status Cause Fix
steps.parsedialogflowrequest.InvalidSessionInfo 500 This error occurs if there is an invalid sessionInfo.session field in a Dialogflow request. A Webhook can use this field to identify a session. For information about the supported session format, see Class SessionInfo.
steps.parsedialogflowrequest.MalformedInput 500 This error occurs when the JSON provided to this policy is invalid or malformed.

Deployment errors

These errors can occur when you deploy a proxy containing this policy.

Error name Cause Fix
UnsupportedOperation This error occurs if you have specified unsupported Dialogflow version in the DialogflowVersion element. The ParseDialogflowRequest policy supports only CX version.

Fault variables

Whenever there are execution errors in a policy, Apigee generates error messages. You can view these error messages in the error response. Many a time, system generated error messages might not be relevant in the context of your product. You might want to customize the error messages based on the type of error to make the messages more meaningful.

To customize the error messages, you can use either fault rules or the RaiseFault policy. For information about differences between fault rules and the RaiseFault policy, see FaultRules vs. the RaiseFault policy. You must check for conditions using the Condition element in both the fault rules and the RaiseFault policy. Apigee provides fault variables unique to each policy and the values of the fault variables are set when a policy triggers runtime errors. By using these variables, you can check for specific error conditions and take appropriate actions. For more information about checking error conditions, see Building conditions.

The following table describes the fault variables specific to this policy.

Variables Where Example
fault.name="FAULT_NAME" FAULT_NAME is the name of the fault, as listed in the Runtime errors table. The fault name is the last part of the fault code. fault.name Matches "UnresolvedVariable"
ParseDialogflowRequest.POLICY_NAME.failed POLICY_NAME is the user-specified name of the policy that threw the fault. ParseDialogflowRequest.My-Parse-Dialogflow-Req.failed = true
For more information about policy errors, see What you need to know about policy errors.

Weitere Informationen

Referenzimplementierungen von Apigee-Proxys und freigegebenen Abläufen, die die Nutzung der ParseDialogflowRequest-Richtlinie veranschaulichen, sind auf Apigee GitHub verfügbar. Weitere Informationen finden Sie unter Referenzimplementierungen für dialogorientierte KI.