Referência Técnica

Resolução de problemas — API v2

Sintomas comuns nas áreas Contas, Cobranças e Pagamentos Pix e o que verificar

Checklist prático para falhas frequentes na integração. Paths e scopes: Mapa de endpoints.

BaaS {#baas}

Checklist do produto BaaS. Separação plataforma vs conta: Sobre o BaaS. Mapa de rotas: Mapa de endpoints.

Assinatura HMAC inválida

SintomaVerificar
Invalid request signaturehmac_secret do contexto correto (plataforma vs conta)
PATH completo com /api/v2, sem host, sem / final
QUERY idêntica à URL
BODY byte a byte ([] em GET assinados)
timestamp e nonce iguais na mensagem e nos headers X-*
Token não expirado

Onboarding (plataforma BaaS)

SintomaVerificar
404 Customer not found em PF/PJPOST + PATCH da proposta concluídos: pacote cadastral com password e OTP (email_verification_code, phone_verification_code)
Reprovação em complianceemail_verification_code e phone_verification_code no PATCH da proposta
422 em PF/PJfiles[] no PATCH de PF/PJ, não na proposta
Invalid documents from company typecompany_type bate com tipos em files[] (PJ)
OTP expiradoresend-email ou resend-sms na proposta; GET antes do PATCH

Guia: Onboarding.

Pix (conta BaaS)

SintomaVerificar
Pagamento por chave falhaConsultar DICT (POST …/key-managements/consult) antes de pagar
Dados do recebedor rejeitadosNão alterar campos retornados pela consulta DICT
Pagamento duplicadoNovo idempotency_key a cada intenção de pagamento
QR cash-in falhaChave Pix ativa na conta antes de gerar cobrança

Boletos (conta BaaS)

SintomaVerificar
422 na confirmaçãoSeguir wizard: consultar → revisar → (atualizar) → confirmar
Sessão expiradaGuardar reference da consulta; reiniciar se expirar
Fora da janelaRespeitar canPayToday, minPaymentTime, maxPaymentTime na revisão

Webhooks BaaS

SintomaVerificar
Sem callback de credenciaisWebhook da plataforma (seller-webhooks) com AccountCredentials + created
Sem evento Pix na contaWebhook da conta (/baas/webhooks) com evento correto em events[]
Duplicidade no receptorIdempotência: event_id (conta) ou account_uuid + evento (plataforma)
403 no cadastroUm registro seller por entity + event_type; scopes baas.seller-webhooks.* ou baas.webhooks.*

Autenticação

SintomaVerificar
401 em qualquer rotaToken ausente, expirado ou malformado. Refaça login ou use refresh.
403Scope ausente no JWT. O campo scope do login é uma string com permissões separadas por espaço. Após alterar scopes, é necessário novo login.
Login 400/401Basic Auth (client_id:client_secret), grant_type=client_credentials, host de ambiente correto.

Lista de scopes de sandbox: Chaves de teste.

Contas

SintomaVerificar
403 em saldo / extrato / dados / chavesScopes contas.saldo.read, contas.extrato.read, contas.read, contas.chaves.read.
Extrato 422 com violacoesQuery incompleta: data_inicio, data_fim, offset e limit são obrigatórios. Prefira YYYY-MM-DD. offset começa em 0.
Extrato “vazio”Intervalo sem movimentos processados; ajuste datas/tipo (saida | entrada).
Formato do extratoResposta é lista indexada ("0", "1", …) + correlationId — não um array items[]. Ver Extrato.
SaldoCampo blocked_balance faz parte do contrato. Ver Saldo.

Cobranças e webhooks Pix

SintomaVerificar
403Scopes cob.read / cob.write ou webhooks.read / webhooks.write.
Cobrança 400 “inválida”txid inexistente ou fora do contexto da conta do token.
Webhook sem POST (recebimento)Cadastre eventos: ["recebimento"] na mesma chave do QR. Endpoint HTTPS responder 2xx. Ver Webhook de recebimento.
Webhook sem POST (pagamento)Cadastre eventos: ["pagamento"] e/ou ["pagamento-falha"] em qualquer chave da conta pagadora. Ver Webhook de pagamento.
Efeito duplicado no sistema internoRetentativas HTTP reenviam o mesmo evento. Implemente idempotência no receptor (endToEndId antes de responder 2xx). Ver Recebimento e Pagamento.

Pagamentos Pix (envio)

SintomaVerificar
Pagamento fica em status: "0"Falta confirmar com id + valor.
403Scopes pix.read / pix.write.
Pagamento efetivado sem webhookCadastre eventos: ["pagamento"] em uma chave da conta pagadora. Para falha: ["pagamento-falha"]. Alternativa: listar / consultar.

Rate limit

SintomaVerificar
429Respeite Retry-After ou backoff. Evite polling agressivo. Ver Rate limits.

Envelope de erro (Pix)

Muitas rotas devolvem erros no formato:

{
  "type": "https://pix.bcb.gov.br/api/v2/error/OperacaoInvalida",
  "title": "...",
  "status": 422,
  "detail": "...",
  "violacoes": {}
}

Use status e violacoes (quando existir) para diagnosticar validação. Detalhe HTTP: Códigos de erro.

Correlação

Respostas de sucesso costumam incluir correlationId. Guarde-o ao abrir chamado de suporte.

2025 © Nuvende - CNPJ 38.297.374/0001-93