Erros

Todo erro é JSON, com o status HTTP que diz o que fazer.

{ "error": "dados inválidos", "fields": { "idempotency_key": "obrigatória: use um id estável do seu sistema" } }

fields aparece em dado inválido; invoice, quando a nota existe (por exemplo, cancelamento recusado pela SEFIN).

SituaçãoHTTP
JSON inválido, campo desconhecido, limit ou status fora da faixa400
token ausente, inválido ou revogado401
Host não permitido (proteção contra DNS rebinding)403
registro inexistente ou de outra conta404
produção sem confirmação; nota fora do status exigido409
dado inválido por campo; SEFIN recusou o cancelamento422
falha interna (vai para o log, sem detalhe na resposta)500
SEFIN sem resposta no cancelamento502
recurso desligado neste painel503

Regras que um integrador não pode quebrar

  1. Nunca gerar idempotency_key aleatória por tentativa: a chave é o id da cobrança.
  2. Resposta 202 ou timeout: consultar pela chave antes de reenviar. Reenviar é seguro só com a mesma chave.
  3. confirm_production: true só depois de uma pessoa confirmar a emissão.
  4. Cancelar é irreversível: confirmar com uma pessoa antes.
  5. Não há rota para cadastrar tomador nem modelo: o cadastro é no painel.

Nesta página