Boa noite, gostaria de saber onde conseguimos achar os código de tratamento em caso o consumo não seja 200, como funciona essa parte. como vamos saber para dar uma mensagem para o usuário final…
Tantos nessas consultas citas, mas tbm nas fiscais tbm…
Se quiser boas mensagens para o seu usuário, você precisa sempre tratar todos os erros, independente da Nuvem Fiscal. Por exemplo, você pode ter erros em requisições que não chegam na Nuvem, ou cuja resposta da Nuvem não chega a você: timeout de servidor, erros de certificado, entre outros.
No caso de uma requisição da Nuvem ser processada completamente e não retornar 200, a Nuvem envia uma resposta no formato JSON com um format específico: um objeto JSON com propriedade error que por sua vez também é um objeto com propriedade code e message. Assim:
{
"error": {
"code": "ValidationFailed",
"message": "O campo CNPJ é obrigatório"
}
}
Portanto, o seu processamento é mais o menos o seguinte:
Verifique o status da resposta. Se for entre 200 e 299, tudo deu certo. Pode terminar aqui.
Se for entre 400 e 599, houve um erro.
No caso de erro, verifique o header content-type.
Se for JSON, faça o parse do JSON e obtenha o código e o erro conforme estrutura acima.
Se não for JSON mas iniciar com text/, obtenha o conteúdo da resposta como texto, ali podem ter informações adicionais também sobre o erro.