Skip to Content
ConceitosTratamento de erros

Tratamento de erros

Todas as respostas de erro seguem o mesmo envelope, com um code estável que você pode tratar programaticamente — mensagens podem mudar, códigos não.

{ "error": { "code": "ERRO_VALIDACAO", "message": "CPF inválido", "details": { "campo": "cpf", "restricoes": { "matches": "cpf deve conter exatamente 11 dígitos." } } } }

O campo details é opcional e varia por tipo de erro (ex.: campos de validação, ou dados do upstream com segredos já redigidos).

Catálogo de códigos

HTTPcodeQuando acontece
400ERRO_VALIDACAOPayload inválido (campo faltando, formato errado)
400IDEMPOTENCY_KEY_OBRIGATORIAFaltou o header Idempotency-Key
401CREDENCIAL_INVALIDAToken ausente, inválido ou expirado
401AUTORIZACAO_PENDENTEO trabalhador ainda não autorizou
401AUTORIZACAO_EXPIRADAA autorização do trabalhador venceu
403ESCOPO_INSUFICIENTEA credencial não tem o escopo necessário
404EMPRESTIMO_NAO_ENCONTRADOEmpréstimo inexistente ou de outro parceiro
404SEM_EMPREGADOR_AUTORIZADONenhum vínculo autorizado para o CPF
409CONFLITO_IDEMPOTENCIAConflito de chave de idempotência
422CONSULTA_MARGEM_NAO_ENCONTRADAFalta uma consulta de margem válida
422MARGEM_INSUFICIENTEA parcela excede a margem disponível
422ERRO_NEGOCIORegra de negócio do BaaS impediu a operação
429RATE_LIMIT_EXCEDIDOLimite por credencial excedido (veja Retry-After)
502 / 503 / 504DATAPREV_INDISPONIVELO Dataprev está indisponível — tente de novo
500ERRO_INTERNOErro interno (sem detalhes em produção)

Como tratar

  • Trate pelo code, não pela message. As mensagens são para humanos e podem mudar.
  • 429 e 5xx (incl. DATAPREV_INDISPONIVEL) são transitórios: faça retry com backoff, respeitando o Retry-After quando presente.
  • 4xx de validação/negócio (ERRO_VALIDACAO, MARGEM_INSUFICIENTE…) não adianta repetir sem corrigir a entrada.

Em chamadas idempotentes, é seguro repetir após um 5xx ou timeout usando a mesma Idempotency-Key — você recebe a resposta original se a operação já tiver sido processada.