Todas as requisições que foram processadas e respondidas pelo servidor retornarão o status HTTP 200 OK, independente do sucesso da resposta. Todas as respostas serão retornadas no padrão JSON e terão o seguinte formato:
{
“sucesso”: [bool],
“mensagem”: [string],
“tipo”: [string],
“complementoTipo”: [string],
“statusCode”: [int],
“dados”: [json]
}
Descrição dos campos:
“sucesso”: Esse campo boolean diz que a resposta pode ser considerada como válida para processamento pelo consumidor do serviço. Caso seja falso, o campo “dados” virá sem valor e os campos “mensagem” e “tipo” serão preenchidos com mais informações a respeito do problema.
“mensagem”: Campo string com informações do erro da requisição, caso o campo “sucesso” seja falso. Pode ser uma mensagem simples de validação das regras de negócio do serviço ou uma mensagem de erro retornada pelo servidor (algumas vezes em inglês). Utilizar em conjunto com os campos “tipo”, “complementoTipo” e “statusCode” para fazer o tratamento de erros e sistema de logs.
“tipo”: Campo string com uma informação técnica do tipo do erro para auxiliar o consumidor do serviço a depurar e tratar os problemas. Atualmente os tipos possíveis são:
- EXCECAO_SERVIDOR,
- AUTENTICACAO_INVALIDA,
- HEADER_INVALIDO,
- BODY_INVALIDO,
- CAMPO_INVALIDO,
- LICENCA_EXPIRADA_OU_INVALIDA,
- FIM_DE_PAGINA,
- REGISTRO_NAO_ENCONTRADO,
- TIPO_BUSCA_INVALIDO
“complementoTipo”: Campo string, só virá preenchido caso o campo “tipo” seja ambíguo ou complexo a ponto de precisar de um complemento.
“statusCode”: Campo integer, trará o código 200 OK nos casos de sucesso no processamento da requisição. Nos casos de erro, trará um código HTTP relativo ao problema apresentado para que o consumidor do serviço possa apurar seu tratamento de erros (como por exemplo: 401 Não autorizado, para o caso de o token informado seja inválido, etc.).
“dados”: Campo JSON, será o campo onde as informações requisitadas serão apresentadas. Poderá ser um objeto simples ou uma lista, dependendo do tipo da requisição. Para mais informações acerca do tipo de retorno para cada uma das requisições consulte a seção Serviços.