Criterio SetDialogflowResponse

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

icona delle norme

Panoramica

Il criterio SetDialogflowResponse facilita l'integrazione di Dialogflow con Apigee. Per ulteriori informazioni, consulta Integrare Apigee con Contact Center AI.

Il criterio SetDialogflowResponse elabora e formatta i dati di risposta dei sistemi di backend prima di inviarli come WebhookResponse all'agente Dialogflow. Un agente Dialogflow richiede la risposta Webhook in un formato specifico e il criterio SetDialogflowResponse genera la risposta nel formato richiesto. Il criterio crea un WebhookResponse nel formato richiesto per un agente Dialogflow. WebhookResponse contiene frasi in linguaggio naturale e altri parametri compresi dall'agente Dialogflow.

Se sei un integratore di servizio di backend, non devi perdere tempo a comprendere il formato di WebhookResponse di Dialogflow. Il criterio SetDialogflowResponse predefinito gestisce senza problemi l'elaborazione dei dati di risposta.

Questo criterio è un criterio estensibile e il suo utilizzo potrebbe comportare implicazioni in termini di costi o utilizzo, a seconda della licenza Apigee. Per informazioni sui tipi di criteri e sulle implicazioni per l'utilizzo, consulta Tipi di criteri.

<SetDialogflowResponse>

Definisce un criterio SetDialogflowResponse.

Valore predefinito N/D
Obbligatorio? Obbligatorio
Tipo Oggetto complesso
Elemento principale N/D
Elementi secondari <DisplayName>
<Source>
<DialogflowVersion>
<NaturalLanguageResponse>
<Parameters>
<IgnoreUnresolvedVariables>

La tabella seguente fornisce una descrizione di alto livello di tutti gli elementi secondari dell'elemento SetDialogflowResponse:

Elemento secondario Obbligatorio? Descrizione
<DisplayName> Facoltativo Un nome personalizzato per il criterio.
<Source> Facoltativo Specifica la variabile da analizzare.
<DialogflowVersion> Facoltativo Specifica la versione di Dialogflow.
<NaturalLanguageResponse> Facoltativo Incapsula tutti i contenuti che devono essere inviati come oggetto WebhookResponse.FulfillmentResponse.
<Parameters> Facoltativo Elemento principale di <Parameter>. Definisce l'insieme di parametri da impostare nella risposta del webhook.
<IgnoreUnresolvedVariables> Facoltativo Specifica se l'elaborazione si interrompe quando viene rilevata una variabile non risolta.
Altri elementi secondari
<MergeBehavior> Facoltativo Specifica il comportamento di unione per i messaggi di risposta.
<Header> Facoltativo Estrae il valore del campo specificato nell'intestazione di risposta.
<JSONPath> Facoltativo Estrae il valore del percorso JSON specificato.
<Parameter> Obbligatorio Specifica un parametro da impostare nell'oggetto sessionInfo.parameters della risposta dell'webhook.
<Phrase> Obbligatorio Specifica la frase (il testo) da impostare nell'oggetto fulfillmentResponse.messages della risposta dell'webhook.
<Phrases> Facoltativo Elemento principale di <Phrase>. Definisce l'insieme di frasi in linguaggio naturale da impostare nella risposta del webhook.
<Ref> Facoltativo Estrae il valore della variabile di riferimento specificata.
<Value> Facoltativo Imposta un testo personalizzato per il parametro specificato.

Esempio

L'esempio seguente mostra un criterio SetDialogflowResponse di esempio e la risposta Webhook sent all'agente Dialogflow:

Sintassi

<?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>
      

Criterio SetDialogflowResponse

L'esempio seguente mostra la definizione del criterio SetDialogflowResponse:

<?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>

Vai all'esempio successivo per vedere la risposta webhook creata da questo criterio.

Risposta webhook

L'esempio seguente mostra una risposta Webhook inviata all'agente Dialogflow:

{
    "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
        }
    }
}

Questo elemento ha i seguenti attributi comuni a tutti i criteri:

Attributo Predefinito Obbligatorio? Descrizione
name N/D Obbligatorio

