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 secção descreve os códigos de falha e as mensagens de erro devolvidas, bem como as variáveis de falha definidas pelo Apigee quando esta política aciona um erro. Estas informações são importantes para saber se está a desenvolver regras de falhas para tratar falhas. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e Como processar falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
Código de falha | Estado de HTTP | Causa |
---|---|---|
steps.setdialogflowresponse.ExecutionFailed |
500 |
Este erro ocorre quando a execução da política falhou devido a uma exceção genérica. A mensagem de falha tem os detalhes da exceção. |
steps.setdialogflowresponse.InvalidSourceType |
500 |
Este erro ocorre 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 a esta política é inválido ou está mal formado. |
steps.setdialogflowresponse.SourceMessageNotAvailable |
500 |
Este erro ocorre se a variável
message
especificada no elemento Source da política for:
|
steps.setdialogflowresponse.UnresolvedHeader |
500 |
Este erro ocorre 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 existir nenhum X-Response-Text no cabeçalho da resposta, recebe este erro.
|
steps.setdialogflowresponse.UnresolvedJSONPath |
500 |
Este erro ocorre se o elemento JSONPath tiver um caminho inválido.
Por exemplo, se o elemento JSONPath tiver o valor {claim.status.value} ,
e não existir nenhum objeto status no payload JSON, recebe este erro. |
steps.setdialogflowresponse.UnresolvedVariable |
500 |
Este erro ocorre se uma variável especificada na política SetDialogflowResponse for:
|
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa |
---|---|
UnsupportedOperation |
Este erro ocorre se tiver especificado uma versão do Dialogflow não suportada no elemento DialogflowVersion . A política SetDialogflowResponse só suporta a versão CX . |
Variáveis de falha
Sempre que existem erros de execução numa política, o Apigee gera mensagens de erro. Pode ver estas mensagens de erro na resposta de erro. Muitas vezes, as mensagens de erro geradas pelo sistema podem não ser relevantes no contexto do seu produto. Pode personalizar as mensagens de erro com base no tipo de erro para tornar as mensagens mais significativas.
Para personalizar as mensagens de erro, pode usar regras de falhas ou a política RaiseFault. Para
informações sobre as diferenças entre as regras de falhas e a política RaiseFault, consulte
Regras de falhas vs. a política RaiseFault.
Tem de verificar as condições através do elemento Condition
nas regras de falhas e na política RaiseFault.
O Apigee fornece variáveis de falhas exclusivas para cada política, e os valores das variáveis de falhas são definidos quando uma política aciona erros de tempo de execução.
Ao usar estas variáveis, pode verificar condições de erro específicas e tomar as medidas adequadas. Para mais informações sobre a verificação das condições de erro, consulte o artigo Criar condições.
A tabela seguinte descreve as variáveis de falha específicas desta política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME é o nome da falha, conforme indicado na tabela Erros de tempo 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 especificado pelo utilizador da política 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.