ConsultasDeVeiculos.SDK
1.0.3
dotnet add package ConsultasDeVeiculos.SDK --version 1.0.3
NuGet\Install-Package ConsultasDeVeiculos.SDK -Version 1.0.3
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="ConsultasDeVeiculos.SDK" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConsultasDeVeiculos.SDK" Version="1.0.3" />
<PackageReference Include="ConsultasDeVeiculos.SDK" />
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 ConsultasDeVeiculos.SDK --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ConsultasDeVeiculos.SDK, 1.0.3"
#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 ConsultasDeVeiculos.SDK@1.0.3
#: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=ConsultasDeVeiculos.SDK&version=1.0.3
#tool nuget:?package=ConsultasDeVeiculos.SDK&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ConsultasDeVeiculos SDK (.NET)
SDK .NET dinâmica para consultas de veículos, baseada em coleções Postman.
🚀 Visão Geral
Esta SDK funciona como um Runtime Engine que consome endpoints definidos em uma coleção Postman, sem necessidade de implementação manual de cada endpoint.
Endpoints são gerados dinamicamente a partir da coleção Postman.
Características
- ✅ 100% Cross-platform: Windows, Linux e macOS
- ✅ Slug-based API: Chamadas simples via
client.ExecuteAsync("veiculos_agregados") - ✅ Dynamic support: Use
dynamicpara chamadas similares ao JavaScript - ✅ Modo Sandbox: Teste sem conexão com a API real
- ✅ 177 endpoints: Gerados automaticamente da coleção Postman
- ✅ CLI Completo: Liste endpoints disponíveis
- ✅ .NET 10: Última versão do .NET
📦 Instalação
Via NuGet
dotnet add package ConsultasDeVeiculos.SDK
CLI Tool
dotnet tool install -g ConsultasDeVeiculos.SDK.Cli
🏁 Início Rápido
Configuração via .env
Copie o arquivo .env.example para .env e configure:
cp .env.example .env
# Token de autenticação da API (obrigatório em produção)
API_TOKEN=SEU_TOKEN_AQUI
# URL de download do postman.json (opcional)
DOWNLOAD_URL=https://painel.consultasdeveiculos.com/download-postman
# URL base da API (opcional)
API_BASE_URL=https://api.consultasdeveiculos.com
# Timeout das requisições em ms (opcional - padrão: 30000)
# API_TIMEOUT=30000
# Número máximo de retries (opcional - padrão: 3)
# API_MAX_RETRIES=3
Então use:
using ConsultasDeVeiculos.SDK;
// Carrega .env automaticamente e cria o client
var client = ConsultadeveiculosSDK.FromEnv();
var resultado = await client.ExecuteAsync("veiculos_agregados", new Dictionary<string, object?>
{
["placa"] = "ABC1234"
});
Modo Produção (via código)
using ConsultasDeVeiculos.SDK;
using ConsultasDeVeiculos.SDK.Core;
// Inicializa com token obrigatório
var client = new ConsultadeveiculosSDK(new SDKOptions
{
AuthToken = "SEU_TOKEN_AQUI"
});
// Consulta usando o slug do endpoint
var resultado = await client.ExecuteAsync("veiculos_agregados", new Dictionary<string, object?>
{
["placa"] = "ABC1234"
});
Console.WriteLine(resultado.Data);
Modo Sandbox
using ConsultasDeVeiculos.SDK;
using ConsultasDeVeiculos.SDK.Core;
// Via .env (modo sandbox)
var client = ConsultadeveiculosSDK.FromEnvSandbox();
// Ou via código
var client = new ConsultadeveiculosSDK(new SDKOptions
{
Sandbox = true
});
// As chamadas retornam respostas simuladas
var resultado = await client.ExecuteAsync("veiculos_agregados", new Dictionary<string, object?>
{
["placa"] = "ABC1234"
});
Console.WriteLine(resultado.Data); // Resposta de exemplo do Postman
Híbrido: .env + opções manuais
using ConsultasDeVeiculos.SDK;
using ConsultasDeVeiculos.SDK.Core;
// Carrega .env para variáveis de ambiente
DotEnv.Load();
// Cria options a partir do .env e complementa
var options = DotEnv.CreateOptionsFromEnvironment();
options.Timeout = 60000; // Sobrescreve timeout
var client = new ConsultadeveiculosSDK(options);
Usando Dynamic (similar ao JavaScript)
var client = new ConsultadeveiculosSDK(new SDKOptions { Sandbox = true });
dynamic sdk = client.AsDynamic();
// Chamada idêntica ao JavaScript
var resultado = await sdk.veiculos_agregados(new { placa = "ABC1234" });
Console.WriteLine(resultado.Status);
Usando Indexador
var client = new ConsultadeveiculosSDK(new SDKOptions { Sandbox = true });
var resultado = await client["veiculos_debitos_sp"].ExecuteAsync(new Dictionary<string, object?>
{
["placa"] = "ABC1234"
});
📖 API
Inicialização
// OPÇÃO 1: Via .env (recomendado)
var client = ConsultadeveiculosSDK.FromEnv();
// OPÇÃO 2: Via código
var client = new ConsultadeveiculosSDK(new SDKOptions
{
AuthToken = "TOKEN", // Obrigatório em produção
Sandbox = false, // Modo sandbox (padrão: false)
BaseUrl = "URL", // URL base customizada (opcional)
Timeout = 30000, // Timeout em ms (padrão: 30000)
MaxRetries = 3 // Máximo de retries (padrão: 3)
});
Variáveis de Ambiente (.env)
| Variável | Descrição | Padrão |
|---|---|---|
API_TOKEN |
Token de autenticação | (obrigatório) |
API_BASE_URL |
URL base da API | https://api.consultasdeveiculos.com |
DOWNLOAD_URL |
URL de download do postman.json | https://painel.consultasdeveiculos.com/download-postman |
API_TIMEOUT |
Timeout em ms | 30000 |
API_MAX_RETRIES |
Máximo de retries | 3 |
Como Chamar Endpoints
O slug é derivado da URL do endpoint, substituindo / e - por _:
| URL do Endpoint | Slug para Chamar |
|---|---|
/veiculos/agregados |
ExecuteAsync("veiculos_agregados") |
/veiculos/debitos-sp |
ExecuteAsync("veiculos_debitos_sp") |
/cnh/nacional/simples |
ExecuteAsync("cnh_nacional_simples") |
/pessoas/nome |
ExecuteAsync("pessoas_nome") |
Métodos Disponíveis
| Método | Descrição |
|---|---|
ExecuteAsync(slug, params) |
Executa endpoint pelo slug |
GetInfo() |
Informações do SDK |
ListEndpoints() |
Lista todos os endpoints |
ListSlugs() |
Lista apenas os slugs |
AsDynamic() |
Wrapper dinâmico para chamadas fluentes |
Tratamento de Erros
using ConsultasDeVeiculos.SDK.Errors;
try
{
var result = await client.ExecuteAsync("veiculos_agregados", params);
}
catch (AuthenticationException ex)
{
// Token inválido ou expirado
}
catch (ValidationException ex)
{
// Dados de entrada inválidos
}
catch (RateLimitException ex)
{
// Rate limit - aguardar ex.RetryAfter segundos
}
catch (EndpointNotFoundException ex)
{
// Slug não encontrado
}
catch (SDKException ex)
{
// Outro erro genérico da SDK
}
🖥️ CLI
# Lista todos os endpoints
consultas-de-veiculos-sdk endpoints
# Filtra endpoints
consultas-de-veiculos-sdk endpoints veiculos
# Com descrições
consultas-de-veiculos-sdk endpoints --verbose
# Versão
consultas-de-veiculos-sdk version
# Diagnóstico
consultas-de-veiculos-sdk doctor
# Atualizar especificação
consultas-de-veiculos-sdk update
# Limpar cache
consultas-de-veiculos-sdk clear-cache
🏗️ Estrutura do Projeto
ConsultasDeVeiculos.SDK/
├── src/
│ ├── ConsultasDeVeiculos.SDK/ # Biblioteca principal
│ │ ├── Core/ # Classes core (Models, Config, Registry)
│ │ ├── Transport/ # Camada de transporte (HTTP, Sandbox)
│ │ ├── Parser/ # Parsers de coleção Postman
│ │ ├── Errors/ # Exceções tipadas
│ │ ├── ConsultadeveiculosSDK.cs # Classe principal
│ │ └── DynamicSDK.cs # Wrapper dinâmico
│ └── ConsultasDeVeiculos.SDK.Cli/ # Ferramenta CLI
├── tests/
│ └── ConsultasDeVeiculos.SDK.Tests/ # Testes unitários (xUnit)
├── examples/ # Exemplos de uso
├── spec/ # Especificação Postman
└── ConsultasDeVeiculos.SDK.sln # Solution
🔧 Desenvolvimento
Pré-requisitos
- .NET 10 SDK ou superior
Build
dotnet build
Testes
dotnet test
Executar CLI
dotnet run --project src/ConsultasDeVeiculos.SDK.Cli -- endpoints
📋 Compatibilidade
| Plataforma | Suporte |
|---|---|
| Windows x64 | ✅ |
| Windows ARM64 | ✅ |
| Linux x64 | ✅ |
| Linux ARM64 | ✅ |
| macOS x64 | ✅ |
| macOS ARM64 (Apple Silicon) | ✅ |
📄 Licença
MIT - DATACUBE SERVICO DE INFORMACAO VIA WEB LTDA
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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.
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.3 | 118 | 8/5/2026 |