SetDialogflowResponse-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Übersicht

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

Die SetDialogflowResponse-Richtlinie verarbeitet und formatiert die Antwortdaten aus Ihren Backend-Systemen, bevor die Daten als WebhookResponse an den Dialogflow-Agent gesendet werden. Für einen Dialogflow-Agent ist die WebhookResponse in einem bestimmten Format erforderlich. Die SetDialogflowResponse-Richtlinie erstellt dafür die Antwort im erforderlichen Format. Die Richtlinie legt eine WebhookResponse für einen Dialogflow-Agent im erforderlichen Format an. Die WebhookResponse enthält Wortgruppen in natürlicher Sprache und andere Parameter, die der Dialogflow-Agent verarbeiten kann.

Wenn Sie Back-End-Dienstintegrator sind, ist das Format der Dialogflow-WebhookResponse für Sie nicht relevant. Die vorkonfigurierte SetDialogflowResponse-Richtlinie verarbeitet die Antwortdaten automatisch.

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.

<SetDialogflowResponse>

Definiert eine SetDialogflowResponse-Richtlinie.

Standardwert
Erforderlich? Erforderlich
Typ Komplexes Objekt
Übergeordnetes Element
Untergeordnete Elemente <DisplayName>
<Source>
<DialogflowVersion>
<NaturalLanguageResponse>
<Parameters>
<IgnoreUnresolvedVariables>

Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente des Elements SetDialogflowResponse:

Untergeordnetes Element Erforderlich? Beschreibung
<DisplayName> Optional Ein benutzerdefinierter Name für die Richtlinie.
<Source> Optional Gibt die zu parsende Variable an.
<DialogflowVersion> Optional Gibt die Dialogflow-Version an.
<NaturalLanguageResponse> Optional Kapselt alle Inhalte, die als WebhookResponse.FulfillmentResponse-Objekt gesendet werden müssen.
<Parameters> Optional Übergeordnetes Element von <Parameter>. Definiert den Satz an Parametern für die Antwort des Webhooks.
<IgnoreUnresolvedVariables> Optional Legt fest, ob die Verarbeitung beendet wird, wenn eine nicht aufgelöste Variable vorhanden ist.
Weitere untergeordnete Elemente
<MergeBehavior> Optional Legt das Verhalten der Zusammenführung für die Antwortnachrichten fest.
<Header> Optional Extrahiert den Wert des angegebenen Felds im Antwortheader.
<JSONPath> Optional Extrahiert den Wert des angegebenen JSON-Pfads.
<Parameter> Erforderlich Legt einen Parameter für das sessionInfo.parameters-Objekt in der Antwort des Webhooks fest.
<Phrase> Erforderlich Legt die Wortgruppe (Text) für das fulfillmentResponse.messages-Objekt in der Antwort des Webhooks fest.
<Phrases> Optional Übergeordnetes Element von <Phrase>. Definiert den Satz an Wortgruppen in natürlicher Sprache für die Antwort des Webhooks.
<Ref> Optional Extrahiert den Wert der angegebenen Referenzvariablen.
<Value> Optional Legt einen benutzerdefinierten Text für den angegebenen Parameter fest.

Beispiel

Im Folgenden finden Sie das Beispiel einer SetDialogflowResponse-Richtlinie und einer an den Dialogflow-Agent gesendeten WebhookResponse:

