Pular para o conteúdo principal

Retornos de HTTP

As APIs seguem um padrão de status em comum, ou seja, o comportamento de possíveis tratativas é igual para todos os projetos incluídos neste portal.

Sucesso - 2xx​

CampoMensagemDescriçãoUtilização
200OKCódigo genérico para cenários de sucesso.GET, PUT
201CreatedCenário de criação de um recurso.POST, PUT
202AcceptedCenário de recurso aceito para processamento.POST, PUT
204No ContentCenário de exclusão de um recurso.DELETE

Redirecionamento - 3xx​

CampoMensagemDescriçãoUtilização
303See OtherResposta do servidor instruindo ao cliente buscar o recurso requisitado em outra URI com uma requisição GET.PUT
aviso

Este código de retorno adiciona aos cabeçalhos de resposta o atributo location, que tem como função indicar o endereço de um recurso. A presença deste atributo significa que o recurso desejado se encontra no endereço descrito, para acessar o mesmo deve-se realizar um GET.

A implementação padrão mais comum de bibliotecas HTTP e ferramentas de execução de requisições seguem automaticamente o redirecionamento. Esta prática pode levar a erros de fluxo, onde não fica explícito que o redirecionamento está sendo executado de forma automática.

Recomenda-se fortemente que desabilite a funcionalidade de redirecionamento automático e realize os tratamentos necessários de forma manual, a fim de evitar confusões durante o uso das API’s.

Erros de Client - 4xx​

CampoMensagemDescriçãoUtilização
400Bad requestErros relacionados à sintaxe do request enviado pelo client. Abaixo estão exemplos do que são considerados erros de sintaxe: Má formação do body do request. Formato do body do request incompatível com o que foi enviado no header Content-Type.Todos os verbos
401UnauthorizedFalha de autorização do client (falta ou expiração do token).Todos os verbos
403ForbiddenFalta de privilégios para acessar o recurso. Esses erros contemplam validações usando introspecção do token, como por exemplo, comparando um determinado role que deve estar presente na claim “role”.Todos os verbos
404Not FoundPode indicar duas situações distintas: Quando o backend não localizou o registro a partir do filtro especificado pelo client. Quando o servidor não possui a rota especificada na URL.GET, DELETE
409ConflictIndica que a solicitação atual conflitou com o recurso que está no servidor.PUT
422Unprocessable EntityA requisição está bem formada mas inabilitada para ser seguida devido a erros semânticos. Incompatibilidade do request frente ao que está definido no contrato da API. Especificamente em relação aos campos do body, são consideradas três informações: nome, tipo e obrigatoriedade do campo.Todos os verbos
429Too Many RequestsIndica que o usuário enviou muitos pedidos em um determinado período de tempo.Todos os verbos

Erros de Servidor - 5xx​

CampoMensagemDescriçãoUtilização
500Internal Server ErrorErro genérico ao lado do servidor. Pode ser tanto a falha de código ao tratar o request, quanto alguma falha ligada à infraestrutura.Todos os verbos.
502Bad GatewayO API Gateway recebeu uma resposta inválida do backend.Todos os verbos
503Service UnavailableIndisponibilidade temporária do backend.Todos os verbos
504Gateway TimeoutO API Gateway não recebeu o response do backend a tempo.Todos os verbos