# Códigos de retorno (HTTP status)

A API da Americanas utiliza o grupo padrão dos status HTTP para indicar se uma requisição teve sucesso ou não. No geral:

* Códigos HTTP <mark style="color:green;">**2XX**</mark> indicam que a requisição foi realizada com sucesso;<br>
* Códigos HTTP <mark style="color:red;">**4XX**</mark> indicam que a requisição contém alguma informação incorreta - dados de acesso, ausência de um campo obrigatório, entre outros;<br>
* Códigos HTTP <mark style="color:red;">**5XX**</mark> indicam algum erro nos servidores da API. Esses são raros e caso receba esse código, deve entrar em contato com o nosso suporte.

## Status HTTP

Os status HTTP mais comuns são:

<table data-header-hidden><thead><tr><th width="137" align="center">Status</th><th>Descrição</th></tr></thead><tbody><tr><td align="center"><strong>Status</strong></td><td><strong>Descrição</strong></td></tr><tr><td align="center">200</td><td><strong>Sucesso</strong> (A requisição foi processada com sucesso)</td></tr><tr><td align="center">201</td><td><strong>Criado</strong> (A requisição foi processada com sucesso e resultou em um novo recurso criado)</td></tr><tr><td align="center">204</td><td><strong>Sem conteúdo</strong> (A requisição foi processada com sucesso e não existe conteúdo adicional na resposta)</td></tr><tr><td align="center">400</td><td><strong>Requisição mal formada</strong> (A requisição não está de acordo com o formato esperado. Verifique o JSON (body) que está sendo enviado)</td></tr><tr><td align="center">401</td><td><strong>Não autenticado</strong> (Os dados de autenticação estão incorretos. Verifique no cabeçalho (header) da requisição o e-mail e o token)</td></tr><tr><td align="center">403</td><td><strong>Não autorizado</strong> (Você está tentando acessar um recurso para o qual não tem permissão)</td></tr><tr><td align="center">404</td><td><strong>Não encontrado</strong> (Você está tentando acessar um recurso que não existe na SkyHub)</td></tr><tr><td align="center">406</td><td><strong>Formato não aceito</strong> (A SkyHub não suporta o formato de dados especificado no cabeçalho (Accept))</td></tr><tr><td align="center">415</td><td><strong>Formato de mídia não aceito</strong> (A SkyHub não consegue processar os dados enviados por conta de seu formato. Certifique-se do uso do charset UTF-8 (tanto no header "Content-Type", quanto no próprio body da requisição))</td></tr><tr><td align="center">422</td><td><strong>Erro semântico</strong> (Apesar do formato da requisição estar correto, os dados ferem alguma regra de negócio (por exemplo: transição inválida do status de pedido))</td></tr><tr><td align="center">429</td><td><strong>Limite de requisições ultrapassado</strong> (Você fez mais requisições do que o permitido em um determinado recurso)</td></tr><tr><td align="center">500 ou 502</td><td><strong>Erro interno</strong> (Ocorreu um erro no servidor da SkyHub ao tentar processar a requisição)</td></tr><tr><td align="center">503</td><td><strong>Serviço indisponível</strong> (A API da SkyHub está temporariamente fora do ar)</td></tr><tr><td align="center">504</td><td><strong>Timeout</strong> (A requisição levou muito tempo e não pôde ser processada)</td></tr></tbody></table>

## Erros

Sempre que ocorrer um erro, a API retornará no corpo (body) da mensagem um JSON de acordo com o formato abaixo:

```
{error: "mensagem de erro"}
```

{% hint style="warning" %}
**A tratativa dos erros recebidos é imprescindível para a fluidez do fluxo de integração.**

Navegue pelo nosso guia [Consulta de Erros](https://desenvolvedores.skyhub.com.br/sync_errors/consulta-erros-de-sincronizacao-e-producao) para maiores detalhes sobre a visualização dos erros de integração.&#x20;
{% endhint %}