Syntax

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SetDialogflowResponse continueOnError="false" enabled="true"
        name="POLICY_NAME">
    <!-- The display name for this policy -->
    <DisplayName>DISPLAY_NAME</DisplayName>
    <!-- The message variable from which the policy extracts the required information -->
    <Source>MESSAGE_VARIABLE</Source>
    <!-- The version of Dialogflow for which this response 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>
    <!-- A container object to encapsulate all content needed for a natural
         language response to be returned to Dialogflow from the Southbound API -->
    <NaturalLanguageResponse>
        <!-- Defines the merge behavior for existing responses and new responses.
             Refer here for more details -->
        <MergeBehavior>MERGE_BEHAVIOR</MergeBehavior>
        <!-- An ordered list of natural language phrases to be returned to
             Dialogflow from the Southbound API -->
        <Phrases>
            <!-- A phrase is a natural language phrase that Dialogflow agents
                 can send back to their caller/chatting customer -->
            <Phrase>
                <!-- A phrase can be extracted from the response JSON payload of a
                     service callout -->
                <JSONPath>JSON_PATH</JSONPath>
            </Phrase>
            <Phrase>
                <!-- A phrase can be extracted from the response headers of a
                     service callout -->
                <Header name="HEADER_NAME"/>
            </Phrase>
            <Phrase>
                <!-- A phrase refer to the value of an existing flow variable -->
                <Ref>EXISTING_FLOW_VARIABLE</Ref>
            </Phrase>
            <Phrase>
                <!-- A phrase can be static text -->
                <Value>CUSTOM_TEXT</Value>
            </Phrase>
        </Phrases>
    </NaturalLanguageResponse>
    <!-- A container object defining the parameters to be set as session parameters
         in the Webhook response sent to Dialogflow -->
    <Parameters>
        <!-- Defines a single parameter to be set in sessionInfo.parameters object
             of the WebhookResponse object. The name of the parameter is defined
             as an attribute -->
        <Parameter name="PARAMETER_NAME">
            <!-- A parameter's value can be extracted from the response JSON
                 payload of a service callout -->
            <JSONPath>JSON_PATH</JSONPath>
        </Parameter>
        <Parameter name="PARAMETER_NAME">
            <!-- A parameter's value can be extracted from the response headers
                 of a service callout -->
            <Header name="HEADER_NAME"/>
        </Parameter>
        <Parameter name="PARAMETER_NAME">
            <!-- A parameter's value can be refer to the value of an existing flow
                 variable -->
            <Ref>EXISTING_FLOW_VARIABLE</Ref>
        </Parameter>
        <Parameter name="PARAMETER_NAME">
            <!-- A parameter's value can be static text -->
            <Value>CUSTOM_TEXT</Value>
        </Parameter>
    </Parameters>
    <IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables>
</SetDialogflowResponse>
      

SetDialogflowResponse-Richtlinie

Das folgende Beispiel zeigt die Definition der SetDialogflowResponse-Richtlinie:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SetDialogflowResponse continueOnError="false" enabled="true"
        name="CCAIDialogflowResponse-InsuranceAgent">
    <DisplayName>Insurance Agent Webhook Response Policy</DisplayName>
    <Source>myMessageVar</Source>
    <DialogflowVersion>CX</DialogflowVersion>
    <NaturalLanguageResponse>
        <MergeBehavior>APPEND</MergeBehavior>
        <Phrases>
            <Phrase>
                <JSONPath>$.claim.status.text</JSONPath>
            </Phrase>
            <Phrase>
                <Header name="X-Response-Text"/>
            </Phrase>
            <Phrase>
                <Ref>myVar</Ref>
            </Phrase>
            <Phrase>
                <Value>You call is important to us</Value>
            </Phrase>
        </Phrases>
    </NaturalLanguageResponse>
    <Parameters>
        <Parameter name="claimStatus">
            <JSONPath>$.claim.status.value</JSONPath>
        </Parameter>
        <Parameter name="claimAmount">
            <JSONPath>$.claim.amount</JSONPath>
        </Parameter>
        <Parameter name="timeSpent">
            <Header name="X-Time-Spent"/>
        </Parameter>
        <Parameter name="myVar">
            <Ref>dialogflow.my.var</Ref>
        </Parameter>
        <Parameter name="responder">
            <Value>SYSTEM</Value>
        </Parameter>
    </Parameters>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</SetDialogflowResponse>

Im nächsten Beispiel wird die von dieser Richtlinie erstellte Antwort des Webhooks dargestellt.

Webhook-Antwort