Il nome interno del criterio. Il valore dell'attributo name può contenere lettere, numeri, spazi, trattini, trattini bassi e punti. Questo valore non può superare i 255 caratteri.

Se vuoi, utilizza l'elemento <DisplayName> per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

continueOnError falso Facoltativo Imposta su false per restituire un errore quando un criterio non va a buon fine. Questo è un comportamento previsto per la maggior parte dei criteri. Imposta su true per continuare l'esecuzione del flusso anche dopo un fallimento del criterio. Vedi anche:
enabled true Facoltativo Imposta su true per applicare il criterio. Imposta su false per disattivare il criterio. Il criterio non verrà applicato anche se rimane collegato a un flusso.
async   falso Ritirato Questo attributo è stato ritirato.

Riferimento all'elemento secondario

Questa sezione descrive gli elementi secondari di <SetDialogflowResponse>.

<DisplayName>

Da utilizzare insieme all'attributo name per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso e più naturale.

L'elemento <DisplayName> è comune a tutti i criteri.

Valore predefinito N/D
Obbligatorio? Facoltativo. Se ometti <DisplayName>, viene utilizzato il valore dell'attributo name del criterio.
Tipo Stringa
Elemento principale <PolicyElement>
Elementi secondari Nessuno

La sintassi dell'elemento <DisplayName> è la seguente:

Sintassi

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

Esempio

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

L'elemento <DisplayName> non ha attributi o elementi secondari.

<Source>

Specifica la variabile da analizzare. Il valore di <Source> è message per impostazione predefinita. Il valore message è sensibile al contesto. In un flusso di richieste, message si risolve nel messaggio di richiesta. In un flusso di risposta, message si risolve nel messaggio di risposta.

Sebbene tu utilizzi spesso questo criterio per estrarre informazioni da un messaggio di richiesta o risposta, puoi usarlo per estrarre informazioni da qualsiasi variabile. Ad esempio, puoi utilizzarlo per estrarre informazioni da un'entità creata dal regolamento AccessEntity, dai dati restituiti dal regolamento ServiceCallout o da un oggetto XML o JSON.

Se <Source> non può essere risolto o si risolve in un tipo di messaggio diverso, il criterio non va a buon fine e viene visualizzato un errore di runtime.

Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <SetDialogflowResponse>
Elementi secondari Nessuno
La sintassi dell'elemento <Source> è la seguente:

Sintassi

<Source>MESSAGE_VARIABLE</Source>

Esempio

L'esempio seguente imposta l'attributo Origine su myMessageVar:

<Source>myMessageVar</Source>

<DialogflowVersion>

Specifica la versione di Dialogflow. Il criterio SetDialogflowResponse supporta solo la versione CX. Se non specifichi questo elemento nel criterio, la versione predefinita è CX.

Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <SetDialogflowResponse>
Elementi secondari Nessuno
La sintassi dell'elemento <DialogflowVersion> è la seguente:

Sintassi

<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>

Esempio

Nell'esempio seguente, DialogflowVersion viene impostato su CX:

<DialogflowVersion>CX</DialogflowVersion>

<IgnoreUnresolvedVariables>

Determina se l'elaborazione si interrompe quando viene rilevata una variabile non risolta.

Valore predefinito Vero
Obbligatorio? Facoltativo
Tipo Booleano
Elemento principale <SetDialogflowResponse>
Elementi secondari Nessuno

Imposta su true per ignorare le variabili non risolte e continuare l'elaborazione; in caso contrario, false. Il valore predefinito è true.

L'impostazione di <IgnoreUnresolvedVariables> su true è diversa dall'impostazione di continueOnError di <SetDialogflowResponse> su true. Se imposti continueOnError su true, Apigee ignora tutti gli errori, non solo quelli nelle variabili.

La sintassi dell'elemento <IgnoreUnresolvedVariables> è la seguente:

Sintassi

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

Esempio

Nell'esempio seguente, <IgnoreUnresolvedVariables> viene impostato su false:

       <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<MergeBehavior>

