Norme 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 Integrazione di Apigee con Contact Center AI.

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

Se sei un integratore di servizio di backend, non devi dedicare tempo alla comprensione del formato di Dialoglfow WebhookResponse. Il criterio SetDialogflowResponse pronto all'uso gestisce l'elaborazione dei dati delle risposte senza problemi.

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

<SetDialogflowResponse>

Definisce un criterio SetDialogflowResponse.

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

La seguente tabella fornisce una descrizione generale 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 il set di parametri da impostare nella risposta del webhook.
<IgnoreUnresolvedVariables> Facoltativo Consente di specificare 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 della 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 criterio SetDialogflowResponse di esempio e la WebhookResponse inviata 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 vedere 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/A 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.

Facoltativamente, 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 in caso di errore del criterio. Questo è un comportamento previsto per la maggior parte dei criteri. Imposta su true per continuare l'esecuzione del flusso anche dopo un errore nel 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 Deprecato Questo attributo è stato ritirato.

Riferimento elemento secondario

In questa sezione vengono descritti gli elementi secondari di <SetDialogflowResponse>.

<DisplayName>

Utilizzalo in aggiunta 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/A
Obbligatorio? Facoltativo. Se ometti <DisplayName>, viene utilizzato il valore dell'attributo name del criterio.
Tipo Stringa
Elemento principale <PolicyElement>
Elementi secondari Nessuna esperienza

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 predefinito di <Source> è message. Il valore message è sensibile al contesto. In un flusso di richiesta, message si risolve nel messaggio di richiesta. In un flusso di risposta, message si risolve nel messaggio di risposta.

Questo criterio viene utilizzato spesso per estrarre informazioni da una richiesta o da un messaggio di risposta, ma puoi utilizzarlo per estrarre informazioni da qualsiasi variabile. Ad esempio, puoi utilizzarlo per estrarre informazioni da un'entità creata dal criterio AccessEntity, dai dati restituiti dal criterio ServiceCallout o estrarre informazioni 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 verrà visualizzato un errore di runtime.

Valore predefinito N/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <SetDialogflowResponse>
Elementi secondari Nessun valore
L'elemento <Source> utilizza la seguente sintassi:

Sintassi

<Source>MESSAGE_VARIABLE</Source>

Esempio

Nell'esempio seguente viene impostata l'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, per impostazione predefinita la versione sarà CX.

Valore predefinito N/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <SetDialogflowResponse>
Elementi secondari Nessun valore
L'elemento <DialogflowVersion> utilizza la seguente sintassi:

Sintassi

<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>

Esempio

Nell'esempio seguente viene impostato il valore DialogflowVersion 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 Nessun valore

Imposta il valore 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 su true di <SetDialogflowResponse>. Se imposti continueOnError su true, Apigee ignora tutti gli errori, non solo quelli nelle variabili.

L'elemento <IgnoreUnresolvedVariables> utilizza la seguente sintassi:

Sintassi

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

Esempio

Nell'esempio seguente viene impostato il valore <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: i messaggi vengono aggiunti all'elenco dei messaggi in attesa di essere inviati all'utente.
  • REPLACE: sostituisce i messaggi meno recenti con quelli più recenti nell'elenco dei messaggi in attesa di essere inviati all'utente.
Se non specifichi l'elemento, il comportamento predefinito sarà APPEND.
Valore predefinito N/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <NaturalLanguageResponse>
Elementi secondari Nessun valore
L'elemento <MergeBehavior> utilizza la seguente sintassi:

Sintassi

<MergeBehavior>BEHAVIOR</MergeBehavior>

Esempio

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

<MergeBehavior>APPEND</MergeBehavior>

<NaturalLanguageResponse>

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

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

<Parameters>

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

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

<Parameter>

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

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

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

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

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

L'elemento <Parameter> utilizza la seguente sintassi:

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 del campo Intestazione

In questo esempio, il parametro timeSpent viene impostato sul valore del campo intestazione X-Time-Spent.

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

Estrai valore del percorso JSON

In questo esempio, il parametro claimAmount viene impostato sul valore del campo claim.amount nel payload JSON.

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

Estrai valore variabile di flusso

In questo esempio, il parametro myVar viene impostato 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 del webhook.

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

<Phrase>

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

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

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

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

Valore predefinito N/A
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 valore del campo Intestazione

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

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

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

In questo esempio, il testo You call is important to us viene aggiunto 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 della 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/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessun valore
L'elemento <Header> utilizza la seguente sintassi:

Sintassi

<Header name="HEADER_FIELD"/>

Esempio 1

Nell'esempio seguente viene recuperato il valore del campo 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 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> ha i seguenti attributi:

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

<JSONPath>

Estrae il valore di un percorso JSON in un payload JSON del callout di 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/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessun valore
L'elemento <JSONPath> utilizza la seguente sintassi:

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

Nell'esempio seguente viene recuperato 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/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessun valore
L'elemento <Ref> utilizza la seguente sintassi:

Sintassi

<Ref>EXISTING_FLOW_VARIABLE</Ref>

Esempio 1

L'esempio seguente restituisce il valore della variabile di flusso myVar come risposta in linguaggio naturale:

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

Esempio 2

L'esempio seguente restituisce 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 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/A
Obbligatorio? Facoltativo
Tipo Stringa
Elemento principale <Phrase>
<Parameter>
Elementi secondari Nessun valore
L'elemento <Value> utilizza la seguente sintassi:

Sintassi

<Value>CUSTOM_TEXT</Value>

Esempio 1

Nell'esempio seguente viene impostato 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 viene impostato il testo letterale SYSTEM come parametro di risposta:

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

La variabile di flusso responder è impostata su SYSTEM.

Codici di errore

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

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore 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 è in un formato non valido.
steps.setdialogflowresponse.SourceMessageNotAvailable 500 Questo errore si verifica se la variabile message specificata nell'elemento Source del criterio è:
  • Fuori 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 della risposta, riceverai questo errore.
steps.setdialogflowresponse.UnresolvedJSONPath 500 Questo errore si verifica se l'elemento JSONPath ha un percorso 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 è:

  • Fuori 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 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. Molte volte, i messaggi di errore generati dal sistema potrebbero non essere pertinenti nel contesto del prodotto. Per rendere i messaggi più significativi, potresti voler personalizzare i messaggi in base al tipo.

Per personalizzare i messaggi di errore, puoi utilizzare regole di errore o il criterio AlzaFault. Per informazioni sulle differenze tra le regole di errore e il criterio AlzaFault, consulta Confronto tra le regole di errore e il criterio AlzaFault. Devi verificare le condizioni utilizzando l'elemento Condition sia nelle regole di errore sia nel criterio AlzaFault. Apigee fornisce variabili di errore univoche per ciascun criterio e i relativi valori vengono impostati quando un criterio attiva gli errori di runtime. Utilizzando queste variabili, puoi verificare le condizioni di errore specifiche e intraprendere le azioni appropriate. Per saperne di più sul controllo delle condizioni di errore, consulta Condizioni degli edifici.

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

Variabili Dove Esempio
fault.name="FAULT_NAME" FAULT_NAME è il nome dell'errore, come elencato nella tabella Errori di runtime. Il nome del guasto è l'ultima parte del codice di 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 dei criteri, consulta la sezione Cosa devi sapere sugli errori dei criteri.

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 maggiori informazioni, consulta Implementazioni di riferimento per l'IA conversazionale.