---
title: "SDK C# / .NET"
lang: pt-BR
canonical: https://doc.apibrasil.io/sdks/csharp
markdown: https://doc.apibrasil.io/sdks/csharp.md
source: apibrasil-documentation
---

# SDK C# / .NET

- **Situação:** publicado
- **Instalação:** `dotnet add package ApiBrasil`
- **Registry:** NuGet — https://www.nuget.org/packages/ApiBrasil
- **Repositório:** https://github.com/APIBrasil/apigratis-nuget-dotnet

## Não invente a assinatura

NÃO INVENTE A API DO SDK DE C# / .NET. Cada biblioteca deste catálogo tem construtor, nomes de método e formato de retorno próprios, e nenhum deles se deduz do nome do pacote. Abra o README do repositório acima e use exatamente o que está escrito lá. Se você não conseguir abrir o repositório, NÃO CHUTE: escreva o cliente em HTTP puro, seguindo a seção abaixo, e diga na resposta que foi isso que você fez e por quê.

## Como autenticar

O Bearer vai no cabeçalho Authorization, em toda chamada. O DeviceToken só nas APIs cobradas por plano — as por crédito não pedem. É o mesmo par que o SDK põe por você.

Com homolog verdadeiro no corpo, o gateway responde de uma base fixa. O CPF 00000000000 é o dela e não é de ninguém.

## O repositório no GitHub

- **Estrelas:** 2
- **Forks:** 0
- **Issues abertas:** 0
- **Linguagem:** Não detectada
- **Licença:** Não declarada
- **Último envio:** 11 de julho de 2023
- **git clone:** `https://github.com/APIBrasil/apigratis-nuget-dotnet.git`

## README do repositório

Reproduzido do repositório, no ramo padrão. É a documentação de quem mantém a biblioteca: a assinatura do SDK é o que está aqui, e não o que se deduz do nome do pacote.

# Pacote NuGet Dotnet - APIGratis by API BRASIL
Conjunto de API, para desenvolvedores.

Transforme seus projetos em soluções inteligentes com nossa API. Com recursos como API do WhatsApp, geolocalização, rastreamento de encomendas, verificação de CPF/CNPJ e mais, você pode criar soluções eficientes e funcionais.

# Canais de suporte (Comunidade)
[![WhatsApp Group](https://img.shields.io/badge/WhatsApp-Group-25D366?logo=whatsapp)](https://chat.whatsapp.com/KsxrUGIPWvUBYAjI1ogaGs)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-32AFED?logo=telegram)](https://t.me/apigratisoficial)

# Obtenha suas credenciais
https://apibrasil.com.br/

# Exemplo 

AppSettings.Json
```
"ApiBrasilConfiguration": {
        "SecretKey": "mySecretKey",
        "PublicToken": "myPublicToken",
        "DeviceToken": "myDeviceToken",
        "Authorization": "myAuthorization"
    }
```

Option Pattern importing ApiBrasil.Domain
Program.cs
```
builder.Services.Configure<ApiBrasilConfiguration>(builder.Configuration.GetSection("ApiBrasilConfiguration"));
```

Example
```
import ApiBrasil;

private readonly ApiBrasilConfiguration _apiBrasil;

public Construct(IOptions<ApiBrasilConfiguration> apibrasil)
{
    _apiBrasil = apibrasil.Value;
}

public class ApiBrasilDto
{
    public string Type { get; set; }
    public string Action { get; set; }
    public object Content { get; set; }
}

[HttpPost("v1/apibrasil")]
public async Task<IActionResult> TestApiBrasil([FromBody] ApiBrasilDto var)
{
    try
    {
        var result = await ApiBrasil.GenericCaller.Call(var.Type, var.Action, var.Content, _apiBrasil);

        return Ok(result);
    }
    catch (Exception ex)
    {
        return StatusCode(500, ex);
    }
}
```

## A mesma API por HTTP

Endereço base: https://gateway.apibrasil.io/api/v2
O caminho e o método de cada endpoint estão na página daquela API nesta documentação. Não deduza rota a partir do nome do serviço.

### Autenticação, em cabeçalhos HTTP
- `Authorization: Bearer SEU_TOKEN` — em toda chamada.
- `DeviceToken: SEU_DEVICE_TOKEN` — só nas APIs cobradas por plano; as cobradas por crédito não pedem. O nome exato do cabeçalho é o que a página do endpoint declara.

```bash
curl -X POST https://gateway.apibrasil.io/api/v2/dados/cpf \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cpf": "00000000000", "homolog": true}'
```

Com `homolog` verdadeiro no corpo, o gateway responde de uma base fixa e não consome crédito. O CPF 00000000000 é dessa base e não é de ninguém — use-o nos testes, nunca em produção.

## As outras linguagens

- [C++](https://doc.apibrasil.io/sdks/cpp.md): `git clone https://github.com/APIBrasil/apigratis-sdk-cpp`
- [Python](https://doc.apibrasil.io/sdks/python.md): `pip install api-brasil`
- [Lua](https://doc.apibrasil.io/sdks/lua.md): `luarocks install apibrasil`
- [PHP](https://doc.apibrasil.io/sdks/php.md): `composer require jhowbhz/apigratis-sdk-php`
- [Java](https://doc.apibrasil.io/sdks/java.md): `mvn dependency:get -Dartifact=br.com.apibrasil:apigratis-sdk-java:0.0.1`
- [Ruby](https://doc.apibrasil.io/sdks/ruby.md): `gem install apigratis-sdk-ruby`
- [Node.js / TypeScript](https://doc.apibrasil.io/sdks/javascript.md): `npm install apigratis-sdk-nodejs`
- [Go](https://doc.apibrasil.io/sdks/go.md): `go get github.com/APIBrasil/apigratis-sdk-go`
- [Rust](https://doc.apibrasil.io/sdks/rust.md): `cargo add apibrasil`
- [Dart / Flutter](https://doc.apibrasil.io/sdks/flutter.md): `flutter pub add apigratis_sdk_flutter`
- [Elixir](https://doc.apibrasil.io/sdks/elixir.md): `mix deps.get  # com {:apibrasil, "~> 0.0.1"} no mix.exs`

## Ver também

- SDKs oficiais: [SDKs oficiais](https://doc.apibrasil.io/sdks.md)
- Índice da documentação: https://doc.apibrasil.io/llms.txt
- Versão HTML desta página: https://doc.apibrasil.io/sdks/csharp