Das folgende Beispiel zeigt eine WebhookResponse, die an den Dialogflow-Agent gesendet wird:

{
    "fulfillmentResponse": {
        "mergeBehavior": "APPEND",
        "messages": [{
            "text": {
                "text": ["Your claim is currently being processed",
                          "Please call back in a couple of days"]
            }
        }]
    },
    "sessionInfo": {
        "parameters": {
            "claimStatus": "PROCESSING",
            "claimAmount": 1000
        }
    }
}

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 <SetDialogflowResponse> 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 Keine

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.

<Source>

Gibt die zu parsende Variable an. Der Wert von <Source> ist standardmäßig message. Der Wert message ist kontextabhängig. In einem Anfragefluss löst message die Anfragenachricht auf. In einem Antwortfluss löst message die Antwortnachricht auf.

Obwohl Sie diese Richtlinie häufig zum Extrahieren von Informationen aus einer Anfrage- oder Antwortnachricht verwenden, können Sie sie zum Extrahieren von Informationen aus einer beliebigen Variable verwenden. Sie können sie beispielsweise verwenden, um Informationen aus einer Entität zu extrahieren, die durch die AccessEntity-Richtlinie erstellt wurde, durch Daten, die von der ServiceCallout-Richtlinie zurückgegeben wurden, oder um Daten aus einem XML- oder JSON-Objekt zu extrahieren.

Wenn <Source> nicht aufgelöst werden kann oder in einen Nicht-Nachrichtentyp aufgelöst wird, schlägt die Richtlinie fehl und Sie erhalten einen Laufzeitfehler.

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

Syntax

<Source>MESSAGE_VARIABLE</Source>

Beispiel

Im folgenden Beispiel wird die Quelle auf myMessageVar festgelegt:

<Source>myMessageVar</Source>

<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 <SetDialogflowResponse>
Untergeordnete Elemente Keine
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>

<IgnoreUnresolvedVariables>

Bestimmt, ob die Verarbeitung beendet wird, wenn eine nicht aufgelöste Variable erkannt wird.

Standardwert Wahr
Erforderlich? Optional
Typ Boolesch
Übergeordnetes Element <SetDialogflowResponse>
Untergeordnete Elemente Keine

Auf true festlegen, um nicht aufgelöste Variablen zu ignorieren und die Verarbeitung fortzusetzen. Andernfalls false. Der Standardwert ist true.

Das Festlegen von true für <IgnoreUnresolvedVariables> unterscheidet sich vom Festlegen von continueOnError auf true für <SetDialogflowResponse>. Wenn Sie true für continueOnError angeben, ignoriert Apigee alle Fehler, also nicht nur Fehler in Variablen.

Das <IgnoreUnresolvedVariables>-Element verwendet die folgende Syntax:

Syntax

 <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>

Beispiel

Im folgenden Beispiel wird für <IgnoreUnresolvedVariables> der Wert false festgelegt:

       <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<MergeBehavior>

Definiert das Verhalten der Zusammenführung für die Antwortnachrichten. Sie können die folgenden Werte angeben:

  • APPEND: Fügt die Nachrichten der Liste der Nachrichten hinzu, die noch nicht an den Nutzer gesendet wurden.
  • REPLACE: Ersetzt in der Liste der Nachrichten, die noch nicht an den Nutzer gesendet wurden, ältere Nachrichten durch neuere.
Wenn Sie das Element nicht festlegen, wird standardmäßig APPEND verwendet.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <NaturalLanguageResponse>
Untergeordnete Elemente Keine
Das <MergeBehavior>-Element verwendet die folgende Syntax:

Syntax

<MergeBehavior>BEHAVIOR</MergeBehavior>

Beispiel

Im folgenden Beispiel wird für das Verhalten der Zusammenführung der Wert APPEND festgelegt:

<MergeBehavior>APPEND</MergeBehavior>

<NaturalLanguageResponse>

