Pitch: Pare de manter listas de bancos na mão: criei uma biblioteca para validar bancos brasileiros e gerar SVGs oficiais
Toda integração bancária no Brasil acaba esbarrando no mesmo problema.
Você recebe um código COMPE (001, 033, 341...), um ISPB ou o nome de um banco e precisa descobrir se aquele dado é válido.
Até aí tudo bem.
O problema começa quando você precisa repetir esse processo em vários projetos.
Em pouco tempo você acaba tendo:
- uma lista de bancos copiada do Banco Central;
- um arquivo JSON esquecido em algum repositório;
- uma função para validar COMPE;
- outra para procurar ISPB;
- outra para buscar pelo nome;
- e, em algum momento, alguém pergunta:
"Tem como mostrar o logo do banco também?"
Foi exatamente esse cenário que me motivou a criar a bank-check-br.
O problema
O Banco Central disponibiliza oficialmente a relação das instituições financeiras participantes do Sistema de Pagamentos Brasileiro.
Mas consumir esses dados na prática não é tão agradável.
Normalmente você precisa:
- baixar o CSV oficial;
- converter para JSON;
- criar índices de busca;
- validar códigos;
- manter tudo atualizado;
- procurar logos em outro lugar.
Cada projeto acaba implementando exatamente a mesma infraestrutura.
A ideia
Em vez de repetir esse trabalho, resolvi transformar tudo em uma única biblioteca.
A bank-check-br faz quatro coisas:
- valida bancos pelo código COMPE;
- busca bancos por ISPB;
- permite pesquisar por nome;
- gera SVGs de mais de 40 bancos brasileiros.
Tudo utilizando dados oficiais do Banco Central.
Um exemplo
Instalação:
npm install bank-check-br
Uso:
import { validarBanco } from "bank-check-br";
const banco = await validarBanco("033");
console.log(banco.nomeExtenso);
// BANCO SANTANDER (BRASIL) S.A.
Também é possível gerar o SVG da instituição:
import { gerarSVG } from "bank-check-br";
const svg = gerarSVG("Santander");
Sem baixar imagens.
Sem acessar CDN.
Sem depender de APIs externas.
O que existe por baixo
Apesar da API ser simples, a biblioteca resolve alguns problemas que normalmente acabam sendo reimplementados em cada projeto.
- atualização a partir do CSV oficial do Banco Central;
- cache em memória;
- busca otimizada;
- tipagem completa em TypeScript;
- compatibilidade com ESM e CommonJS.
A ideia foi deixar toda essa parte escondida para que o consumo seja o mais simples possível.
Por que isso importa?
Quem trabalha com fintechs, ERPs, gateways de pagamento ou sistemas financeiros provavelmente já precisou escrever algum código parecido.
O problema não é validar um banco.
O problema é que todo mundo acaba validando bancos da mesma forma, mantendo a mesma lista e resolvendo o mesmo problema repetidas vezes.
A bank-check-br tenta eliminar esse trabalho repetitivo.
Código aberto
A biblioteca é open source e ainda está evoluindo.
Se encontrar algum banco sem SVG, alguma inconsistência nos dados ou tiver sugestões de funcionalidades, toda contribuição é bem-vinda.
Documentação:
https://dinhosilwa.github.io/bank-check-br/
GitHub:
https://github.com/dinhoSilwa/bank-check-br
npm:
https://www.npmjs.com/package/bank-check-br
Feedbacks, Issues e Pull Requests são sempre bem-vindos.