Pular para o conteúdo

Consultar Situação do Boleto

Novo Consulta a situação operacional completa do boleto em JSON: registro, pagamento, baixa, protesto e Pix, além dos dados de conferência da emissão (pagador, multa, juros e descontos). É a visão mais completa da vida do boleto disponível na API.

O campo boleto.situacao (topo da resposta) é o resumo:

Situação Significado
PAGO Há pagamento informado para o boleto
BAIXADO O boleto foi baixado/cancelado
EM_ABERTO Nenhum dos anteriores
Cenário Recomendação
Acompanhar o registro com motivo estruturado (código + origem + data) Sim
Conciliar pagamento/baixa e exibir a situação ao seu usuário Sim
Obter o Pix Copia e Cola (codigoEMV) de um boleto já emitido Sim
Conferir os dados gravados na emissão (pagador, multa, juros, descontos) Sim
Atender chamados de suporte com a visão completa do boleto Sim
GET https://sandbox.boletocloud.com/api/v1/boletos/{token}/situacao
GET https://sandbox.boletocloud.com/api/v1/boletos/controle/{tokenControleUsuario}/situacao
  • Rota por {token}: use quando você guarda o token retornado pela Boleto Cloud na criação do boleto.
  • Rota por {tokenControleUsuario}: use quando você informou boleto.tokenControleUsuario na criação e quer consultar pelo identificador do seu sistema.

As duas rotas exigem a autenticação padrão da API e retornam o mesmo contrato JSON (raiz boleto).

Header Valor
Accept application/json
Authorization Basic {credenciais}
Parâmetro Tipo Descrição
token string Token identificador do boleto, retornado na criação
tokenControleUsuario string Valor de boleto.tokenControleUsuario informado na criação (rota /controle/)

Cenário do exemplo: boleto registrado online com PIX gerenciado pelo banco solicitado, mas o banco não disponibilizou o QR Code (única combinação em que pix.erro aparece — o erro de PIX só nasce após o registro confirmar).

{
"boleto": {
"situacao": "EM_ABERTO",
"token": "TOKEN_DO_BOLETO",
"tokenControleUsuario": "pedido-12345",
"numero": "12345678901",
"documento": "PED-12345",
"valor": 800.00,
"emissao": "2026-07-01",
"vencimento": "2026-07-30",
"pagador": {
"nome": "Lucas Mendes",
"cprf": "111.111.111-11"
},
"multa": {
"percentual": 2.00,
"valor": null,
"diasParaEncargos": 1
},
"juros": {
"percentualAoDia": 0.0333,
"valorFixoAoDia": null,
"diasParaEncargos": 1
},
"descontos": [
{
"percentual": 5.00,
"valor": null,
"dias": 10
}
],
"linhaDigitavel": "23790.50004 00000.000000 00000.000000 1 00000000080000",
"codigoDeBarras": "23791000000000800005000000000000000000000000",
"registro": {
"situacao": "REGISTRO_CONFIRMADO",
"registrar": true,
"data": "2026-07-01",
"erro": null,
"descricao": null
},
"pagamento": null,
"baixa": null,
"protesto": null,
"pix": {
"situacao": "PIX_NAO_GERADO",
"erro": {
"origem": "BANCO",
"codigo": "CHAVE_PIX_NAO_CADASTRADA",
"mensagem": "O boleto foi registrado online, mas o banco nao disponibilizou o QR Code PIX porque a conta bancaria nao possui chave PIX cadastrada ou disponivel.",
"informadoEm": "2026-07-01"
},
"txId": null,
"codigoEMV": null
}
}
}
Campo Tipo Descrição
situacao string Resumo: PAGO, BAIXADO ou EM_ABERTO (ver Situação Resumo)
token string Token do boleto na Boleto Cloud
tokenControleUsuario string | null Identificador do seu sistema, quando informado na criação
numero string NIB (nosso número) do boleto
documento string Número do documento informado na criação
valor decimal Valor do boleto
emissao date Data de emissão (AAAA-MM-DD)
vencimento date Data de vencimento (AAAA-MM-DD)
linhaDigitavel string Linha digitável do boleto
codigoDeBarras string Código de barras do boleto