Kapselt alle Antworten in natürlicher Sprache, die Sie an den Dialogflow-Agent senden möchten.

Standardwert
Erforderlich? Optional
Typ Komplexes Objekt
Übergeordnetes Element <SetDialogflowResponse>
Untergeordnete Elemente <MergeBehavior>
<Phrases>

<Parameters>

Definiert den Satz an Parametern für die Antwort des Webhooks. Der Name des Parameters ist ein Attribut des <Parameter>-Elements.

Standardwert
Erforderlich? Optional
Typ Komplexes Objekt
Übergeordnetes Element <SetDialogflowResponse>
Untergeordnete Elemente <Parameter>

<Parameter>

Legt einen Parameter im sessionInfo.parameters-Objekt der Antwort des Webhooks fest.

Sie können als Parameterwert einen statischen Text angeben oder den Wert aus einem der folgenden Felder in der Antwort extrahieren:

  • Antwortheaderfelder
  • JSON-Nutzlast
  • Ablaufvariablen

Für jeden Wert, den Sie extrahieren möchten, müssen Sie ein eigenes <Parameter>-Element definieren.

Standardwert
Erforderlich? Erforderlich
Typ Komplexes Objekt
Übergeordnetes Element <Parameters>
Untergeordnete Elemente <Header>
<JSONPath>
<Ref>
<Value>
Das <Parameter>-Element hat die folgenden Attribute:
Attribut Beschreibung Erforderlich? Typ
name Der Name der Variablen, die mit diesem Parameter erstellt werden soll. Ja String

Das <Parameter>-Element verwendet die folgende Syntax:

Syntax

<Parameters>
  <Parameter name="PARAMETER_NAME">
  <Header name="HEADER_NAME"/>
</Parameter>
<Parameter name="PARAMETER_NAME">
  <JSONPath>JSON_PATH</JSONPath>
</Parameter>
<Parameter name="PARAMETER_NAME">
  <Ref>EXISTING_FLOW_VARIABLE</Ref>
</Parameter>
<Parameter name="PARAMETER_NAME">
  <Value>CUSTOM_TEXT</Value>
</Parameter>
</Parameters>

Headerfeldwert extrahieren

In diesem Beispiel wird für den Parameter timeSpent der Wert des Headers timeSpent festgelegt.

<Parameter name="timeSpent">
     <Header name="X-Time-Spent"/>
</Parameter>

JSON-Pfadwert extrahieren

In diesem Beispiel wird für den Parameter claimAmount der Wert des Felds claimAmount in der JSON-Nutzlast festgelegt.

<Parameter name="claimAmount">
   <JSONPath>$.claim.amount</JSONPath>
</Parameter>

Wert der Ablaufvariablen extrahieren

In diesem Beispiel für den Parameter myVar der Wert der Ablaufvariablen myVar festgelegt.

<Parameter name="myVar">
   <Ref>dialogflow.my.var</Ref>
</Parameter>
       

Benutzerdefinierten Text festlegen

In diesem Beispiel wird für den Parameter responder der Wert SYSTEM festgelegt.

<Parameter name="responder">
   <Value>SYSTEM</Value>
</Parameter>

<Phrases>

Übergeordnetes Element von <Phrase>. Definiert die sortierte Liste von Wortgruppen in natürlicher Sprache, die in der Antwort des Webhooks festgelegt werden soll.

Standardwert
Erforderlich? Optional
Typ Komplexes Objekt
Übergeordnetes Element <NaturalLanguageResponse>
Untergeordnete Elemente <Phrase>

<Phrase>

Legt die Wortgruppe (Text) für das fulfillmentResponse.messages-Objekt in der Antwort des Webhooks fest.

Sie können als Wert für eine Wortgruppe einen statischen Text angeben oder den Wert aus einem der folgenden Felder in der Antwort extrahieren:

  • Antwortheaderfelder
  • JSON-Nutzlast
  • Ablaufvariablen

