Job: Baixa de Boletos Sicoob
📋 Descrição
Automatiza a baixa de boletos junto à API do Sicoob, processando títulos com ordem de cancelamento e registrando o retorno no sistema.
🔄 Fluxo de Execução
Seleção de Boletos
- Busca contas vinculadas ao Sicoob (banco_id = 26)
- Filtra boletos com status 'pendente_baixa' e deleted_at IS NULL
- Ordena por data de solicitação (FIFO)
Processamento em Lote
- Agrupa em lotes de até 500 boletos
- Respeita rate limit da API do Sicoob
Baixa Individual
- Envia requisição de baixa via API
- Registra resposta em tabela de log
- Atualiza deleted_at em caso de sucesso
- Marca erro e agenda retry em caso de falha
⏰ Agendamento
- Intervalo: a cada 10 minutos
- Janelas ativas: 04h-05h, 18h-19h, 20h-21h
- Motivação: Alinhamento com janelas de processamento do Sicoob
🛡️ Tratamento de Erros
- Timeout: 30 segundos por requisição
- Retry: até 3 tentativas com backoff exponencial
- Dead letter: boletos com falha persistente vão para fila de análise manual
📊 Monitoramento
- Log de todas as requisições em
boleto_baixa_logs - Métricas: taxa de sucesso, tempo médio, falhas por tipo
- Alertas: taxa de erro > 10% ou tempo de fila > 1 hora