Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Vista geral
A política SetDialogflowResponse facilita a integração do Dialogflow com o Apigee. Para mais informações, consulte o artigo Integração do Apigee com a IA do centro de contacto.
A política SetDialogflowResponse processa e formata os dados de resposta dos seus sistemas de back-end antes de enviar os dados como uma WebhookResponse para o agente do Dialogflow. Um agente do Dialogflow requer a WebhookResponse num formato específico, e a política SetDialogflowResponse cria a resposta no formato necessário. A política cria uma WebhookResponse no formato necessário para um agente do Dialogflow. O WebhookResponse tem expressões de linguagem natural e outros parâmetros que o agente do Dialogflow compreende.
Se for um integrador de serviços de back-end, não precisa de perder tempo a compreender o formato da Dialoglfow WebhookResponse. A política SetDialogflowResponse pronta a usar processa os dados de resposta de forma integrada.
Esta política é uma política extensível e a utilização desta política pode ter implicações de custo ou utilização, consoante a sua licença do Apigee. Para ver informações sobre os tipos de políticas e as implicações de utilização, consulte Tipos de políticas.
<SetDialogflowResponse>
Define uma política SetDialogflowResponse.
Valor predefinido | N/A |
Obrigatório? | Obrigatória |
Tipo | Objeto complexo |
Elemento principal | N/A |
Elementos subordinados |
<DisplayName> <Source> <DialogflowVersion> <NaturalLanguageResponse> <Parameters> <IgnoreUnresolvedVariables> |
A tabela seguinte fornece uma descrição de nível elevado de todos os elementos secundários
do elemento SetDialogflowResponse
:
Elemento secundário | Obrigatório? | Descrição |
---|---|---|
<DisplayName> |
Opcional | Um nome personalizado para a política. |
<Source> |
Opcional | Especifica a variável a analisar. |
<DialogflowVersion> |
Opcional | Especifica a versão do Dialogflow. |
<NaturalLanguageResponse> |
Opcional | Encapsula todo o conteúdo que tem de ser enviado como um objeto WebhookResponse.FulfillmentResponse . |
<Parameters> |
Opcional | Elemento principal de <Parameter> . Define o conjunto de parâmetros a definir na resposta do Webhook. |
<IgnoreUnresolvedVariables> |
Opcional | Especifica se o processamento é interrompido quando é encontrada uma variável não resolvida. |
Outros elementos secundários | ||
<MergeBehavior> |
Opcional | Especifica o comportamento de união das mensagens de resposta. |
<Header> |
Opcional | Extrai o valor do campo especificado no cabeçalho da resposta. |
<JSONPath> |
Opcional | Extrai o valor do caminho JSON especificado. |
<Parameter> |
Obrigatória | Especifica um parâmetro a definir no objeto sessionInfo.parameters da resposta do webhook. |
<Phrase> |
Obrigatória | Especifica a expressão (texto) a definir no objeto fulfillmentResponse.messages da resposta do webhook. |
<Phrases> |
Opcional | Elemento principal de <Phrase> . Define o conjunto de expressões de linguagem natural a definir na resposta do webhook. |
<Ref> |
Opcional | Extrai o valor da variável de referência especificada. |
<Value> |
Opcional | Define um texto personalizado para o parâmetro especificado. |
Exemplo
O exemplo seguinte mostra uma política SetDialogflowResponse de exemplo e a WebhookResponse enviada para o agente do Dialogflow:
Sintaxe
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetDialogflowResponse continueOnError="false" enabled="true" name="POLICY_NAME"> <!-- The display name for this policy --> <DisplayName>DISPLAY_NAME</DisplayName> <!-- The message variable from which the policy extracts the required information --> <Source>MESSAGE_VARIABLE</Source> <!-- The version of Dialogflow for which this response policy is written up. This policy supports only the CX version. This element is optional and defaults to CX if unspecified --> <DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion> <!-- A container object to encapsulate all content needed for a natural language response to be returned to Dialogflow from the Southbound API --> <NaturalLanguageResponse> <!-- Defines the merge behavior for existing responses and new responses. Refer here for more details --> <MergeBehavior>MERGE_BEHAVIOR</MergeBehavior> <!-- An ordered list of natural language phrases to be returned to Dialogflow from the Southbound API --> <Phrases> <!-- A phrase is a natural language phrase that Dialogflow agents can send back to their caller/chatting customer --> <Phrase> <!-- A phrase can be extracted from the response JSON payload of a service callout --> <JSONPath>JSON_PATH</JSONPath> </Phrase> <Phrase> <!-- A phrase can be extracted from the response headers of a service callout --> <Header name="HEADER_NAME"/> </Phrase> <Phrase> <!-- A phrase refer to the value of an existing flow variable --> <Ref>EXISTING_FLOW_VARIABLE</Ref> </Phrase> <Phrase> <!-- A phrase can be static text --> <Value>CUSTOM_TEXT</Value> </Phrase> </Phrases> </NaturalLanguageResponse> <!-- A container object defining the parameters to be set as session parameters in the Webhook response sent to Dialogflow --> <Parameters> <!-- Defines a single parameter to be set in sessionInfo.parameters object of the WebhookResponse object. The name of the parameter is defined as an attribute --> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be extracted from the response JSON payload of a service callout --> <JSONPath>JSON_PATH</JSONPath> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be extracted from the response headers of a service callout --> <Header name="HEADER_NAME"/> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be refer to the value of an existing flow variable --> <Ref>EXISTING_FLOW_VARIABLE</Ref> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be static text --> <Value>CUSTOM_TEXT</Value> </Parameter> </Parameters> <IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables> </SetDialogflowResponse>
SetDialogflowResponse policy
O exemplo seguinte mostra a definição da 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>
Aceda ao exemplo seguinte para ver a resposta do webhook criada por esta política.
Resposta do webhook
O exemplo seguinte mostra uma WebhookResponse enviada para o agente do 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 tem os seguintes atributos comuns a todas as políticas:
Atributo | Predefinição | Obrigatório? | Descrição |
---|---|---|---|
name |
N/A | Obrigatório |
O nome interno da política. O valor do atributo Opcionalmente, use o elemento |
continueOnError |
falso | Opcional | Definido como false para devolver um erro quando uma política falha. Este comportamento é o esperado para a maioria das políticas. Definido como true para que a execução do fluxo continue mesmo depois de uma política falhar. Veja também:
|
enabled |
verdadeiro | Opcional | Defina como true para aplicar a política. Defina como false para desativar a política. A política não é aplicada, mesmo que permaneça anexada a um fluxo. |
async |
falso | Descontinuado | Este atributo foi descontinuado. |
Referência de elemento secundário
Esta secção descreve os elementos subordinados de<SetDialogflowResponse>
.
<DisplayName>
Use em conjunto com o atributo name
para etiquetar a política no editor de proxy da IU de gestão com um nome diferente e mais natural.
O elemento <DisplayName>
é comum a todas as políticas.
Valor predefinido | N/A |
Obrigatório? | Opcional. Se omitir <DisplayName> , é usado o valor do atributo name da política. |
Tipo | String |
Elemento principal | <PolicyElement> |
Elementos subordinados | Nenhum |
O elemento <DisplayName>
usa a seguinte sintaxe:
Sintaxe
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
Exemplo
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
O elemento <DisplayName>
não tem atributos nem elementos subordinados.
<Source>
Especifica a variável a analisar. O valor de
<Source>
é predefinido como message
. O valor message
é sensível ao contexto. Num fluxo de pedidos, message
é resolvido para a mensagem de pedido. Num fluxo de resposta, message
é resolvido para a mensagem de resposta.
Embora use frequentemente esta política para extrair informações de uma mensagem de pedido ou resposta, pode usá-la para extrair informações de qualquer variável. Por exemplo, pode usá-la para extrair informações de uma entidade criada pela política AccessEntity, de dados devolvidos pela política ServiceCallout ou extrair informações de um objeto XML ou JSON.
Se não for possível resolver <Source>
ou se for resolvido para um tipo que não seja de mensagem,
a política falha e recebe um erro de tempo de execução.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<SetDialogflowResponse>
|
Elementos subordinados | Nenhum |
<Source>
usa a seguinte sintaxe:
Sintaxe
<Source>MESSAGE_VARIABLE</Source>
Exemplo
O exemplo seguinte define a origem como myMessageVar
:
<Source>myMessageVar</Source>
<DialogflowVersion>
Especifica a versão do Dialogflow. A política SetDialogflowResponse só suporta a versão CX. Se não especificar este elemento na sua política, a versão é CX por predefinição.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<SetDialogflowResponse>
|
Elementos subordinados | Nenhum |
<DialogflowVersion>
usa a seguinte sintaxe:
Sintaxe
<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>
Exemplo
O exemplo seguinte define o DialogflowVersion como CX
:
<DialogflowVersion>CX</DialogflowVersion>
<IgnoreUnresolvedVariables>
Determina se o processamento é interrompido quando é encontrada uma variável não resolvida.
Valor predefinido | True |
Obrigatório? | Opcional |
Tipo | Booleano |
Elemento principal |
<SetDialogflowResponse>
|
Elementos subordinados | Nenhum |
Definido como true
para ignorar as variáveis não resolvidas e continuar o processamento; caso contrário, false
. O valor predefinido é true
.
Definir <IgnoreUnresolvedVariables>
como true
é diferente de definir o <SetDialogflowResponse>
de
continueOnError
como true
. Se definir continueOnError
como true
, o Apigee ignora todos os erros, não apenas os erros nas variáveis.
O elemento <IgnoreUnresolvedVariables>
usa a seguinte sintaxe:
Sintaxe
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Exemplo
O exemplo seguinte define <IgnoreUnresolvedVariables>
como false
:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<MergeBehavior>
Define o comportamento de união das mensagens de resposta. Pode especificar qualquer um dos seguintes valores:
APPEND
: acrescenta as mensagens à lista de mensagens que aguardam envio para o utilizador.REPLACE
: substitui as mensagens mais antigas por mensagens mais recentes na lista de mensagens à espera de serem enviadas ao utilizador.
APPEND
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<NaturalLanguageResponse>
|
Elementos subordinados | Nenhum |
<MergeBehavior>
usa a seguinte sintaxe:
Sintaxe
<MergeBehavior>BEHAVIOR</MergeBehavior>
Exemplo
O exemplo seguinte define o comportamento de união como APPEND
:
<MergeBehavior>APPEND</MergeBehavior>
<NaturalLanguageResponse>
Encapsula toda a resposta de linguagem natural que quer enviar para o agente do Dialogflow.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | Objeto complexo |
Elemento principal |
<SetDialogflowResponse>
|
Elementos subordinados |
<MergeBehavior> <Phrases> |
<Parameters>
Define o conjunto de parâmetros a definir na resposta do Webhook. O nome do parâmetro é um atributo do elemento <Parameter>
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | Objeto complexo |
Elemento principal |
<SetDialogflowResponse>
|
Elementos subordinados |
<Parameter>
|
<Parameter>
Especifica um parâmetro a definir no objeto sessionInfo.parameters da resposta do webhook.
Pode especificar um texto estático como um valor de parâmetro ou extrair o valor de qualquer um dos seguintes campos na resposta:
- Campos de cabeçalho da resposta
- Payload de JSON
- Variáveis de fluxo
Tem de definir um elemento <Parameter>
separado para cada valor que quer extrair.
Valor predefinido | N/A |
Obrigatório? | Obrigatória |
Tipo | Objeto complexo |
Elemento principal |
<Parameters>
|
Elementos subordinados |
<Header> <JSONPath> <Ref> <Value> |
<Parameter>
tem os seguintes atributos:
Atributo | Descrição | Obrigatório? | Tipo |
---|---|---|---|
name |
O nome da variável a criar com este parâmetro. | Sim | String |
O elemento <Parameter>
usa a seguinte sintaxe:
Sintaxe
<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>
Extraia o valor do campo de cabeçalho
Este exemplo define o parâmetro timeSpent para o valor do campo de cabeçalho X-Time-Spent.
<Parameter name="timeSpent"> <Header name="X-Time-Spent"/> </Parameter>
Extraia o valor do caminho JSON
Este exemplo define o parâmetro claimAmount para o valor do campo claim.amount na carga útil JSON.
<Parameter name="claimAmount"> <JSONPath>$.claim.amount</JSONPath> </Parameter>
Extraia o valor da variável de fluxo
Este exemplo define o parâmetro myVar com o valor da variável de fluxo dialogflow.my.var.
<Parameter name="myVar"> <Ref>dialogflow.my.var</Ref> </Parameter>
Defina texto personalizado
Este exemplo define o valor do parâmetro responder como SYSTEM.
<Parameter name="responder"> <Value>SYSTEM</Value> </Parameter>
<Phrases>
Elemento principal de <Phrase>
. Define a lista ordenada de expressões de linguagem natural a serem definidas na resposta do webhook.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | Objeto complexo |
Elemento principal |
<NaturalLanguageResponse>
|
Elementos subordinados |
<Phrase>
|
<Phrase>
Especifica a expressão (texto) a definir no objeto fulfillmentResponse.messages da resposta do webhook.
Pode especificar um texto estático como um valor de expressão ou extrair o valor de qualquer um dos seguintes campos na resposta:
- Campos de cabeçalho da resposta
- Payload de JSON
- Variáveis de fluxo
Tem de definir um elemento <Phrase>
separado para cada valor que quer extrair.
Valor predefinido | N/A |
Obrigatório? | Obrigatória |
Tipo | Objeto complexo |
Elemento principal |
<Phrases>
|
Elementos subordinados |
<Header> <JSONPath> <Ref> <Value> |
O elemento <Phrase>
usa a seguinte sintaxe:
Sintaxe
<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>
Extraia o valor do campo de cabeçalho
Este exemplo define um texto de linguagem natural na resposta para o valor do campo de cabeçalho X-Response-Text
.
<Phrase> <Header name="X-Response-Text"/> </Phrase>
Extraia o valor do caminho JSON
Este exemplo define um texto de linguagem natural na resposta para o valor do campo claim.status.text
no payload JSON.
<Phrase> <JSONPath>$.claim.status.text</JSONPath> </Phrase>
Extraia o valor da variável de fluxo
Este exemplo define um texto de linguagem natural na resposta para o valor da variável de fluxo myVar
.
<Phrase> <Ref>myVar</Ref> </Phrase>
Defina texto personalizado
Este exemplo adiciona o texto You call is important to us
ao texto em linguagem natural na resposta.
<Phrase> <Value>You call is important to us</Value> </Phrase>
<Header>
Extrai o valor do campo especificado no cabeçalho da resposta. Pode usar o valor do cabeçalho para definir um texto em linguagem natural ou um parâmetro de resposta.
- Para extrair o valor do cabeçalho como uma resposta em linguagem natural, especifique o elemento
<Header>
no interior do elemento<Phrase>
. - Para extrair o valor do cabeçalho como um parâmetro de resposta, especifique o elemento
<Header>
no interior do elemento<Parameter>
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<Phrase> <Parameter> |
Elementos subordinados | Nenhum |
<Header>
usa a seguinte sintaxe:
Sintaxe
<Header name="HEADER_FIELD"/>
Exemplo 1
O exemplo seguinte obtém o valor do campo de cabeçalho X-Response-Text
como uma resposta de linguagem natural:
<Phrase> <Header name="X-Response-Text"/> <Phrase/>
Exemplo 2
O exemplo seguinte obtém o valor do campo do cabeçalho X-Response-Text
como um parâmetro de resposta:
<Parameter name="timeSpent"> <Header name="X-Response-Text"/> <Parameter/>
A variável de fluxo timeSpent
é definida com o valor do campo de cabeçalho X-Response-Text
.
O elemento <Header>
tem os seguintes atributos:
Atributo | Descrição | Obrigatório? | Tipo |
---|---|---|---|
nome | Especifica o nome do cabeçalho de resposta do qual extrai o valor. | Obrigatória | String |
<JSONPath>
Extrai o valor de um caminho JSON num payload JSON da chamada de serviço. Pode usar o valor para definir um texto de linguagem natural ou um parâmetro de resposta.
- Para extrair o valor JSON como um texto de linguagem natural, especifique o elemento
<JSONPath>
no interior do elemento<Phrase>
. - Para extrair o valor JSON como um parâmetro de resposta, especifique o elemento
<JSONPath>
no elemento<Parameter>
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<Phrase> <Parameter> |
Elementos subordinados | Nenhum |
<JSONPath>
usa a seguinte sintaxe:
Sintaxe
<JSONPath>JSON_PATH</JSONPath>
Exemplo 1
O exemplo seguinte obtém o valor do campo JSON claim.status.text
como uma resposta de linguagem natural:
<Phrase> <JSONPath>$.claim.status.text</JSONPath> <Phrase/>
Exemplo 2
O exemplo seguinte obtém o valor do campo JSON claim.amount
como um parâmetro de resposta:
<Parameter name="claimAmount"> <JSONPath>$.claim.amount.</JSONPath> <Parameter/>
A variável de fluxo claimAmount
é definida com o valor do campo JSON {claim.amount}
.
<Ref>
Extrai o valor de uma variável de fluxo existente. Pode usar o valor para definir um texto de linguagem natural ou um parâmetro de resposta.
- Para extrair o valor de uma variável como texto de linguagem natural, especifique o elemento
<Ref>
no interior do elemento<Phrase>
. - Para extrair o valor de uma variável como um parâmetro de resposta, especifique o elemento
<Ref>
no interior do elemento<Parameter>
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<Phrase> <Parameter> |
Elementos subordinados | Nenhum |
<Ref>
usa a seguinte sintaxe:
Sintaxe
<Ref>EXISTING_FLOW_VARIABLE</Ref>
Exemplo 1
O exemplo seguinte obtém o valor da variável de fluxo myVar
como uma resposta em linguagem natural:
<Phrase> <Ref>myVar</Ref> <Phrase/>
Exemplo 2
O exemplo seguinte obtém o valor da variável de fluxo dialogflow.my.var
como um parâmetro de resposta:
<Parameter name="customVar"> <Ref>dialogflow.my.var</Ref> <Parameter/>
A variável de fluxo customVar
é definida com o valor da variável dialogflow.my.var
.
<Value>
Define um valor literal para um texto de linguagem natural ou um parâmetro de resposta.
- Para definir o valor literal como um texto em linguagem natural, especifique o elemento
<Value>
no interior do elemento<Phrase>
. - Para definir o valor literal como um parâmetro de resposta, especifique o elemento
<Value>
no interior do elemento<Parameter>
.
Valor predefinido | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento principal |
<Phrase> <Parameter> |
Elementos subordinados | Nenhum |
<Value>
usa a seguinte sintaxe:
Sintaxe
<Value>CUSTOM_TEXT</Value>
Exemplo 1
O exemplo seguinte define o texto literal You call is important to us
como uma resposta de linguagem natural:
<Phrase> <Value>You call is important to us</Value> <Phrase/>
Exemplo 2
O exemplo seguinte define o texto literal SYSTEM
como um parâmetro de resposta:
<Parameter name="responder"> <Value>SYSTEM</Value> <Parameter/>
A variável de fluxo responder
está definida como SYSTEM
.
Códigos de erro
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.setdialogflowresponse.ExecutionFailed |
500 |
Este erro ocorre quando a execução da política falha devido a uma exceção genérica. A mensagem de falha tem os detalhes da exceção. |
steps.setdialogflowresponse.InvalidSourceType |
500 |
Esse erro ocorrerá se a variável especificada no elemento <Source> não for do tipo message. |
steps.setdialogflowresponse.MalformedInput |
500 |
Este erro ocorre quando o JSON fornecido para esta política é inválido ou está incorreto. |
steps.setdialogflowresponse.SourceMessageNotAvailable |
500 |
Esse erro ocorrerá se a variável message
especificada no elemento Source da política
|
steps.setdialogflowresponse.UnresolvedHeader |
500 |
Este erro ocorrerá se o elemento Header tiver um cabeçalho inválido.
Por exemplo, se o elemento Header tiver o valor X-Response-Text
e não houver X-Response-Text no cabeçalho da resposta, você receberá este erro.
|
steps.setdialogflowresponse.UnresolvedJSONPath |
500 |
Este erro ocorrerá se o elemento JSONPath tiver um caminho inválido.
Por exemplo, se o elemento JSONPath tiver o valor {claim.status.value}
e não houver objeto status no payload JSON, você receberá este erro. |
steps.setdialogflowresponse.UnresolvedVariable |
500 |
Este erro ocorrerá se uma variável especificada na política CORS:
|
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa |
---|---|
UnsupportedOperation |
Este erro ocorrerá se você tiver especificado a versão incompatível do Dialogflow no
elemento DialogflowVersion . A política SetDialogflowResponse é compatível
apenas com a versão CX . |
Variáveis de falha
Sempre que houver erros de execução em uma política, a Apigee gerará mensagens de erro. Essas mensagens de erro podem ser visualizadas na resposta de erro. Muitas vezes, as mensagens de erro geradas pelo sistema podem não ser relevantes no contexto do produto. Personalize as mensagens de erro com base no tipo específico para torná-las mais úteis.
Para personalizar as mensagens de erro, use regras de falha ou a política RaiseFault. Para
informações sobre as diferenças entre as regras de falha e a política RaiseFault, consulte
FaultRules vs. a política RaiseFault.
Verifique as condições usando o elemento Condition
nas regras de falha e na política RaiseFault.
A Apigee fornece variáveis de falha exclusivas para cada política, e os valores das variáveis de falha são definidos quando uma política aciona erros de ambiente de execução.
Ao usar essas variáveis, é possível verificar se há condições de erro específicas e agir conforme adequado. Para mais informações sobre como verificar condições de
erro, consulte Como criar condições.
A tabela a seguir descreve as variáveis de falha específicas da política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME é o nome da falha, conforme listado na tabela Erros do ambiente de execução. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" |
setdialogflowresponse.POLICY_NAME.failed |
POLICY_NAME é o nome da política especificada pelo usuário que gerou a falha. | setdialogflowresponse.My-Set-Dialogflow-Response.failed = true |
Tópicos relacionados
As implementações de referência de proxies do Apigee e fluxos partilhados que mostram a utilização da política SetDialogflowResponse estão disponíveis no GitHub do Apigee. Para mais informações, consulte o artigo Implementações de referência de IA de conversação.