SaciPix

Erros

Formato das respostas de erro e lista de códigos.

Erros usam códigos HTTP e têm sempre o mesmo formato. Escreva sua lógica sobre code, que é estável. message é um texto para pessoas e pode mudar.

  • code: identificador do erro.
  • message: descrição legível.
  • details: opcional. Em erros de validação, uma lista de { field, message }.
422 invalid_request
{
  "error": {
    "code": "invalid_request",
    "message": "Parâmetros inválidos.",
    "details": [
      {
        "field": "amount",
        "message": "Invalid input: expected number, received undefined"
      }
    ]
  }
}

Códigos

HTTPcodeQuando acontece
400invalid_jsonO corpo não é um JSON válido.
401unauthorizedChave de API ausente, inválida ou revogada.
402insufficient_fundsSaldo disponível menor que valor mais tarifa.
403account_not_activeConta ainda não aprovada para operar em produção.
403account_blockedConta bloqueada. Fale com o suporte.
403key_not_allowedA chave de produção não tem a permissão de saques.
403forbiddenAção não permitida no estado atual do recurso ou neste ambiente.
404not_foundRecurso inexistente, de outra conta ou de outro ambiente.
409idempotency_conflictIdempotency-Key já usada com outros parâmetros.
409idempotency_in_progressA requisição original ainda está em andamento.
409conflictConflito ao criar a cobrança. Repita a requisição.
422invalid_requestParâmetros inválidos. Veja details.
422amount_limit_exceededValor acima do limite permitido por transação.
422amount_below_minimumSaque crypto abaixo de US$ 5,00.
429rate_limitedLimite de requisições atingido.
500internal_errorErro inesperado do nosso lado.
502provider_errorNão foi possível processar a operação.
503provider_unavailableServiço de pagamentos indisponível no momento.

O que repetir

  • 4xx: não repita sem corrigir a requisição. A exceção é 429, que pode ser repetido depois de aguardar, e idempotency_in_progress.
  • 5xx em saques ou timeout: repita com a mesma Idempotency-Key. Nunca crie um saque novo sem saber o que aconteceu com o anterior.
  • 503 em cobranças: tente de novo. Pode repetir a mesma chave: uma cobrança que falhou ao ser criada libera a chave.