Nova API de Câmbio (v1.0.1) & Testes Automatizados
💱 Câmbio v1 (PTAX)
Agora a BrasilAPI oferece cotações oficiais do Banco Central (PTAX).
- Lista de Moedas: Endpoint
/exchange/v1/coinspara listar todas as moedas disponíveis (USD, EUR, GBP, etc). - Cotação por Data: Endpoint
/exchange/v1/currency/{coin}/{date}para buscar a paridade de compra/venda em uma data específica. - Fallback Inteligente: Se você consultar uma data que não possui cotação (como domingos ou feriados), a API busca automaticamente o último dia útil disponível.
- Normalização Automática: Suporte a códigos de moeda em minúsculo ou maiúsculo através de transformação automática.
🧪 Testes de Alta Fidelidade
Garantimos que a nova API de Câmbio seja resiliente:
- 9 Testes Automatizados: Cobertura total para casos de sucesso, caminhos de erro (400, 422, 500) e lógica de fallback.
- Integração Bun: Execução ultra-rápida utilizando
bun:test.
📖 Documentação Automática (OpenAPI)
Melhoramos nosso workflow de documentação:
- Gerador OpenAPI: Novo script
generateOpenapiDocs.tsque automatiza a criação de páginas de documentação a partir do esquema OpenAPI. - Fumadocs Integration: Integração profunda com Fumadocs para gerar referências de API bonitas e navegáveis.
- Swagger Sync: Sincronização automática da versão da API com o
package.json.
🛠️ Melhorias Internas
- Versão 1.0.1: Incremento de versão para refletir as novas funcionalidades.
- Organização de Sidebar: Refinamento dos grupos de documentação no menu lateral.
- Dependências: Adição de
date-fnserimrafpara suporte às novas funcionalidades de data e scripts de limpeza.
A BrasilAPI continua crescendo! Aproveite as novas ferramentas de câmbio.
Lançamento da Versão 1.0.0 & Novo Visual
🚀 Destaques desta Versão
A BrasilAPI alcançou a estabilidade para a Versão 1.0.0! Com isso, trouxemos uma série de melhorias para tornar a exploração da nossa documentação e o acompanhamento das mudanças muito mais fluidos.
🎨 Nova Experiência de Changelogs
Reformulamos completamente a página de histórico de alterações:
- Design de Linha do Tempo: Agora você pode visualizar as atualizações em uma interface de linha do tempo moderna e intuitiva.
- Categorização por Tags: Cada entrada agora suporta tags, facilitando o filtro visual do que mudou.
- Renderização MDX Dinâmica: O conteúdo dos changelogs agora suporta Markdown completo diretamente na linha do tempo.
🧭 Navegação Primária
- Atalho na Documentação: Adicionamos um link direto para os Changelogs no menu lateral da documentação, garantindo que você nunca perca uma novidade.
- Suave como seda: Implementamos scroll suave (
scroll-behavior: smooth) em toda a aplicação para uma navegação mais confortável.
🧪 Testes Automatizados
Introduzimos uma suíte de testes robusta para garantir a confiabilidade das nossas APIs:
- Bancos, CEP e DDD: Cobertura de testes para as principais rotas, validando dados de sucesso e tratamento de erros (404 e 422).
- Bun Test: Aproveitando a performance do Bun para execuções de teste ultra-rápidas.
📖 Documentação OpenAPI
Agora nossa documentação reflete oficialmente as seguintes categorias de serviço:
- BANKS: Informações abrangentes sobre o sistema bancário brasileiro.
- CEP: Busca tradicional de endereços por CEP.
- CEP-V2: Versão avançada com geolocalização integrada (latitude/longitude), permitindo integrações com mapas e serviços de logística.
- DDD: Consulta baseada em códigos de Discagem Direta à Distância, permitindo filtrar por estados e cidades.
🛠️ Ajustes Técnicos & Estabilidade
- Otimização Next.js: Corrigimos comportamentos em Server Components, garantindo melhor performance e conformidade com as melhores práticas do Next.js 15.
- Metadados Dinâmicos: Melhoramos a geração de SEO e metadados para garantir que cada página seja bem indexada e compartilhável.
Este é apenas o começo da jornada 1.0.0 Aproveite as novas funcionalidades!
Correção na Validação de CEP
🛠️ Correções de Erros (Bug Fixes)
Nesta atualização, focamos em resolver uma inconsistência nas mensagens de retorno da nossa API de busca por CEP.
📮 Validação de Mensagens de CEP
Anteriormente, ao informar um CEP com menos de 8 caracteres (como 4 dígitos), a API retornava erroneamente uma mensagem dizendo que o CEP possuía mais de 8 caracteres.
- O que mudou: Corrigimos a lógica de validação para diferenciar corretamente entre CEPs curtos e longos, retornando a mensagem apropriada para cada caso.
- Impacto: Melhora a experiência do desenvolvedor ao integrar e depurar chamadas de API, fornecendo feedbacks mais precisos.
🧪 Reforço nos Testes E2E
Como parte desta correção, adicionamos novos casos de teste de ponta a ponta (E2E) para as versões V1 e V2 da API de CEP, garantindo que este comportamento não volte a ocorrer (regressão).
Agradecemos ao colaborador @vhenckel pela contribuição e abertura do PR #774 que resolveu a issue #730.
Validação Inicial de CEP
🛠️ Pequenas Correções
Nesta atualização, iniciamos o refinamento das mensagens de erro para a nossa API de CEP.
📮 Refinamento de Erros no CEP
Identificamos que a API estava retornando mensagens genéricas ou incorretas quando um CEP muito curto era enviado.
- Correção: Ajustamos o validador para identificar CEPs com menos de 8 caracteres e retornar uma mensagem de erro condizente com a entrada.
- Testes: Adicionados testes unitários básicos para validar essa nova regra de detecção.
Agradecemos ao colaborador @vhenckel por iniciar esta correção no commit cf4b205.
Instruções de Desenvolvimento & Refinamento DX
🛠️ DX & Experiência do Desenvolvedor
A BrasilAPI alcançou novos patamares de clareza e precisão:
- Novas Instruções: Introduzimos arquivos de instruções estruturadas em nosso fluxo de desenvolvimento e revisão de código, padronizando a qualidade técnica de cada nova funcionalidade.
- Limpeza de Natal: Removemos links quebrados do nosso README principal e realizamos um grande ajuste de lint para garantir a consistência do código.
📚 API de ISBN
- Tratamento de Erros: Corrigimos o comportamento da API de ISBN para retornar corretamente o código status 404 em cenários onde o livro não é encontrado, substituindo o errôneo status 500 em falhas de rede de provedores externos.
Encerramos o ano de 2025 com mais de 30% de melhoria na nossa base de testes e com a comunidade mais ativa do que nunca. Que venha 2026!
Testes Inteligentes & Melhoria na API de Bancos
⚙️ Infraestrutura & CI
Focamos na produtividade e em reduzir falhas falsas em nosso fluxo de trabalho:
- Testes Resilientes: Implementamos um sistema de testes inteligente que ignora automaticamente dependências externas quando estas estão offline, evitando bloqueios desnecessários no CI.
- Automação: Otimizamos o tempo médio de execução da nossa suíte de testes.
🏦 API de Bancos
- Dados Bancários: Corrigimos um problema de processamento em arquivos CSV do provedor de bancos, removendo linhas vazias que causavam erros intermitentes (Resolvendo #699).
A BrasilAPI continua evoluindo para ser a plataforma mais estável do ecossistema.
Padronização Global & Melhorias de Resposta
🚀 Novas Funcionalidades & Padronização
Agosto trouxe uma das maiores atualizações de conformidade e padronização:
- Respostas Padronizadas: Grande esforço para alinhar os retornos JSON de diversas rotas, incluindo CNPJ, CEP, DDD, CPTEC, ISBN, NCM e Feriados.
- Novo Campo CNPJ: Adicionamos o campo
cnpjexplicitamente na resposta da nossa API de consulta de empresas (Resolvendo a #691). - CEP v2: Corrigimos o formato de erro na versão v2 para manter a compatibilidade total com a biblioteca
CepPromise.
🛠️ Resiliência
- Timeout Geocoding: Implementamos um timeout robusto no serviço Nominatim para evitar travamentos em requisições de geolocalização quando o servidor externo está instável.
A padronização das respostas ajuda todos os nossos usuários a integrarem de forma mais previsível!
Refinamento de Documentação Técnica
📖 Documentação & UX
Abril foi um mês de refinamento:
- CEP e CNPJ: Realizamos uma revisão completa na documentação destas rotas, adicionando exemplos reais de tratamento de erros e respostas para facilitar a depuração.
- Estruturação: Refatoramos a estrutura técnica dos arquivos de suporte para melhorar a performance de carregamento das páginas.
Documentação clara é o que faz a BrasilAPI ser amigável. Continuamos ouvindo o seu feedback!
Migração para Vitest & Ecossistema Swift
⚙️ Infraestrutura & Testes
Nesta atualização, focamos na performance do nosso ambiente de desenvolvimento:
- Migração Completa: Movemos toda a nossa suíte de testes do Jest para o Vitest – ganhando execuções mais rápidas e melhor integração com ferramentas modernas.
- Axios: Atualizamos a biblioteca de requisições HTTP para a versão mais recente, corrigindo vulnerabilidades de segurança.
🍏 Integrações
- Swift SPM: Adicionamos o pacote BrasilAPI ao Swift Package Manager (SPM), facilitando a integração para desenvolvedores que criam apps nativos para iOS e macOS.
A migração para o Vitest marca um novo passo na agilidade do CI da BrasilAPI.
Lançamento da API de Câmbio & Novo SEO
🚀 Novas Funcionalidades
Fevereiro foi um mês de grandes avanços, com o lançamento de uma das rotas mais solicitadas:
💱 Cotação de Moedas (Câmbio)
- Nova Rota: Implementamos
/cambio, permitindo consultar cotações oficiais e séries históricas. - CORS: Adicionamos suporte completo a CORS para a nova API, facilitando integrações front-end diretas.
- Refatoração: O sistema interno de moedas foi modernizado para suportar novos provedores.
📞 Melhorias no DDD
- Dígito 0: Implementamos o tratamento correto para consultas de DDD contendo o dígito 0, resolvendo a issue #622.
🛠️ Correções & Ajustes
- Datas Úteis: Corrigimos um bug na função
isWeekendque afetava a validação de dias úteis em feriados prolongados. - SEO & Sitemap: Atualizamos nossa estratégia de indexação com novos arquivos de sitemap e metadados de projeto para melhorar a visibilidade nos motores de busca.
Agradecemos a todos que contribuíram com feedbacks para o lançamento da API de Câmbio!
Atualização na Documentação de Bancos
📖 Documentação
Iniciamos o ano refinando a qualidade técnica da nossa documentação, focando especialmente na API de Bancos:
- Parâmetros de Rota: Adicionamos descrições mais detalhadas para cada parâmetro aceito.
- Esquemas de Resposta: Atualizamos os exemplos de retorno para refletir com mais precisão os dados reais.
Esta atualização visa facilitar a integração de novos desenvolvedores com as informações do sistema financeiro nacional.
Nova Rota de Veículos & Testes FIPE
🚀 Novas Rotas
Expandimos as capacidades de consulta de veículos da BrasilAPI:
- Listagem de Veículos: Lançamos a rota
/api/fipe/veiculos/v1para retornar a lista completa de modelos por marca e tipo de veículo direto em uma única chamada.
🧪 Qualidade de Código
- FIPE v1: Realizamos uma refatoração completa e melhoramos significativamente a cobertura de testes de ponta a ponta (E2E) para a API de Veículos FIPE v1.
- Integração: Adicionamos novos cenários de testes para garantir que as buscas de veículos via FIPE permaneçam precisas e rápidas.
Agradecemos ao autor do PR #645 pela nova funcionalidade de listagem!
Migração para Node 20 & Melhorias de Infraestrutura
⚙️ Infraestrutura & Performance
Atualizamos o núcleo da BrasilAPI:
- Node.js 20: Migramos o projeto para a versão 20 do Node.js (PR #589), garantindo maior estabilidade e suporte a novas APIs do runtime.
- Next-Connect: Atualizamos o gerenciador de rotas para a v0.12.1, melhorando a escalabilidade das nossas funções de API.
📞 Serviços de DDD
- Precision Search: Implementamos um tratamento especial para lidar com zeros à esquerda em códigos de DDD em consultas de cidades, resolvendo uma falha histórica de precisão (Resolvendo #641).
🛠️ Resiliência
- Rate Limits: Ajustamos a lógica de tentativas em testes automáticos das APIs de FIPE e CPTEC para lidar melhor com limites de requisição de provedores externos.
Com o Node 20, a BrasilAPI está mais robusta e pronta para crescer ainda mais!
Atualização Direta de Base de Dados (CEPs)
📮 Base de CEPs
Nesta atualização, reforçamos a precisão das buscas geográficas:
- Novos Logradouros: Importamos a base de dados mais recente de CEPs para todo o Brasil, adicionando milhares de novos endereços e corrigindo códigos postais desatualizados (Resolvendo #613).
- Unidades Federativas: Corrigimos um problema de inconsistência em algumas listas de UF (Unidades Federativas) que estavam retornando valores nulos ou vazios.
⚙️ Estabilidade
- Validações de Payload: Implementamos novas camadas de validação para as respostas da API, reduzindo o número de retornos indefinidos em cenários de falha parcial de provedores.
Mantenha sua aplicação atualizada com os dados mais frescos do Brasil!
OpenCEP & Feriados Nacionais
📆 Feriados Nacionais
Estamos sempre atualizando nossos dados com base nas legislações vigentes:
- Consciência Negra: Adicionamos o dia 20 de novembro como feriado nacional em nossa API de Feriados, em conformidade com a nova lei federal.
📮 Provedores de CEP
- OpenCEP: Integramos o OpenCEP como uma nova fonte de dados confiável para consultas de CEP, aumentando a redundância e a precisão das buscas em todo o Brasil.
Agradecemos ao autor do PR #567 por ajudar a manter nossa API de Feriados sempre atualizada.
Suporte ao VLibras & Acessibilidade Digital
🚀 Acessibilidade
Fevereiro foi marcado pelo nosso compromisso com a inclusão digital:
- VLibras: Integramos o plugin oficial do VLibras em toda a nossa documentação, permitindo que usuários com deficiência auditiva tenham acesso ao conteúdo traduzido para a Língua Brasileira de Sinais.
⚙️ Infraestrutura
- CORS Testing: Adicionamos uma nova suíte de testes de integração específica para políticas de CORS, garantindo que nossas APIs possam ser consumidas via navegador sem bloqueios de segurança indevidos.
- Linting: Padronizamos o código-fonte seguindo as regras do ESLint, removendo inconsistências de estilo.
Agradecemos ao autor do PR #591 pela implementação do VLibras!
Melhoria na Busca por CEP Único
📮 API de CEP
Iniciamos o ano com uma correção importante para desenvolvedores que utilizam nossa API de CEP em municípios menores:
- Cidades de CEP Único: Melhoramos o tratamento de erros e a precisão da resposta quando um código postal é informado para cidades que não possuem detalhamento por logradouro.
- Resiliência: Refinamos a lógica de fallback entre provedores para garantir que a resposta seja entregue mesmo em instabilidades de fontes externas.
Agradecemos ao colaborador que abriu o PR #542 para esta melhoria!