Erros e Rate Limit
Nossa API verifica a validade de todos os campos enviados na requisição antes de avançar para a criação, consulta ou gerenciamento de pedidos, transações e recursos.
Utilizamos os códigos de resposta convencionais do HTTP para indicar o sucesso ou a falha de uma requisição.
Portanto, os códigos 2xx denotam sucesso, enquanto os 4xx indicam erros decorrentes de dados informados incorretamente (por exemplo, campos obrigatórios não preenchidos ou um cartão sem data de validade), e os 5xx indicam falhas na execução da nossa aplicação.
Erros nas requisições
Seção intitulada “Erros nas requisições”Todas as transações com algum tipo de erro, terão na nossa resposta a indicação: hasError: true.
{ "hasError": true, ...}Se houver algum problema durante a requisição, com o cartão, reprovação de crédito, o corpo da resposta terá a indicação de hasError: true, juntamente com o item "response:" ... acompanhando a mensagem com detalhamento do problema.
| Atributo | Tipo | Descrição |
|---|---|---|
hasError | boolean | Identifica que ocorreu um erro durante o processamento da requisição. |
response | mixed | Pode conter uma string com o descrição do erro ou um objeto. |
data | object | Caso seja criação de uma nova transação, irá retornar informações do pedido. |
Os tipos de responses
Seção intitulada “Os tipos de responses”O item response do corpo do JSON, pode conter duas variações de informação, conforme o HTTP code. Veja o detalhamento abaixo:
HTTP 5xx: O response vai ser preenchido com uma string relatando o erro. Por ser um erro interno, será uma mensagem genérica como: “Ops, aconteceu um erro.”
{ "hasError": true, "response": "Ops, aconteceu um erro."}HTTP 401: Não houve permissão de acesso através da chave de API informada.
// Tentativa sem bearer token{ "hasError": true, "response": "Acesso não autorizado."}// Bearer token não encontrado no sistema{ "hasError": true, "response": "Token de API não encontrado no sistema."}HTTP 422: O response terá um objeto, pois deve ser um erro na validação das informações enviadas, como CEP inválido, e-mail inválido, cartão de crédito inválido…
{ "hasError": true, "response": { "customer.email": [ "O e-mail preenchido não é válido." ], "customer.taxvat": [ "O CPF informado é inválido." ] }}HTTP 2xx: Uma string descrevendo o motivo do erro da transação.
{ "hasError": true, "data": { "order_number": "8391644868821", "public_key": "88MBZL", "status": "unpaid" }, "response": "Transação não autorizada. O limite do cartão foi excedido. Entre em contato com o banco emissor do cartão."}Tabela dos HTTP Status Code
Seção intitulada “Tabela dos HTTP Status Code”| Código | Status | Descrição |
|---|---|---|
200 | OK | Sucesso |
400 | Bad Request | Requisição inválida |
401 | Unauthorized | Chave de API inválida |
404 | Not Found | O recurso solicitado não existe |
422 | Unprocessable Entity | Parâmetros inválidos, normalmente usado para avisos de dados incorretos no JSON. |
429 | Too Many Requests | Quantidade de requisições realizadas pelo IP maior que o permitido pela nossa plataforma. |
500 | Internal Server Error | Ocorreu um erro interno |
Rate Limit
Seção intitulada “Rate Limit”Nossa aplicação tem uma limitação de 90 requisições por minuto. Caso você ultrapasse o limite, receberá como retorno da requisição:
429: Too Many Requests
{ "hasError": true, "response": "Too many requests."}