Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Descripción general
La política SetDialogflowResponse facilita la integración de Dialogflow con Apigee. Para obtener más información, consulta Integra Apigee en Contact Center AI.
La política SetDialogflowResponse procesa y da formato a los datos de respuesta de tus sistemas de backend antes de enviar los datos como una WebhookResponse al agente de Dialogflow. Un agente de Dialogflow requiere una WebhookResponse en un formato específico, y la política SetDialogflowResponse compila la respuesta en el formato requerido. La política construye una WebhookResponse con el formato requerido para un agente de Dialogflow. WebhookResponse tiene frases de lenguaje natural y otros parámetros que el agente de Dialogflow comprende.
Si eres un integrador de servicios de backend, no necesitas dedicar tiempo a comprender el formato de la WebhookResponse de Dialogflow. La política SetDialogflowResponse lista para usar controla el procesamiento de los datos de respuesta sin problemas.
Esta política es una política extensible, y el uso de esta puede tener implicaciones de costo o uso, según tu licencia de Apigee. Para obtener información sobre los tipos de políticas y sus implicaciones de uso, consulta Tipos de políticas.
<SetDialogflowResponse>
Define una política SetDialogflowResponse.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Obligatorio |
| Tipo | Objeto complejo |
| Elemento principal | N/A |
| Elementos secundarios |
<DisplayName><Source><DialogflowVersion><NaturalLanguageResponse><Parameters><IgnoreUnresolvedVariables> |
En la siguiente tabla, se proporciona una descripción de alto nivel de todos los elementos secundarios del elemento SetDialogflowResponse:
| Elemento secundario | ¿Es obligatorio? | Descripción |
|---|---|---|
<DisplayName> |
Opcional | Un nombre personalizado para la política |
<Source> |
Opcional | Especifica la variable que se analizará. |
<DialogflowVersion> |
Opcional | Especifica la versión de Dialogflow. |
<NaturalLanguageResponse> |
Opcional | Encapsula todo el contenido necesario para que se enviará como un objeto WebhookResponse.FulfillmentResponse. |
<Parameters> |
Opcional | Elemento principal de <Parameter>. Define el conjunto de parámetros que se establecerán en la respuesta del webhook. |
<IgnoreUnresolvedVariables> |
Opcional | Determina si el procesamiento se detiene cuando se encuentra una variable sin resolver. |
| Otros elementos secundarios | ||
<MergeBehavior> |
Opcional | Especifica el comportamiento de la combinación de los mensajes de respuesta. |
<Header> |
Opcional | Extrae el valor del campo especificado en el encabezado de respuesta. |
<JSONPath> |
Opcional | Extrae el valor de la ruta JSON especificada. |
<Parameter> |
Obligatorio | Especifica un parámetro que se establece en el objeto sessionInfo.parameters de la respuesta del Webhook. |
<Phrase> |
Obligatorio | Especifica la frase (texto) que se establece en el objeto fulfillmentResponse.messages de la respuesta del Webhook. |
<Phrases> |
Opcional | Elemento principal de <Phrase>. Define el conjunto de frases de lenguaje natural que se establecerán en la respuesta del webhook. |
<Ref> |
Opcional | Extrae el valor de la variable de referencia especificada. |
<Value> |
Opcional | Establece un texto personalizado en el parámetro especificado. |
Ejemplo
En el siguiente ejemplo, se muestra una política SetDialogflowResponse y la WebhookResponse que se envía al agente de Dialogflow:
Sintaxis
<?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>
Política de SetDialogflowResponse
En el siguiente ejemplo, se muestra la definición de la política 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>
Ve a la siguiente muestra para ver la respuesta de webhook que creó esta política.
Respuesta de webhook
En el siguiente ejemplo, se muestra una WebhookResponse enviada al agente de 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 } } }
Este elemento tiene los siguientes atributos que son comunes a todas las políticas:
| Atributo | Predeterminada | (obligatorio) | Descripción |
|---|---|---|---|
name |
N/A | Obligatorio |
El nombre interno de la política. El valor del atributo De forma opcional, usa el elemento |
continueOnError |
falso | Opcional | Configúralo como false para mostrar un error cuando una política falla. Este es el comportamiento previsto para la mayoría de las políticas. Configúralo como true para continuar con la ejecución del flujo incluso después de que una política falle. También consulta:
|
enabled |
true | Opcional | Configúralo como true para aplicar la política. Configúralo como false para desactivar la política. La política no se aplicará, incluso si permanece conectada a un flujo. |
async |
falso | Obsoleta | Este atributo dejó de estar disponible. |
Referencia del elemento secundario
En esta sección, se describen los elementos secundarios de<SetDialogflowResponse>.
<DisplayName>
Se usan además del atributo name para etiquetar la política en el editor de proxy de la IU de administración con un nombre de lenguaje natural diferente.
El elemento <DisplayName> es común a todas las políticas.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional. Si omites <DisplayName>, se usa el valor del atributo name de la política. |
| Tipo | String |
| Elemento principal | <PolicyElement> |
| Elementos secundarios | Ninguno |
El elemento <DisplayName> usa la siguiente sintaxis:
Sintaxis
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
Ejemplo
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
El elemento <DisplayName> no tiene atributos ni elementos secundarios.
<Source>
Especifica la variable que se analizará. El valor predeterminado de <Source> es message. El valor message es sensible al contexto. En un flujo de solicitud, message se resuelve en el mensaje de solicitud. En un flujo de respuesta, message se resuelve en el mensaje de respuesta.
Si bien con frecuencia usas esta política para extraer información de una solicitud o mensaje de respuesta, puedes usarla con el fin de extraer información de cualquier variable. Por ejemplo, puedes usarla para extraer información de una entidad creada por la política AccessEntity, a partir de los datos que muestra la política ServiceCallout, o bien extraer información de un objeto XML o JSON.
Si no se puede resolver <Source> o se resuelve como un tipo que no es de mensaje, la política no responderá y recibirás un error de entorno de ejecución.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<SetDialogflowResponse>
|
| Elementos secundarios | Ninguno |
<Source> usa la siguiente sintaxis:
Sintaxis
<Source>MESSAGE_VARIABLE</Source>
Ejemplo
En el siguiente ejemplo, se establece el origen en myMessageVar:
<Source>myMessageVar</Source>
<DialogflowVersion>
Especifica la versión de Dialogflow. La política SetDialogflowResponse solo admite la versión CX. Si no especificas este elemento en tu política, la versión predeterminada es CX.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<SetDialogflowResponse>
|
| Elementos secundarios | Ninguno |
<DialogflowVersion> usa la siguiente sintaxis:
Sintaxis
<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>
Ejemplo
En el siguiente ejemplo, se establece DialogflowVersion en CX:
<DialogflowVersion>CX</DialogflowVersion>
<IgnoreUnresolvedVariables>
Determina si el procesamiento se detiene cuando se encuentra una variable sin resolver.
| Valor predeterminado | True |
| ¿Es obligatorio? | Opcional |
| Tipo | Booleano |
| Elemento principal |
<SetDialogflowResponse>
|
| Elementos secundarios | Ninguno |
Configúralo como true para ignorar las variables sin resolver y continuar con el procesamiento, de lo contrario, false. El valor predeterminado es true.
Configurar <IgnoreUnresolvedVariables> como true es diferente a configurar continueOnError como <SetDialogflowResponse> en true. Si configuras continueOnError como true, Apigee ignora todos los errores, no solo los errores de las variables.
El elemento <IgnoreUnresolvedVariables> usa la siguiente sintaxis:
Sintaxis
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Ejemplo
En el siguiente ejemplo, se configura <IgnoreUnresolvedVariables> como false:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<MergeBehavior>
Define el comportamiento de la combinación de los mensajes de respuesta. Puedes especificar cualquiera de los siguientes valores:
APPEND: agrega los mensajes a la lista de mensajes en espera que se enviarán al usuario.REPLACE: reemplaza los mensajes más antiguos por mensajes más recientes de la lista de mensajes en espera que se enviarán al usuario.
APPEND.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<NaturalLanguageResponse>
|
| Elementos secundarios | Ninguno |
<MergeBehavior> usa la siguiente sintaxis:
Sintaxis
<MergeBehavior>BEHAVIOR</MergeBehavior>
Ejemplo
En el siguiente ejemplo, se establece el comportamiento de la combinación en APPEND:
<MergeBehavior>APPEND</MergeBehavior>
<NaturalLanguageResponse>
Encapsula toda la respuesta de lenguaje natural que deseas enviar al agente de Dialogflow.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | Objeto complejo |
| Elemento principal |
<SetDialogflowResponse>
|
| Elementos secundarios |
<MergeBehavior><Phrases> |
<Parameters>
Define el conjunto de parámetros que se establecerán en la respuesta del webhook. El nombre del parámetro es como el de un atributo del elemento <Parameter>.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | Objeto complejo |
| Elemento principal |
<SetDialogflowResponse>
|
| Elementos secundarios |
<Parameter>
|
<Parameter>
Especifica un parámetro que se establece en el objeto sessionInfo.parameters de la respuesta del Webhook.
Puedes especificar un texto estático como un valor del parámetro o extraer el valor de cualquiera de los siguientes campos en la respuesta:
- Campos del encabezado de respuesta
- Carga útil de tipo JSON
- Variables de flujo
Debes definir un elemento <Parameter> separado para cada valor que desees extraer.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Obligatorio |
| Tipo | Objeto complejo |
| Elemento principal |
<Parameters>
|
| Elementos secundarios |
<Header><JSONPath><Ref><Value> |
<Parameter> tiene los siguientes atributos:
| Atributo | Descripción | ¿Es obligatorio? | Tipo |
|---|---|---|---|
name |
El nombre de la variable de entorno de ejecución que se debe crear con este parámetro. | Sí | String |
El elemento <Parameter> usa la siguiente sintaxis:
Sintaxis
<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>
Extrae valor del campo de encabezado
En este ejemplo, se establece el parámetro timeSpent en el valor del campo de encabezado X-Time-Spent.
<Parameter name="timeSpent">
<Header name="X-Time-Spent"/>
</Parameter>Extrae valor de la ruta de acceso JSON
En este ejemplo, se establece el parámetro claimAmount en el valor del campo claim.amount en la carga útil JSON.
<Parameter name="claimAmount"> <JSONPath>$.claim.amount</JSONPath> </Parameter>
Extrae valor de la variable de flujo
En este ejemplo, se establece el parámetro myVar en el valor de la variable de flujo dialogflow.my.var.
<Parameter name="myVar"> <Ref>dialogflow.my.var</Ref> </Parameter>
Establece el texto personalizado
En este ejemplo, se establece el valor del parámetro responder en SYSTEM.
<Parameter name="responder"> <Value>SYSTEM</Value> </Parameter>
<Phrases>
Elemento principal de <Phrase>. Define la lista ordenada de frases de lenguaje natural que se establecerán en la respuesta del webhook.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | Objeto complejo |
| Elemento principal |
<NaturalLanguageResponse>
|
| Elementos secundarios |
<Phrase>
|
<Phrase>
Especifica la frase (texto) que se configurará en el objeto fulfillmentResponse.messages de la respuesta del Webhook.
Puedes especificar un texto estático como un valor de frase o extraer el valor de cualquiera de los siguientes campos en la respuesta:
- Campos del encabezado de respuesta
- Carga útil de tipo JSON
- Variables de flujo
Debes definir un elemento <Phrase> separado para cada valor que desees extraer.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Obligatorio |
| Tipo | Objeto complejo |
| Elemento principal |
<Phrases>
|
| Elementos secundarios |
<Header><JSONPath><Ref><Value> |
El elemento <Phrase> usa la siguiente sintaxis:
Sintaxis
<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>Extrae valor del campo de encabezado
En este ejemplo, se establece un texto de lenguaje natural en la respuesta al valor del campo del encabezado X-Response-Text.
<Phrase>
<Header name="X-Response-Text"/>
</Phrase>Extrae valor de la ruta de acceso JSON
En este ejemplo, se establece un texto de lenguaje natural en la respuesta al valor del campo claim.status.text en la carga útil JSON.
<Phrase> <JSONPath>$.claim.status.text</JSONPath> </Phrase>
Extrae valor de la variable de flujo
En este ejemplo, se establece un texto de lenguaje natural en la respuesta al valor de la variable de flujo myVar.
<Phrase>
<Ref>myVar</Ref>
</Phrase>
Establece el texto personalizado
En este ejemplo, se agrega el texto You call is important to us al texto de lenguaje natural en la respuesta.
<Phrase> <Value>You call is important to us</Value> </Phrase>
<Header>
Extrae el valor del campo especificado en el encabezado de respuesta. Puedes usar el valor del encabezado para configurar un texto de lenguaje natural o un parámetro de respuesta.
- Para extraer el valor del encabezado como una respuesta de lenguaje natural, especifica el elemento
<Header>dentro del elemento<Phrase>. - Para extraer el valor del encabezado como un parámetro de respuesta, especifica el elemento
<Header>dentro del elemento<Parameter>.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<Phrase><Parameter> |
| Elementos secundarios | Ninguno |
<Header> usa la siguiente sintaxis:
Sintaxis
<Header name="HEADER_FIELD"/>
Ejemplo 1
En el siguiente ejemplo, se obtiene el valor del campo del encabezado X-Response-Text como una respuesta de lenguaje natural:
<Phrase> <Header name="X-Response-Text"/> <Phrase/>
Ejemplo 2
En el siguiente ejemplo, se obtiene el valor del campo del encabezado X-Response-Text como un parámetro de respuesta:
<Parameter name="timeSpent"> <Header name="X-Response-Text"/> <Parameter/>
La variable de flujo timeSpent se establece en el valor del campo del encabezado X-Response-Text.
El elemento <Header> tiene los siguientes atributos:
| Atributo | Descripción | ¿Obligatorio? | Tipo |
|---|---|---|---|
| nombre | Especifica el nombre del encabezado del que se extrae el valor. | Obligatorio | String |
<JSONPath>
Extrae el valor de una ruta de acceso JSON en una carga útil JSON del texto destacado del servicio. Puedes usar el valor para configurar un texto de lenguaje natural o un parámetro de respuesta.
- Para extraer el valor JSON como un texto de lenguaje natural, especifica el elemento
<JSONPath>dentro del elemento<Phrase>. - Para extraer el valor JSON como un parámetro de respuesta, especifica el elemento
<JSONPath>dentro del elemento<Parameter>.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<Phrase><Parameter> |
| Elementos secundarios | Ninguno |
<JSONPath> usa la siguiente sintaxis:
Sintaxis
<JSONPath>JSON_PATH</JSONPath>
Ejemplo 1
En el siguiente ejemplo, se obtiene el valor del campo JSON claim.status.text como una respuesta de lenguaje natural:
<Phrase> <JSONPath>$.claim.status.text</JSONPath> <Phrase/>
Ejemplo 2
En el siguiente ejemplo, se obtiene el valor del campo JSON claim.amount como un parámetro de respuesta:
<Parameter name="claimAmount"> <JSONPath>$.claim.amount.</JSONPath> <Parameter/>
La variable de flujo claimAmount se establece en el valor del campo JSON {claim.amount}.
<Ref>
Extrae el valor de una variable de flujo existente. Puedes usar el valor para configurar un texto de lenguaje natural o un parámetro de respuesta.
- Para extraer el valor de una variable como un texto de lenguaje natural, especifica el elemento
<Ref>dentro del elemento<Phrase>. - Para extraer el valor de una variable como parámetro de respuesta, especifica el elemento
<Ref>dentro del elemento<Parameter>.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<Phrase><Parameter> |
| Elementos secundarios | Ninguno |
<Ref> usa la siguiente sintaxis:
Sintaxis
<Ref>EXISTING_FLOW_VARIABLE</Ref>
Ejemplo 1
En el siguiente ejemplo, se obtiene el valor de la variable de flujo myVar como una respuesta de lenguaje natural:
<Phrase> <Ref>myVar</Ref> <Phrase/>
Ejemplo 2
En el siguiente ejemplo, se obtiene el valor de la variable de flujo dialogflow.my.var como un parámetro de respuesta:
<Parameter name="customVar"> <Ref>dialogflow.my.var</Ref> <Parameter/>
La variable de flujo customVar se establece en el valor de la variable dialogflow.my.var.
<Value>
Establece un valor literal en un texto de lenguaje natural o un parámetro de respuesta.
- Para establecer el valor literal como un texto de lenguaje natural, especifica el elemento
<Value>dentro del elemento<Phrase>. - Para establecer el valor literal como un parámetro de respuesta, especifica el elemento
<Value>dentro del elemento<Parameter>.
| Valor predeterminado | N/A |
| ¿Es obligatorio? | Opcional |
| Tipo | String |
| Elemento principal |
<Phrase><Parameter> |
| Elementos secundarios | Ninguno |
<Value> usa la siguiente sintaxis:
Sintaxis
<Value>CUSTOM_TEXT</Value>
Ejemplo 1
En el siguiente ejemplo, se establece el texto literal You call is important to us como una respuesta de lenguaje natural:
<Phrase> <Value>You call is important to us</Value> <Phrase/>
Ejemplo 2
En el siguiente ejemplo, se establece el texto literal SYSTEM como un parámetro de respuesta:
<Parameter name="responder"> <Value>SYSTEM</Value> <Parameter/>
La variable de flujo responder se establece en SYSTEM.
Códigos de error
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause |
|---|---|---|
steps.setdialogflowresponse.ExecutionFailed |
500 |
This error occurs when the execution of the policy failed because of a generic exception. The fault message has the details of the exception. |
steps.setdialogflowresponse.InvalidSourceType |
500 |
This error occurs if the variable specified in the <Source> element is not of message type. |
steps.setdialogflowresponse.MalformedInput |
500 |
This error occurs when the JSON provided to this policy is invalid or malformed. |
steps.setdialogflowresponse.SourceMessageNotAvailable |
500 |
This error occurs if the
message
variable specified in the Source element of the policy is either:
|
steps.setdialogflowresponse.UnresolvedHeader |
500 |
This error occurs if the Header element has an invalid header.
For example, if the Header element has the value X-Response-Text,
and there is no X-Response-Text in the response header, you will get this error.
|
steps.setdialogflowresponse.UnresolvedJSONPath |
500 |
This error occurs if the JSONPath element has an invalid path.
For example, if the JSONPath element has the value {claim.status.value},
and there is no status object in the JSON payload, you will get this error. |
steps.setdialogflowresponse.UnresolvedVariable |
500 |
This error occurs if a variable specified in the SetDialogflowResponse policy is either:
|
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause |
|---|---|
UnsupportedOperation |
This error occurs if you have specified unsupported Dialogflow version in the
DialogflowVersion element. The SetDialogflowResponse policy supports
only the CX version. |
Fault variables
Whenever there are execution errors in a policy, Apigee generates error messages. You can view these error messages in the error response. Many a time, system generated error messages might not be relevant in the context of your product. You might want to customize the error messages based on the type of error to make the messages more meaningful.
To customize the error messages, you can use either fault rules or the RaiseFault policy. For
information about differences between fault rules and the RaiseFault policy, see
FaultRules vs. the RaiseFault policy.
You must check for conditions using the Condition element in both the fault rules and the RaiseFault policy.
Apigee provides fault variables unique to each policy and the values of the fault variables are set when a policy triggers runtime errors.
By using these variables, you can check for specific error conditions and take appropriate actions. For more information about checking error
conditions, see Building conditions.
The following table describes the fault variables specific to this policy.
| Variables | Where | Example |
|---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME is the name of the fault, as listed in the Runtime errors table. The fault name is the last part of the fault code. | fault.name Matches "UnresolvedVariable" |
setdialogflowresponse.POLICY_NAME.failed |
POLICY_NAME is the user-specified name of the policy that threw the fault. | setdialogflowresponse.My-Set-Dialogflow-Response.failed = true |
Temas relacionados
Las implementaciones de referencia de los proxies de Apigee y los flujos compartidos que muestran el uso de la política SetDialogflowResponse están disponibles en GitHub de Apigee. Para obtener más información, consulta Implementaciones de referencia de Conversation AI.