Regras transversais da resposta — valem para todos os blocos:

  • Blocos opcionais nunca são omitidos: pagamento, baixa, protesto e pix vêm como null quando não se aplicam.
  • O bloco registro está sempre presente (no mínimo REGISTRO_NAO_SOLICITADO).
  • multa e juros são null quando o boleto não define esses encargos (nunca vêm como {campos: null}).
  • descontos é lista sempre presente — vazia ([]) quando não há desconto; itens só para os descontos efetivamente definidos, na ordem 1→2→3.
  • pagador pode ser null em boletos antigos com dados de pagador incompletos no snapshot da emissão.
  • Em multa, juros e descontos[], os pares percentual/valor (e percentualAoDia/valorFixoAoDia) são mutuamente exclusivos: um preenchido, o outro null.

Os blocos pagador, multa, juros e descontos retornam o que foi gravado na emissão:

Campo Descrição
pagador.nome Nome do pagador gravado no boleto emitido
pagador.cprf CPF ou CNPJ do pagador, formatado (mesmo formato aceito na criação)
multa.percentual Percentual da multa (2 casas), quando definida em percentual
multa.valor Valor fixo da multa (2 casas), quando definida em valor
multa.diasParaEncargos Carência: dias após o vencimento para iniciar a cobrança dos encargos (0 = sem carência)
juros.percentualAoDia Percentual diário de juros (4 casas) — mesma semântica diária do campo de criação
juros.valorFixoAoDia Valor fixo de juros por dia (2 casas)
juros.diasParaEncargos Carência (mesma regra da multa — a carência vale para multa e juros)
descontos[].percentual Percentual do desconto (2 casas)
descontos[].valor Valor fixo do desconto (2 casas)
descontos[].dias Prazo em dias do desconto — espelha boleto.descontoDetalhe.N.dias da criação (0 quando não informado)

registro.situacao responde onde o registro está no pipeline; registro.erro responde qual foi o último impedimento conhecido — e um não implica o outro.

registro.situacao Significado
REGISTRO_CONFIRMADO Registrado no banco (estado final positivo; data preenchida)
REGISTRO_PENDENTE Solicitado, ainda sem evidência de envio ao banco
REGISTRO_EM_PROGRESSO Enviado ao banco e em janela viva de acompanhamento
REGISTRO_REJEITADO Terminal: não foi registrado e não há expectativa de conclusão automática
REGISTRO_NAO_SOLICITADO Boleto sem registro solicitado

Regras de leitura:

  • erro pode coexistir com REGISTRO_PENDENTE/REGISTRO_EM_PROGRESSO: é o último impedimento conhecido, não sinal de terminalidade. Um boleto pode estar “em progresso com erro anterior” (retentativa).
  • REGISTRO_REJEITADO com erro: null significa registro encerrado por supersessão — o boleto foi pago/baixado antes de o registro concluir; nesse caso descricao explica e o motivo real está em pagamento/baixa. Não é rejeição do banco.
  • Nos estados vivos, descricao traz textos fixos: "Registro aguardando envio ao banco." (REGISTRO_PENDENTE) e "Registro enviado ao banco; aguardando processamento." (REGISTRO_EM_PROGRESSO).
  • registrar é a intenção operacional legada — novos integradores devem usar situacao + erro.codigo.

Estrutura: { origem, codigo, mensagem, informadoEm }.

  • informadoEm (AAAA-MM-DD) é a data em que a plataforma tomou ciência do impedimento — não necessariamente a data do fato no banco.
  • origemCONTA, BANCO, INTEGRACAO_BANCARIA, PLATAFORMA — enum próprio deste bloco (não assuma um enum global de origem).
codigo origem Quando ocorre Ação sugerida
CONTA_SEM_ACESSO_API CONTA Conta sem acesso ativo/autorizado à API do banco Habilitar/configurar a conta no banco
PRODUTO_NAO_CONTRATADO CONTA Registro/e-commerce não contratado Contratar o produto com o banco
CREDENCIAL_BANCARIA_INVALIDA CONTA Certificado/token expirado ou inválido Recadastrar certificado/credencial
NUMERO_JA_REGISTRADO BANCO Nosso número/título já cadastrado Gerar nova numeração
ENDERECO_PAGADOR_INVALIDO BANCO CEP/endereço do pagador inválido Corrigir endereço
VENCIMENTO_INVALIDO BANCO Vencimento/prazo inválido Ajustar vencimento
DADOS_PAGADOR_INVALIDOS BANCO CPF/CNPJ/nome do pagador inválido Corrigir dados do pagador
VALOR_OU_ENCARGOS_INVALIDOS BANCO Valor/multa/juros/desconto inválido Corrigir valor/encargos
REGISTRO_TEMPORARIAMENTE_INDISPONIVEL INTEGRACAO_BANCARIA Indisponibilidade transitória Aguardar retentativa
REGISTRO_NAO_REALIZADO_PELO_BANCO BANCO Rejeição bancária não classificada Ler mensagem / acionar o suporte
REGISTRO_NAO_CONCLUIDO INTEGRACAO_BANCARIA Enviado sem veredito dentro da janela Reemitir se ainda desejado
BOLETO_VENCIDO_SEM_REGISTRO PLATAFORMA Boleto online venceu antes do registro Atualizar o vencimento para re-solicitar
  • pagamento (ou null): { situacao: "PAGAMENTO_INFORMADO", data, valor, dataCredito, forma, origem, marcadoComoPago, multa, juros, desconto, pix }. Cobre tanto a confirmação bancária quanto a marcação manual — distinga por origem + marcadoComoPago. Os multa/juros/desconto deste bloco são os aplicados na liquidação (ver Dados de Conferência).
  • baixa (ou null): { situacao, dataSistema, dataBanco, motivo, descricao, origem }situacaoBAIXA_NO_SISTEMA, BAIXA_EM_PROGRESSO, BAIXA_CONFIRMADA.
  • protesto (ou null): { situacao, dataSistema, dataBanco, origem, descricao }situacaoPROTESTO_NO_SISTEMA, PROTESTO_EM_PROGRESSO, PROTESTO_CONFIRMADO, CANCELAMENTO_NO_SISTEMA, CANCELAMENTO_EM_PROGRESSO, CANCELAMENTO_CONFIRMADO.
Cenário Conteúdo
pix: null Sem instrumento PIX relevante (não solicitado, ou emissão via CNAB sem dados de PIX)
PIX_GERADO Instrumento usável: txId + codigoEMV preenchidos, erro: null
PIX_NAO_GERADO O boleto foi registrado online com PIX gerenciado pelo banco solicitado, mas o banco não disponibilizou o QR Code: txId/codigoEMV null e erro preenchido

codigoEMV é o “Pix Copia e Cola”. Exemplo de PIX gerado com sucesso:

"pix": { "situacao": "PIX_GERADO", "erro": null, "txId": "tx-abc-123", "codigoEMV": "00020126580014BR.GOV.BCB.PIX..." }

Estrutura: { origem, codigo, mensagem, informadoEm }.

  • origem: sempre BANCO hoje (o resultado do registro bancário não disponibilizou o PIX).
  • codigo: CHAVE_PIX_NAO_CADASTRADA (acionável: cadastre/disponibilize a chave PIX da conta no banco) ou PIX_NAO_DISPONIBILIZADO_PELO_BANCO (genérico: use a linha digitável/código de barras).
  • mensagem: fixa por código. O retorno técnico cru do banco nunca é exposto.
  • informadoEm (AAAA-MM-DD): data em que a plataforma registrou a falha de geração do PIX (ciência da plataforma, não data do fato no banco). Em dados históricos raros pode ser null — o bloco erro continua presente.
Código Descrição
200 OK Consulta realizada com sucesso
400 Bad Request Token malformado
404 Not Found Boleto não existe ou foi excluído
Terminal window
# Pelo token da Boleto Cloud
curl "https://sandbox.boletocloud.com/api/v1/boletos/TOKEN_DO_BOLETO/situacao" \
-H "Accept: application/json" \
-u "api-key_SUA-API-KEY:token"
# Pelo identificador do seu sistema (tokenControleUsuario)
curl "https://sandbox.boletocloud.com/api/v1/boletos/controle/pedido-12345/situacao" \
-H "Accept: application/json" \
-u "api-key_SUA-API-KEY:token"