Códigos de Status HTTP

Em poucas palavras, existem apenas 3 resultados na interação entre seu aplicativo e nossa API:

  • Tudo funcionou
  • O aplicativo fez algo errado
  • A API fez algo errado

Em geral, os códigos no intervalo 2xx indicam sucesso, os códigos no intervalo 4xx indicam um erro resultante das informações fornecidas (por exemplo, um parâmetro necessário faltou, uma transação falhou, etc.) e os códigos no intervalo 5xx indicam um erro com os servidores da Click2Pay

A tabela a seguir contém os valores mais comuns para os códigos de status HTTP retornados pela API:

HTTP STATUS CODETextoDescrição
200OKTudo funcionou conforme o esperado.
201CreatedA requisição foi bem sucedida e um novo recurso foi criado.
202AcceptedA requisição foi recebida, mas não pode atuar ainda.
304Not ModifiedNão havia dados novos para retornar.
400Bad RequestA requisição foi invalida ou não atingiu o servidor. Muitas vezes, falta um parâmetro obrigatório.
401UnauthorizedAs credenciais de autenticação estavam faltando ou foram incorretas.
402Request FailedOs parâmetros foram válidos mas a requisição falhou.
403ForbiddenA requisição foi ok, mas foi recusado ou o acesso não foi permitido. Uma mensagem de erro que acompanha a mensagem explica o porquê.
404Not FoundA URI solicitada é inválida ou o recurso solicitado, como por exemplo, um vendedor não existe ou foi excluído.
500Internal Server ErrorAlgo está quebrado. Por favor, assegure-se de que a equipe Click2Pay esteja investigando.
502Bad GatewayA Click2Pay caiu ou está sendo atualizada.

Mensagens de erro

Quando uma requisição de API falha, a Click2Pay retornará um código de resposta HTTP 4xx ou 5xx que identifica genericamente a falha, bem como uma resposta JSON que fornece informações mais específicas sobre o erro (ou os erros) que causou a falha.

A resposta conterá:

  • O status (boleano) error ou success.
  • A mensagem de erro
  • Um código de erro errorCode (usado internamente e variante)
  • Uma descrição errorDescription legível para humanos que explica por que o erro ocorreu.

Obs.: Em respostas 2xx, cada resposta Http pode conter um payload alternativo

{
	"error": true,
	"errorMessage": "400 Bad Request",
	"errorCode": "400.001",
	"errorDescription": "the \"id\" entered has already been used before"
}
{
	"success":true,
  "data":{
  	//payload
  }
}
{
	"error": true,
	"errorMessage": "Internal Server Error",
	"errorCode": "500.001",
	"errorDescription": "Rate not configured for user"
}