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 WebhookResponse in un formato specifico e il criterio SetDialogflowResponse crea la risposta del 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 servizi di backend, non devi perdere tempo a comprendere il formato di Dialogflow WebhookResponse. Il criterio SetDialogflowResponse predefinito gestisce senza problemi l'elaborazione dei dati di risposta.

Questo criterio è una norma estendibile e il suo utilizzo potrebbe comportare costi o di utilizzo delle applicazioni, 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 generale di tutti gli elementi secondari dell'elemento SetDialogflowResponse:

Elemento secondario Obbligatorio? Descrizione
<DisplayName> Facoltativo Un nome personalizzato per la norma.
<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 del webhook.
<Phrase> Obbligatorio Specifica la frase (testo) da impostare nell'oggetto fulfillmentResponse.messages della risposta del 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 esempio di criterio SetDialogflowResponse e WebhookResponse inviati 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>
      

Norme 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 visualizzare la risposta webhook creata da questo criterio.

Risposta webhook

L'esempio seguente mostra una WebhookResponse 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

In questa sezione vengono descritti 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 non di messaggio, 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. altrimenti false. La il valore predefinito è true.

L'impostazione di <IgnoreUnresolvedVariables> su true è diversa dall'impostazione di <SetDialogflowResponse> Da continueOnError a 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

L'esempio seguente imposta <IgnoreUnresolvedVariables> su false:

       <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<MergeBehavior>

Definisce il comportamento di 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
L'elemento <MergeBehavior> utilizza la seguente sintassi:

Sintassi

<MergeBehavior>BEHAVIOR</MergeBehavior>

Esempio

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

<MergeBehavior>APPEND</MergeBehavior>

<NaturalLanguageResponse>

Incapsula tutte le risposte 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 è come attributo del 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 di la risposta del webhook.

Puoi specificare un testo statico come valore del 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 che vuoi 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 valore campo intestazione

Questo esempio imposta il parametro timeSpent sul valore del campo header X-Time-Spent.

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

Estrai valore percorso JSON

Questo esempio imposta il parametro claimAmount sul valore del valore-chiave 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>
       

Imposta testo personalizzato

In questo esempio, il valore del parametro responder viene impostato 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 dell'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>

L'elemento <Phrase> utilizza la seguente sintassi:

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

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

L'esempio seguente restituisce il valore del campo di 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 della risposta da cui estrarre 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
L'elemento <JSONPath> utilizza la seguente sintassi:

Sintassi

<JSONPath>JSON_PATH</JSONPath>

Esempio 1

L'esempio seguente restituisce il valore del campo JSON claim.status.text come risposta in linguaggio naturale:

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

Esempio 2

Nell'esempio seguente viene restituito 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 un parametro di risposta.

  • Per impostare il valore letterale come testo in linguaggio naturale, specifica <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

L'esempio seguente 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

Nell'esempio seguente, il testo letterale SYSTEM viene impostato 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.