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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LeadSoft.Adapter.BrasilAPI" Version="9.1.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LeadSoft.Adapter.BrasilAPI" Version="9.1.4" />
                    
Directory.Packages.props
<PackageReference Include="LeadSoft.Adapter.BrasilAPI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LeadSoft.Adapter.BrasilAPI --version 9.1.4
                    
#r "nuget: LeadSoft.Adapter.BrasilAPI, 9.1.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LeadSoft.Adapter.BrasilAPI@9.1.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LeadSoft.Adapter.BrasilAPI&version=9.1.4
                    
Install as a Cake Addin
#tool nuget:?package=LeadSoft.Adapter.BrasilAPI&version=9.1.4
                    
Install as a Cake Tool

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 de HttpClient 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 usar IHttpClientFactory.
  • 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 no HttpClient 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

developers@leadsoft.inf.br.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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