Für jeden Wert, den Sie extrahieren möchten, müssen Sie ein eigenes <Phrase>-Element definieren.

Standardwert
Erforderlich? Erforderlich
Typ Komplexes Objekt
Übergeordnetes Element <Phrases>
Untergeordnete Elemente <Header>
<JSONPath>
<Ref>
<Value>

Das <Phrase>-Element verwendet die folgende Syntax:

Syntax

<Phrases>
  <Phrase>
    <Header name="HEADER_NAME"/>
  </Phrase>
  <Phrase>
    <JSONPath>JSON_PATH</JSONPath>
  </Phrase>
  <Phrase>
    <Ref>EXISTING_FLOW_VARIABLE</Ref>
  </Phrase>
  <Phrase>
    <Value>CUSTOM_TEXT</Value>
  </Phrase>
</Phrases>

Headerfeldwert extrahieren

In diesem Beispiel wird für einen Text in natürlicher Sprache in der Antwort der Wert des Headerfelds X-Response-Text festgelegt.

<Phrase>
     <Header name="X-Response-Text"/>
</Phrase>

JSON-Pfadwert extrahieren

In diesem Beispiel wird für einen Text in natürlicher Sprache in der Antwort der Wert des Felds claim.status.text in der JSON-Nutzlast festgelegt.

<Phrase>
   <JSONPath>$.claim.status.text</JSONPath>
</Phrase>

Wert der Ablaufvariablen extrahieren

In diesem Beispiel wird für einen Text in natürlicher Sprache in der Antwort der Wert der Ablaufvariablen myVar festgelegt.

<Phrase>
   <Ref>myVar</Ref>
</Phrase>
       

Benutzerdefinierten Text festlegen

In diesem Beispiel wird dem Text in natürlicher Sprache in der Antwort der Text You call is important to us hinzugefügt.

<Phrase>
   <Value>You call is important to us</Value>
</Phrase>

Extrahiert den Wert aus dem angegebenen Feld im Antwortheader. Sie können mit dem Headerwert entweder einen Text in natürlicher Sprache oder einen Antwortparameter festlegen.

  • Um den Headerwert als Antwort in natürlicher Sprache zu extrahieren, geben Sie das Element <Header> im Element <Phrase> an.
  • Um den Headerwert als Antwortparameter zu extrahieren, geben Sie das Element <Header> im Element <Parameter> an.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <Phrase>
<Parameter>
Untergeordnete Elemente Keine
Das <Header>-Element verwendet die folgende Syntax:

Syntax

<Header name="HEADER_FIELD"/>

Beispiel 1

Im folgenden Beispiel wird der Wert des Headerfelds X-Response-Text als Antwort in natürlicher Sprache abgerufen:

<Phrase>
  <Header name="X-Response-Text"/>
<Phrase/>

Beispiel 2

Im folgenden Beispiel wird der Wert des Headerfelds X-Response-Text als Antwortparameter abgerufen:

<Parameter name="timeSpent">
  <Header name="X-Response-Text"/>
<Parameter/>

Für die Ablaufvariable timeSpent wird der Wert des Headerfelds X-Response-Text festgelegt.

Das <Header>-Element hat die folgenden Attribute:

Attribut Beschreibung Erforderlich? Typ
Name Gibt den Namen des Antwortheaders an, aus dem der Wert extrahiert wird. Erforderlich String

<JSONPath>

Extrahiert den Wert eines JSON-Pfads in einer JSON-Nutzlast des Service Callout. Sie können mit dem Wert entweder einen Text in natürlicher Sprache oder einen Antwortparameter festlegen.

  • Um den JSON-Wert als Text in natürlicher Sprache zu extrahieren, geben Sie das Element <JSONPath> im Element <Phrase> an.
  • Um den JSON-Wert als Antwortparameter zu extrahieren, geben Sie das Element <JSONPath> im Element <Parameter> an.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <Phrase>
<Parameter>
Untergeordnete Elemente Keine
Das <JSONPath>-Element verwendet die folgende Syntax:

