LeadSoft.Adapter.BrasilAPI
9.1.4
dotnet add package LeadSoft.Adapter.BrasilAPI --version 9.1.4
NuGet\Install-Package LeadSoft.Adapter.BrasilAPI -Version 9.1.4
<PackageReference Include="LeadSoft.Adapter.BrasilAPI" Version="9.1.4" />
<PackageVersion Include="LeadSoft.Adapter.BrasilAPI" Version="9.1.4" />
<PackageReference Include="LeadSoft.Adapter.BrasilAPI" />
paket add LeadSoft.Adapter.BrasilAPI --version 9.1.4
#r "nuget: LeadSoft.Adapter.BrasilAPI, 9.1.4"
#:package LeadSoft.Adapter.BrasilAPI@9.1.4
#addin nuget:?package=LeadSoft.Adapter.BrasilAPI&version=9.1.4
#tool nuget:?package=LeadSoft.Adapter.BrasilAPI&version=9.1.4
LeadSoft® Brasil Api Integration Adapter
LeadSoft.Adapter.BrasilAPI
Adapter .NET para integrar com serviços públicos da BrasilAPI (https://brasilapi.com.br/). Fornece uma camada simples e testável para consumir endpoints públicos da BrasilAPI (ex.: Bancos, CNPJ, Feriados, etc.), encapsulando chamadas HTTP, mapeamento de modelos e tratamento de erros de forma consistente para aplicações .NET 9.
Este pacote é um tributo independente e não é afiliado oficialmente à BrasilAPI. Somos gratos pela iniciativa de disponibilizar dados públicos de forma aberta. Conheça o projeto oficial e utilizando este pacote, você concorda automaticamente com os termos de uso da BrasilAPI.
Principais características
- Compatível com .NET 9.0.
- Chamadas assíncronas com
async
/await
. - Integração simples com Dependency Injection (DI) do .NET.
- Projetado para ser testável (injeção de
HttpClient
, separação de responsabilidades). - Tratamento centralizado de erros e respostas HTTP.
- Extensível para políticas de resiliência (ex.: Polly).
Métodos disponíveis
Task<DTOBrasilApiCnpjResponse> GetCnpjInfoAsync(string aCNPJ)
- Consulta dados de empresa pela string CNPJ.
Task<IList<DTOBrasilApiBankResponse>> GetBanksInfoAsync()
- Recupera a lista de bancos que operam no Brasil conhecida pela BrasilAPI.
Task<IList<DTOBrasilApiHolidayResponse>> GetHolidaysInfoAsync(int aYear)
- Retorna os feriados do Brasil para o ano informado.
Instalação
Pelo CLI do .NET:
dotnet add package LeadSoft.Adapter.BrasilAPI
Ou via NuGet Package Manager no Visual Studio (pesquise por LeadSoft.Adapter.BrasilAPI
).
Uso básico (exemplo)
Abaixo um exemplo genérico de como registrar e usar o adapter em uma aplicação ASP.NET Core / Console com DI e IHttpClientFactory
.
// Program.cs (exemplo)
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using LeadSoft.Adapter.BrasilAPI;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
//...
builder.Logging.AddBrasilApi(); //builder.Logging.AddBrasilApi(true); para injeção em singleton
//...
WebApplication app = builder.Build();
app.Run();
Exemplo de chamada (pseudocódigo; adapte para os tipos reais do pacote):
string cnpj = "38.0443.762/0001-48";
DTOBrasilApiCnpjResponse dto = await new BrasilApi().GetCnpjInfoAsync(cnpj);
Configuração recomendada
- Use
IHttpClientFactory
(ex.:services.AddHttpClient(...)
) para gerenciar instâncias deHttpClient
de forma segura. - Configure timeouts e cabeçalhos (User-Agent) apropriados.
- Adicione políticas de resiliência com Polly (retries exponenciais, circuit-breaker) para lidar com intermitências da rede.
- Logue chamadas importantes e erros com
ILogger<T>
para facilitar diagnóstico.
Boas práticas de integração
- Nunca crie instâncias estáticas de
HttpClient
sem usarIHttpClientFactory
. - Propague
CancellationToken
nas chamadas assíncronas. - Valide entradas (ex.: comprimentos de CNPJ) antes de chamar o adapter para evitar chamadas desnecessárias.
- Centralize conversão/mapeamento de modelos se precisar adaptar respostas para seu domínio.
- Trate status HTTP não 2xx de forma explícita — o adapter deve expor erro detalhado para logging e retries.
Testes
- Ao escrever testes unitários, injete um
HttpMessageHandler
falso noHttpClient
para simular respostas da BrasilAPI. - Teste cenários de sucesso, 404/422 e falhas de rede/timeouts.
- Utilize fixtures para dados conhecidos (ex.: consultas de CNPJ válidos).
Versionamento e compatibilidade
- Projeto direcionado para .NET 9.0. Verifique a compatibilidade do pacote com sua aplicação.
- Seguir práticas de versionamento semântico: breaking changes → major, novas features → minor, correções → patch.
Licença
Consulte o arquivo de licença no repositório para detalhes sobre uso e redistribuição.
LeadSoft.Adapter.BrasilAPI — adapter leve e testável para facilitar a integração com serviços públicos da BrasilAPI em aplicações .NET 9.
Development
Desenvolvido pelo time da LeadSoft® Soluções Web.
- Lucas Resende Tavares
- Frederico Ferreira Bitencourt
- Pedro Foresti Leão
Nossa empresa
LeadSoft Soluções Web Ltda CNPJ 38.043.762/0001-48
Como nos encontrar:
INFORMAÇÕES DE CONTATO Se você tiver alguma dúvida sobre estes Termos ou Serviços, entre em contato conosco em
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- LeadSoft.Common.Library (>= 9.1.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on LeadSoft.Adapter.BrasilAPI:
Package | Downloads |
---|---|
LeadSoft.Common.GlobalDomain
LeadSoft® Common Global Domain and crossproject DTOs and Classes. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
9.1.4 | 102 | 9/16/2025 |
9.1.2 | 99 | 9/15/2025 |
9.1.1 | 99 | 9/13/2025 |
9.1.0 | 100 | 9/13/2025 |
9.0.3 | 166 | 8/19/2025 |
9.0.2 | 58 | 8/1/2025 |
9.0.1 | 202 | 7/11/2025 |
9.0.0 | 270 | 5/30/2025 |
8.0.9 | 330 | 4/24/2025 |
8.0.8 | 467 | 10/23/2024 |
8.0.7 | 438 | 8/12/2024 |
8.0.6 | 468 | 7/16/2024 |
8.0.5 | 381 | 7/1/2024 |
8.0.3 | 200 | 6/28/2024 |
8.0.2 | 253 | 6/18/2024 |
8.0.1 | 308 | 6/5/2024 |
8.0.0 | 327 | 5/28/2024 |
6.0.6 | 510 | 6/13/2023 |
6.0.5 | 1,870 | 11/9/2022 |
6.0.3 | 1,405 | 9/30/2022 |
6.0.2 | 1,015 | 9/16/2022 |
6.0.1 | 2,141 | 8/17/2022 |