Definisce il comportamento dell'unione per i messaggi di risposta. Puoi specificare uno qualsiasi dei seguenti valori:

  • APPEND: aggiunge i messaggi all'elenco dei messaggi in attesa di essere inviati all'utente.
  • REPLACE: sostituisce i messaggi precedenti con quelli più recenti nell'elenco dei messaggi in attesa di essere inviati all'utente.
Se non specifichi l'elemento, il comportamento predefinito è APPEND.
Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <NaturalLanguageResponse>
Elementi secondari Nessuno
La sintassi dell'elemento <MergeBehavior> è la seguente:

Sintassi

<MergeBehavior>BEHAVIOR</MergeBehavior>

Esempio

Nell'esempio seguente il comportamento di unione è impostato su APPEND:

<MergeBehavior>APPEND</MergeBehavior>

<NaturalLanguageResponse>

Incapsula tutta la risposta in linguaggio naturale che vuoi inviare all'agente Dialogflow.

Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Oggetto complesso
Elemento principale <SetDialogflowResponse>
Elementi secondari <MergeBehavior>
<Phrases>

<Parameters>

Definisce l'insieme di parametri da impostare nella risposta del webhook. Il nome del parametro è un attributo dell'elemento <Parameter>.

Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Oggetto complesso
Elemento principale <SetDialogflowResponse>
Elementi secondari <Parameter>

<Parameter>

Specifica un parametro da impostare nell'oggetto sessionInfo.parameters della risposta dell'webhook.

Puoi specificare un testo statico come valore parametro o estrarre il valore da uno dei seguenti campi della risposta:

  • Campi intestazione della risposta
  • Payload JSON
  • Variabili di flusso

Devi definire un elemento <Parameter> separato per ogni valore da estrarre.

Valore predefinito N/D
Obbligatorio? Obbligatorio
Tipo Oggetto complesso
Elemento principale <Parameters>
Elementi secondari <Header>
<JSONPath>
<Ref>
<Value>
L'elemento <Parameter> prevede i seguenti attributi:
Attributo Descrizione Obbligatorio? Tipo
name Il nome della variabile da creare con questo parametro. Stringa

La sintassi dell'elemento <Parameter> è la seguente:

Sintassi

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

Estrai il valore del campo Intestazione

Questo esempio imposta il parametro timeSpent sul valore del campo dell'intestazione X-Time-Spent.

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

Estrai il valore del percorso JSON

Questo esempio imposta il parametro claimAmount sul valore del campo claim.amount nel payload JSON.

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

Estrai il valore della variabile di flusso

Questo esempio imposta il parametro myVar sul valore della variabile di flusso dialogflow.my.var.

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

Impostare un testo personalizzato

Questo esempio imposta il valore del parametro responder su SYSTEM.

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

<Phrases>

Elemento principale di <Phrase>. Definisce l'elenco ordinato di frasi in linguaggio naturale da impostare nella risposta del webhook.

Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Oggetto complesso
Elemento principale <NaturalLanguageResponse>
Elementi secondari <Phrase>

<Phrase>

Specifica la frase (il testo) da impostare nell'oggetto fulfillmentResponse.messages della risposta del webhook.

Puoi specificare un testo statico come valore della frase o estrarre il valore da uno dei seguenti campi della risposta:

  • Campi intestazione della risposta
  • Payload JSON
  • Variabili di flusso

Devi definire un elemento <Phrase> separato per ogni valore da estrarre.

Valore predefinito N/D
Obbligatorio? Obbligatorio
Tipo Oggetto complesso
Elemento principale <Phrases>
Elementi secondari <Header>
<JSONPath>
<Ref>
<Value>

La sintassi dell'elemento <Phrase> è la seguente:

Sintassi

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

Estrai il valore del campo Intestazione

Questo esempio imposta un testo in linguaggio naturale nella risposta al valore del campo dell'intestazione X-Response-Text.

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

Estrai il valore del percorso JSON

Questo esempio imposta un testo in linguaggio naturale nella risposta al valore del campo claim.status.text nel payload JSON.

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

Estrai il valore della variabile di flusso

Questo esempio imposta un testo in linguaggio naturale nella risposta al valore della variabile di flusso myVar.

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

