Pular para o conteúdo

Arquivo de Retorno CNAB

O arquivo de retorno é um arquivo de texto no formato CNAB (Centro Nacional de Automação Bancária) que contém as informações enviadas pelo banco sobre os boletos: confirmações de registro, pagamentos, baixas, protestos e outras ocorrências.

CaracterísticaDescrição
OrigemBanco/PSP
FormatoCNAB 240 ou CNAB 400 (conforme banco)
ConteúdoOcorrências dos boletos (pagamentos, registros, baixas, etc.)
FrequênciaDefinida por cada instituição financeira (pode haver múltiplos arquivos por dia)
ProcessamentoVia API ou automaticamente (plano personalizado)
AspectoDescrição
Múltiplos RetornosO banco pode gerar arquivos de retorno sempre que houver eventos de movimentação (baixas, pagamentos, protestos), resultando em vários arquivos ao longo de um único dia
PIX e PagamentosPagamentos via PIX costumam ser gerados em um arquivo CNAB separado dos outros pagamentos
CNAB 240 vs 400O padrão CNAB 240, mais moderno, é mais flexível para múltiplas transações diárias do que o antigo 400, facilitando a conciliação automática
FrequênciaA frequência de envio de arquivos é definida por cada instituição financeira e pode ser configurada junto ao banco

A API oferece três formas de trabalhar com arquivos de retorno, dependendo do seu plano e configuração:

PlanoMétodoDescrição
GratuitoUpload manualVocê envia o arquivo de retorno via POST e recebe o JSON processado
Personalizado (VAN)AutomáticoO arquivo é recepcionado automaticamente pela VAN e fica disponível para consulta
Personalizado (API Bancária)AutomáticoAs informações são recebidas via API do banco e disponibilizadas como retorno virtual


O processamento de retorno se encaixa na etapa final do ciclo, após o banco processar os boletos:

┌─────────────────────────────────────────────────────────────────────┐
│ CRIAÇÃO DOS BOLETOS │
│ │
│ POST /boletos, /carnes, /batch/boletos │
│ ► Boletos criados com boleto.conta.token │
└────────────────────────────────────┬────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ REGISTRO NO BANCO │
│ │
│ Via CNAB Remessa, API Bancária ou VAN │
│ ► Boletos enviados para registro │
└────────────────────────────────────┬────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ BANCO PROCESSA │
│ │
│ ► Confirma registros │
│ ► Recebe pagamentos │
│ ► Processa baixas/protestos │
└────────────────────────────────────┬────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ ★ PROCESSAR ARQUIVO DE RETORNO ★ │
│ │
│ POST /arquivos/cnab/retornos (manual) │
│ GET /arquivos/cnab/retornos/{token} (automático) │
│ │
│ ► Boletos atualizados: REGISTRADO, PAGO, BAIXADO, etc. │
└─────────────────────────────────────────────────────────────────────┘

O arquivo de retorno pode conter diversos tipos de ocorrência:

SituaçãoDescriçãoAção Recomendada
LIQUIDACAOBoleto foi pagoDar baixa no sistema, liberar produto/serviço
REGISTRO_CONFIRMADORegistro confirmado pelo bancoBoleto está ativo para pagamento
REGISTRO_REJEITADORegistro rejeitado pelo bancoVerificar motivos e corrigir dados
BAIXABoleto foi baixadoAtualizar status no sistema
PROTESTOBoleto foi protestadoAtualizar status, notificar cliente
CANCELAMENTO_PROTESTOProtesto foi canceladoAtualizar status
ABATIMENTOAbatimento concedidoAtualizar valor do boleto
CANCELAMENTO_ABATIMENTOAbatimento canceladoRestaurar valor original
ALTERACAO_VENCIMENTOVencimento alteradoAtualizar data no sistema

Todos os endpoints retornam um JSON com a seguinte estrutura:

{
"arquivo": {
"meta": {
"token": "token-do-arquivo",
"criado": "2024-01-15T10:30:00Z"
},
"protocolo": {
"banco": {
"codigo": "237",
"nome": "BRADESCO"
},
"numero": 12345,
"gravacao": "2024-01-14"
},
"titulos": [
{
"token": "token-do-boleto",
"numero": "00000000001-0",
"documento": "DOC-001",
"valor": 150.00,
"vencimento": "2024-01-20",
"ocorrencias": [...]
}
]
}
}

  1. Baixar arquivo do Internet Banking do banco
  2. Enviar arquivo via Processar Retorno
  3. Receber JSON com as ocorrências processadas
  4. Atualizar sistema com base nas ocorrências (pagamentos, baixas, etc.)
  1. Consultar retornos via Listar Retornos informando data e conta
  2. Para cada token retornado, chamar Obter Retorno
  3. Processar JSON com as ocorrências
  4. Atualizar sistema com base nas informações recebidas