Lidando com erros internos

Dizemos que ocorreu um erro interno quando uma requisição não pôde ser processada devido a alguma falha do serviço oferecido, podendo a falha ser temporária ou não. Ou seja, o erro não foi causado devido a qualquer característica da requisição montada pelo cliente.

A resposta de uma requisição com erro interno é caracterizada por um status code 500 e um corpo de resposta seguindo a estrutura do seguinte exemplo:

{
 "titulo":"Erro Interno",
 "dataHora":"2023-09-27T08:41:50.958945",
 "detalhe":"Ocorreu um erro inesperado, tente mais tarde. 
  Se o erro persistir, contate o administrador do sistema
  informando o trace id: 09bafee3fef94776a4882a309f18f252.",
 "traceId":"09bafee3fef94776a4882a309f18f252",
 "mensagemParaUsuarioFinal":"Ocorreu um erro inesperado, tente mais tarde. 
  Se o erro persistir, contate o administrador do sistema
  informando o trace id: 09bafee3fef94776a4882a309f18f252."
}

	

O que operador deve fazer ao receber um erro interno?

Muitos erros internos são causados por falhas de integração transitórias. Por isso, a primeira ação é tentar repetir a requisição. Muito provavelmente funcionará. Por isso, é importante que o sistema integrador dê clareza ao operador sobre essa situação, assim como permitir o reenvio da requisição.

Caso novas tentativas ainda ocasionem erros internos, o operador deve acionar o Suporte Serpro. É importante, ao acionar o Serpro, informar a data-hora da requisição, operação que foi executada e o trace id. Note que erros de negócio (status code 422) não deveriam gerar acionamentos. Além disso, erros 400 normalmente implicam numa falha de codificação no sistema integrador (cliente do Renavam Cartórios WS).

Tipicamente o campo mensagemParaUsuarioFinal retornado em um erro interno é nulo. Mas caso preenchido, deve ser exibido ao operador.

Inconsistências no estado do processo (assincronia)

Idealmente, a ocorrência de um erro interno deveria implicar em uma reversão completa da transação; ou seja, uma requisição que resultou em erro interno normalmente não deixará efeitos colaterais no sistema. Contudo, devido a grande quantidade de integrações do sistema Renavam Cartórios WS, algumas requisições com erro interno podem causar inconsistências de dados (assincronia).

Quando tais assincronias ocorrem, a recomendação é simplesmente reenviar a requisição. Se novos erros não acontecerem, os mecanismos de idempotência do Renavam Cartórios WS farão com que o processo convirja para um estado consistente. Nesse caso, é importante que a segunda requisição seja enviada com os mesmos dados enviados na primeira requisição. Por isso, é importante que o sistema integrador facilite para o operador o reenvio de requisições que resultaram em erro interno, mantendo os dados já utilizados na primeira requisição.

Outra situação que pode ocasionar inconsistência na base Renavam Cartórios WS são rajadas.