Impostare un testo personalizzato

Questo esempio aggiunge il testo You call is important to us al testo in linguaggio naturale nella risposta.

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

Estrae il valore dal campo specificato nell'intestazione di risposta. Puoi utilizzare il valore dell'intestazione per impostare un testo in linguaggio naturale o un parametro di risposta.

  • Per estrarre il valore dell'intestazione come risposta in linguaggio naturale, specifica l'elemento <Header> all'interno dell'elemento <Phrase>.
  • Per estrarre il valore dell'intestazione come parametro di risposta, specifica l'elemento <Header> all'interno dell'elemento <Parameter>.
Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessuno
La sintassi dell'elemento <Header> è la seguente:

Sintassi

<Header name="HEADER_FIELD"/>

Esempio 1

Nell'esempio seguente viene recuperato il valore del campo dell'intestazione X-Response-Text come risposta in linguaggio naturale:

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

Esempio 2

Nell'esempio seguente viene recuperato il valore del campo dell'intestazione X-Response-Text come parametro di risposta:

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

La variabile di flusso timeSpent è impostata sul valore del campo intestazione X-Response-Text.

L'elemento <Header> prevede i seguenti attributi:

Attributo Descrizione Obbligatorio? Tipo
nome Specifica il nome dell'intestazione di risposta da cui estrai il valore. Obbligatorio Stringa

<JSONPath>

Estrae il valore di un percorso JSON in un payload JSON del callout del servizio. Puoi utilizzare il valore per impostare un testo in linguaggio naturale o un parametro di risposta.

  • Per estrarre il valore JSON come testo in linguaggio naturale, specifica l'elemento <JSONPath> all'interno dell'elemento <Phrase>.
  • Per estrarre il valore JSON come parametro di risposta, specifica l'elemento <JSONPath> all'interno dell'elemento <Parameter>.
Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessuno
La sintassi dell'elemento <JSONPath> è la seguente:

Sintassi

<JSONPath>JSON_PATH</JSONPath>

Esempio 1

Nell'esempio seguente viene recuperato il valore del campo JSON claim.status.text come risposta in linguaggio naturale:

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

Esempio 2

L'esempio seguente recupera il valore del campo JSON claim.amount come parametro di risposta:

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

La variabile di flusso claimAmount è impostata sul valore del campo JSON {claim.amount}.

<Ref>

Estrae il valore di una variabile di flusso esistente. Puoi utilizzare il valore per impostare un testo in linguaggio naturale o un parametro di risposta.

  • Per estrarre il valore di una variabile come testo in linguaggio naturale, specifica l'elemento <Ref> all'interno dell'elemento <Phrase>.
  • Per estrarre il valore di una variabile come parametro di risposta, specifica l'elemento <Ref> all'interno dell'elemento <Parameter>.
Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessuno
La sintassi dell'elemento <Ref> è la seguente:

Sintassi

<Ref>EXISTING_FLOW_VARIABLE</Ref>

Esempio 1

Nell'esempio seguente viene recuperato il valore della variabile di flusso myVar come risposta in linguaggio naturale:

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

Esempio 2

Nell'esempio seguente viene recuperato il valore della variabile di flusso dialogflow.my.var come parametro di risposta:

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

La variabile di flusso customVar è impostata sul valore della variabile dialogflow.my.var.

<Value>

Imposta un valore letterale su un testo in linguaggio naturale o su un parametro di risposta.

  • Per impostare il valore letterale come testo in linguaggio naturale, specifica l'elemento <Value> all'interno dell'elemento <Phrase>.
  • Per impostare il valore letterale come parametro di risposta, specifica l'elemento <Value> all'interno dell'elemento <Parameter>.
Valore predefinito N/D
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessuno
La sintassi dell'elemento <Value> è la seguente:

Sintassi

<Value>CUSTOM_TEXT</Value>

Esempio 1

Il seguente esempio imposta il testo letterale You call is important to us come risposta in linguaggio naturale:

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

Esempio 2

L'esempio seguente imposta il testo letterale SYSTEM come parametro di risposta:

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

La variabile del flusso responder è impostata su SYSTEM.

Codici di errore

Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi durante l'esecuzione del criterio.

Codice guasto Stato HTTP Causa
steps.setdialogflowresponse.ExecutionFailed 500 Questo errore si verifica quando l'esecuzione del criterio non è riuscita a causa di un'eccezione generica. Il messaggio di errore contiene i dettagli dell'eccezione.
steps.setdialogflowresponse.InvalidSourceType 500 Questo errore si verifica se la variabile specificata nell'elemento <Source> non è di tipo message.
steps.setdialogflowresponse.MalformedInput 500 Questo errore si verifica quando il JSON fornito a questo criterio non è valido o non ha un formato corretto.
steps.setdialogflowresponse.SourceMessageNotAvailable 500 Questo errore si verifica se la variabile message specificata nell'elemento Source del criterio è:
  • Al di fuori dell'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • o
  • Non può essere risolto (non è definito)
steps.setdialogflowresponse.UnresolvedHeader 500 Questo errore si verifica se l'elemento Header ha un'intestazione non valida. Ad esempio, se l'elemento Header ha il valore X-Response-Text e non è presente X-Response-Text nell'intestazione di risposta, viene visualizzato questo errore.
steps.setdialogflowresponse.UnresolvedJSONPath 500 Questo errore si verifica se il percorso dell'elemento JSONPath non è valido. Ad esempio, se l'elemento JSONPath ha il valore {claim.status.value} e non è presente alcun oggetto status nel payload JSON, viene visualizzato questo errore.
steps.setdialogflowresponse.UnresolvedVariable 500

Questo errore si verifica se una variabile specificata nel criterio SetDialogflowResponse è:

  • Al di fuori dell'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • o
  • Non può essere risolto (non è definito)

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome dell'errore Causa
UnsupportedOperation Questo errore si verifica se hai specificato una versione di Dialogflow non supportata nell'elemento DialogflowVersion. Il criterio SetDialogflowResponse supporta solo la versione CX.

Variabili di errore

Ogni volta che si verificano errori di esecuzione in un criterio, Apigee genera messaggi di errore. Puoi visualizzare questi messaggi di errore nella risposta di errore. Spesso i messaggi di errore generati dal sistema potrebbero non essere pertinenti nel contesto del tuo prodotto. Ti consigliamo di personalizzare i messaggi di errore in base al tipo di errore per renderli più significativi.

Per personalizzare i messaggi di errore, puoi utilizzare le regole di errore o il criterio RaiseFault. Per informazioni sulle differenze tra le regole di errore e il criterio RaiseFault, consulta Regole di errore e criterio RaiseFault. Devi verificare la presenza di condizioni utilizzando l'elemento Condition sia nelle regole di errore sia nel criterio RaiseFault. Apigee fornisce variabili di errore univoche per ogni criterio e i valori delle variabili di errore vengono impostati quando un criterio attiva errori di runtime. Utilizzando queste variabili, puoi verificare la presenza di condizioni di errore specifiche e intraprendere le azioni appropriate. Per ulteriori informazioni su come controllare le condizioni di errore, consulta Condizioni di compilazione.

La tabella seguente descrive le variabili di errore specifiche per questo criterio.

Variabili Dove Esempio
fault.name="FAULT_NAME" FAULT_NAME è il nome dell'errore, come indicato nella tabella Errori di runtime. Il nome dell'errore è l'ultima parte del codice dell'errore. fault.name Matches "UnresolvedVariable"
setdialogflowresponse.POLICY_NAME.failed POLICY_NAME è il nome specificato dall'utente del criterio che ha generato l'errore. setdialogflowresponse.My-Set-Dialogflow-Response.failed = true
Per ulteriori informazioni sugli errori relativi alle norme, consulta Informazioni importanti sugli errori relativi alle norme.

Argomenti correlati

Le implementazioni di riferimento dei proxy Apigee e dei flussi condivisi che mostrano l'utilizzo del criterio SetDialogflowResponse sono disponibili su GitHub di Apigee. Per ulteriori informazioni, consulta Implementazioni di riferimento dell'IA conversazionale.