Artigos sobre: Integrador de Apps

Guia de Tratamento de Erros

Esta guia tem um conjunto de filtros em que você precisa especificar a regra de resposta. Se houver uma correspondência, a transação será considerada incorreta e um texto de erro personalizado também será gerado.

Você pode criar vários blocos separados de uma vez. Cada bloco pode ter seu próprio texto de erro. O bloco consiste em grupos de filtros e é acionado apenas se todos os filtros forem completamente correspondentes.

Assim, podem ser criados diversos blocos com condições de filtro e textos de erro específicos, ou um bloco com várias opções de filtro.



Tipos de erros



Para a definição do tipo de erro, os seguintes valores estão disponíveis:

Default - erro padrão. Se os dados corresponderem ao filtro, a transação é considerada inválida.

InvalidCredential - as condições que estão escritas neste tipo de erro indicam que o usuário está com problemas na conexão que é usada no bundle. Ou seja, os dados de autorização não estão mais válidos.

ExpiredToken - nesse tipo de erro, você precisa especificar no filtro o texto da resposta, o que significa que o token de acesso expirou e precisa ser atualizado. Se for usada a autorização, na qual você precisa atualizar o token de acesso após a expiração, esse tipo de erro é necessário. Quando as condições de um bloco com este tipo coincidirem, o aplicativo fará uma solicitação para atualizar o token (configurado na autorização) e o salvará na conexão. Em seguida, será feita uma tentativa de solicitação novamente com um novo token de acesso (após a atualização). Se o erro persistir mesmo após a tentativa de atualização, a transação será considerada incorreta e o texto do erro será exibido de acordo com o mapeamento.


Mapeamento de mensagem de erro



Neste campo, é escrito o texto que será exibido no log do bundle se ocorrer um erro. No campo, você pode inserir um valor estático ou atribuir um mapeamento à variável de resposta, cujo valor será exibido. O mapeamento deve ser escrito entre duas chaves {{ }}. No início você precisa escrever data., se a variável necessária estiver no corpo da resposta, ou headers., se a variável estiver nos cabeçalhos da resposta.

Veja o exemplo do texto de resposta com a seguinte descrição:

{"response":{ "error":"token invalido" }}


Nesse caso, o mapeamento deve ser especificado da seguinte forma: {{ data.response.error }}



Filtro de condições



Consiste na configuração das condições que indicam ao aplicativo que a solicitação é considerada inválida.

No campo esquerdo, escreva o mapeamento para a chave da variável que você deseja seguir (o mapeamento também deve começar com data. ou headers.). Selecione um operador de condição e, no campo à direita, especifique um valor de variável que indica um erro.

Você também pode definir o valor headers.http-code no campo esquerdo. Esta chave irá monitorar o código de resposta HTTP e você pode escrever 400 no valor, por exemplo.

Dentro de um bloco, é possível criar um número ilimitado de condições, definindo o operador entre as condições (E/OU). Cada condição também pode ser convertida em um grupo de condições para uma definição mais precisa. Por exemplo: status = erro 1 (result = mensagem1 OU result = mensagem2) ( status = erro E (result = erro1 OU result = erro2))

Exemplos



Exemplo 1



Vamos pegar o JSON do exemplo de mapeamento de erro. Se o JSON aparecer neste formato apenas quando houver um erro, após solicitações bem-sucedidas, e a variável response.error estiver ausente, é possível preencher o filtro para que ele responda ao fato de que o campo apareceu na resposta. Neste caso, à esquerda, escreva o mapeamento data.response.error, defina o operador "Igual" e, no valor, selecione na lista do sistema o parâmetro "Valor vazio".



Assim, se na resposta não houver campo, a solicitação não é considerada errônea. Contudo, assim que esta variável aparecer na resposta e for preenchida com algo (mesmo por uma linha vazia ““), a transação será considerada inválida.

Exemplo 2



Neste caso, vamos considerar que a resposta vem com uma variável que indica claramente que ocorreu um erro:

{"status":"error","reason":"Token expirou"}


No mapeamento da mensagem é especificado o caminho para a variável com o texto de erro {{ data.reason }} e no filtro é colocado data.status = error.

Atualizado em: 01/12/2022

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!