Syntax

<JSONPath>JSON_PATH</JSONPath>

Beispiel 1

Im folgenden Beispiel wird der Wert des JSON-Feldes claim.status.text als Antwort in natürlicher Sprache abgerufen:

<Phrase>
  <JSONPath>$.claim.status.text</JSONPath>
<Phrase/>

Beispiel 2

Im folgenden Beispiel wird der Wert des JSON-Felds claim.amount als Antwortparameter abgerufen:

<Parameter name="claimAmount">
  <JSONPath>$.claim.amount.</JSONPath>
<Parameter/>

Für die Ablaufvariable claimAmount wird der Wert des JSON-Felds {claim.amount} festgelegt.

<Ref>

Extrahiert den Wert einer vorhandenen Ablaufvariablen. Sie können mit dem Wert entweder einen Text in natürlicher Sprache oder einen Antwortparameter festlegen.

  • Um den Wert einer Variablen als Text in natürlicher Sprache zu extrahieren, geben Sie das Element <Ref> im Element <Phrase>.
  • Um den Wert einer Variablen als Antwortparameter zu extrahieren, geben Sie das Element <Ref> im Element <Parameter> an.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <Phrase>
<Parameter>
Untergeordnete Elemente Keine
Das <Ref>-Element verwendet die folgende Syntax:

Syntax

<Ref>EXISTING_FLOW_VARIABLE</Ref>

Beispiel 1

Im folgenden Beispiel wird der Wert der Ablaufvariablen myVar als Antwort in natürlicher Sprache abgerufen:

<Phrase>
  <Ref>myVar</Ref>
<Phrase/>

Beispiel 2

Im folgenden Beispiel wird der Wert der Ablaufvariablen dialogflow.my.var als Antwortparameter abgerufen:

<Parameter name="customVar">
  <Ref>dialogflow.my.var</Ref>
<Parameter/>

Für Ablaufvariable customVar wird der Wert der Variable dialogflow.my.var festgelegt.

<Value>

Legt einen Literalwert für einen Text in natürlicher Sprache oder einen Antwortparameter fest.

  • Um den Literalwert als Text in natürlicher Sprache festzulegen, geben Sie das Element <Value> im Element <Phrase> an.
  • Um den Literalwert als Antwortparameter festzulegen, geben Sie das Element <Value> im Element <Parameter> an.
Standardwert
Erforderlich? Optional
Typ String
Übergeordnetes Element <Phrase>
<Parameter>
Untergeordnete Elemente Keine
Das <Value>-Element verwendet die folgende Syntax:

Syntax

<Value>CUSTOM_TEXT</Value>

Beispiel 1

Im folgenden Beispiel wird der Literaltext You call is important to us als Antwort in natürlicher Sprache festgelegt:

<Phrase>
  <Value>You call is important to us</Value>
<Phrase/>

Beispiel 2

Im folgenden Beispiel wird der Literaltext SYSTEM als Antwortparameter festgelegt:

<Parameter name="responder">
  <Value>SYSTEM</Value>
<Parameter/>

Für die Ablaufvariable responder wird der Wert SYSTEM festgelegt.

Fehlercodes

In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Apigee festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Diese Fehler können bei Ausführung der Richtlinie auftreten.

Fehlercode HTTP-Status Ursache
steps.setdialogflowresponse.ExecutionFailed 500 Dieser Fehler tritt auf, wenn die Ausführung der Richtlinie aufgrund einer allgemeinen Ausnahme fehlgeschlagen ist. Die Fehlermeldung enthält die Details der Ausnahme.
steps.setdialogflowresponse.InvalidSourceType 500 Dieser Fehler tritt auf, wenn die im Element <Source> angegebene Variable nicht vom Typ message ist.
steps.setdialogflowresponse.MalformedInput 500 Dieser Fehler tritt auf, wenn die JSON-Datei für diese Richtlinie ungültig oder fehlerhaft ist.
steps.setdialogflowresponse.SourceMessageNotAvailable 500 Dieser Fehler tritt auf, wenn einer der folgenden Punkte für die message-Variable zutrifft, die im Element Source der Richtlinie angegeben ist:
  • Wert liegt außerhalb des Bereichs (nicht in dem spezifischen Ablauf verfügbar, in dem die Richtlinie ausgeführt wird)
  • oder
  • kann nicht gelöst werden (ist nicht definiert)
steps.setdialogflowresponse.UnresolvedHeader 500 Dieser Fehler tritt auf, wenn das Header-Element einen ungültigen Header enthält. Der Fehler wird beispielsweise angezeigt, wenn das Header-Element den Wert X-Response-Text hat und der Antwortheader keinen X-Response-Text enthält.
steps.setdialogflowresponse.UnresolvedJSONPath 500 Dieser Fehler tritt auf, wenn das JSONPath-Element einen ungültigen Pfad enthält. Der Fehler wird beispielsweise angezeigt, wenn das JSONPath-Element den Wert {claim.status.value} enthält und in der JSON-Nutzlast kein status-Objekt vorhanden ist.
steps.setdialogflowresponse.UnresolvedVariable 500

Dieser Fehler tritt wegen einer Variablen auf, die in der SetDialogflowResponse-Richtlinie angegeben ist. Für die Variable gilt dann:

  • Wert liegt außerhalb des Bereichs (nicht in dem spezifischen Ablauf verfügbar, in dem die Richtlinie ausgeführt wird)
  • oder
  • kann nicht gelöst werden (ist nicht definiert)

Bereitstellungsfehler

Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.

Fehlername Ursache
UnsupportedOperation Dieser Fehler tritt auf, wenn Sie im DialogflowVersion-Element eine nicht unterstützte Dialogflow-Version angegeben haben. Die SetDialogflowResponse-Richtlinie unterstützt nur die CX-Version.

Fehlervariablen

Wenn in einer Richtlinie Ausführungsfehler auftreten, generiert Apigee Fehlermeldungen. Sie können sich diese Fehlermeldungen in der Fehlerantwort ansehen. Häufig sind vom System generierte Fehlermeldungen im Kontext Ihres Produkts möglicherweise nicht relevant. Sie können die Fehlermeldungen basierend auf dem Fehlertyp anpassen, um die Nachrichten aussagekräftiger zu machen.

Zum Anpassen der Fehlermeldungen können Sie entweder Fehlerregeln oder die RaiseFault-Richtlinie verwenden. Informationen zu Unterschieden zwischen Fehlerregeln und der RaiseFault-Richtlinie finden Sie unter FaultRules-Richtlinie im Vergleich zur RaiseFault-Richtlinie. Prüfen Sie, ob Bedingungen mit dem Element Condition in den Fehlerregeln und in der RaiseFault-Richtlinie verwendet werden. Apigee stellt Fehlervariablen bereit, die für jede Richtlinie eindeutig sind. Die Werte der Fehlervariablen werden festgelegt, wenn eine Richtlinie Laufzeitfehler auslöst. Mit diesen Variablen können Sie nach bestimmten Fehlerbedingungen suchen und entsprechende Maßnahmen ergreifen. Weitere Informationen zum Prüfen von Fehlerbedingungen finden Sie unter Bedingungen erstellen.

In der folgenden Tabelle werden die für diese Richtlinie spezifischen Fehlervariablen beschrieben.

Variablen Wo Beispiel
fault.name="FAULT_NAME" FAULT_NAME ist der Name des Fehlers, wie er in der Tabelle der Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. fault.name Matches "UnresolvedVariable"
setdialogflowresponse.POLICY_NAME.failed POLICY_NAME ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. setdialogflowresponse.My-Set-Dialogflow-Response.failed = true
Weitere Informationen zu Richtlinienfehlern finden Sie unter Was Sie über Richtlinienfehler wissen müssen.

Weitere Informationen

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