[Resolvido] Tratando falhas de conexão com QnA Maker


#1

Pessoal, estou com uma dúvida em como tratar através do builder uma requisição ao QnaMaker, por exemplo se o serviço estiver temporariamente fora. Alguém poderia me ajudar?


#2

Olá @Maria_Eulina,

basta analisar a variável relativa ao status do response da requisição que você está fazendo.
Exemplo:

Você faz uma requisição GET para a api http://xpto.com e armazena o status na variável S e o body do response na variável R.

Para definir fluxos diferentes de acordo com o resultado da sua requisição basta usar a variável S e validar se os valores são: 200, 400, 500 (status codes tradicionais em requisições HTTP)


#3

Olá @rafaelpa,
Estou tentando testar o script mas não consigo simular esse tipo de erro, você tem algum exemplo de como posso fazer essa simulação?


#4

Olá @Maria_Eulina, não entendi.

Você está utilizando uma ação de requisição HTTP certo?
Para simular o status de uma requisição basta alterar o valor da variável.

Ex.:

Você nomeou a variável que guarda o status code da requisição HTTP como S
Caso a requisição aconteça com sucesso sua variável terá o valor 200.

Para testar o fluxo no caso em que a variável tenha o valor 402, por exemplo, basta adicionar uma ação JavaScript que seta o valor 402 na variável S (após a requisição)


#5

Olá, @rafaelpa.
Consegui resolver de acordo com que você me passou :D;
Para simular no script eu defini que o valor do statusServidor para 402 e ele retornou certinho :smile:

Caso alguém precise do código segue a configuração para forçar o erro:
function run(statusServidor)
{
statusServidor=402;
if(statusServidor == 402)
return “Desculpe, estamos com problemas de conexão ao servidor. Vamos tentar novamente?”;

}

No bloco em que faço a requisição eu criei um script abaixo para verificar o Servidor fora do ar.
Lembrando que neste caso não estou mais forçando o erro.

Neste mesmo bloco em condições de saída eu faço a verificação para direcionar o usuário de volta ao fluxo.

Em um novo bloco retorno para o usuário a mensagem em relação ao servidor e direciono novamente para o fluxo.


#6

Excelente @Maria_Eulina,

muito obrigado por compartilhar com todos :wink: