feat(banks): adiciona busca por nome, código ou ISPB em /banks/v1 by Gabriel-Richard-dev · Pull Request #927 · BrasilAPI/BrasilAPI · GitHub
Skip to content

feat(banks): adiciona busca por nome, código ou ISPB em /banks/v1 - #927

Open
Gabriel-Richard-dev wants to merge 2 commits into
BrasilAPI:mainfrom
Gabriel-Richard-dev:feat/banks-search
Open

Gabriel-Richard-dev wants to merge 2 commits into
BrasilAPI:mainfrom
Gabriel-Richard-dev:feat/banks-search

Conversation

@Gabriel-Richard-dev

@Gabriel-Richard-dev Gabriel-Richard-dev commented Oct 16, 2026 •

Copy link
Copy Markdown

📋 Descrição

Adiciona o query param opcional search em GET /api/banks/v1, para buscar bancos por trecho do nome, código bancário ou ISPB:

  • Texto → compara com name e fullName (sem diferenciar maiúsculas e acentos). Ex.: ?search=pagamentos
  • Numérico → compara com code (igualdade) e ispb (trecho). Ex.: ?search=260, ?search=18236120
  • Sem resultados → 200 com []
  • search vazio, só espaços, repetido (?search=a&search=b) ou com mais de 100 caracteres → 400 (BANK_SEARCH_INVALID)

Sem o parâmetro, a resposta é idêntica à atual.

Retoma a ideia do #285 (fechado por inatividade), seguindo o feedback da revisão de lá: os testes não fixam a lista de bancos, só validam que cada resultado bate com o termo buscado.

🎯 Tipo de Mudança

  • ✨ Nova funcionalidade (mudança que adiciona funcionalidade)

⚠️ Checklist de Compatibilidade (CRÍTICO)

  • ✅ Não remove campos de respostas de API existentes
  • ✅ Não renomeia campos de respostas de API existentes
  • ✅ Não muda tipos de dados de campos existentes (string → number, etc.)
  • ✅ Não muda o formato de URLs de endpoints existentes
  • ✅ Não muda códigos de status HTTP de endpoints existentes

📚 Checklist de Documentação

  • ✅ Atualizei ou criei documentação OpenAPI em /pages/docs/doc/ (bank.json: parâmetro search e resposta 400 com ErrorMessage)
  • ✅ Documentação inclui exemplos de requisição e resposta
  • ✅ Documentação está em português

🧪 Checklist de Testes

  • ✅ Criei ou atualizei testes E2E (tests/banks-v1.test.js)
  • ✅ Todos os testes passam localmente (npm test -- tests/banks-v1.test.js: 14/14)
  • ✅ Teste de CORS funciona corretamente
  • ✅ Testei casos de erro (400)
  • ✅ Testei casos de sucesso (nome, acentos, código, ISPB, sem resultados)

💻 Checklist de Código

  • ✅ Código segue os padrões do projeto (ESLint + Prettier)
  • ✅ Não adicionei dependências desnecessárias ou pesadas
  • ✅ Código não expõe credenciais ou informações sensíveis
  • ✅ Validei todos os inputs de usuário
  • ✅ Usei Conventional Commits

🚀 Checklist de Performance e Custos

  • ✅ Não adicionei processamento pesado que aumenta custos (filtro em memória sobre os dados já cacheados por getBanksData)
  • ✅ Minimizei chamadas a APIs externas (nenhuma chamada nova)

🔍 Como Testar

  1. npm run dev
  2. curl 'http://localhost:3000/api/banks/v1?search=pagamentos'
  3. curl 'http://localhost:3000/api/banks/v1?search=260'
  4. curl -i 'http://localhost:3000/api/banks/v1?search=' → 400

📎 Issues Relacionadas

Closes #282

Aceita o query param opcional `search` em GET /api/banks/v1, filtrando
por trecho de name/fullName (sem diferenciar maiúsculas e acentos) ou,
para termos numéricos, por code (igualdade) e ispb (trecho).
Sem o parâmetro, a resposta continua idêntica.

Closes BrasilAPI#282
@vercel

vercel Bot commented Oct 16, 2026

Copy link
Copy Markdown

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API Bancos - Busca por código bancário ou trecho de nome

1 participant