Expand description
SDK oficial Rust da plataforma APIBrasil — WhatsApp, SMS, consultas de CPF/CNPJ, veículos, CEP, correios, pagamentos PIX/boleto e muito mais.
use apibrasil::{ApiBrasil, Config};
use serde_json::json;
#[tokio::main]
async fn main() -> apibrasil::Result<()> {
let api = ApiBrasil::new(
Config::new()
.bearer_token("SEU_BEARER_TOKEN") // JWT do login
.device_token("SEU_DEVICE_TOKEN"), // device dos serviços device-based
);
// WhatsApp
api.whatsapp()
.send_text(json!({ "number": "5511999999999", "text": "Olá! 👋" }))
.await?;
// Consulta CNPJ (por créditos)
let empresa = api.consulta().cnpj(json!({ "cnpj": "00000000000000" })).await?;
println!("{:?}", empresa.data());
Ok(())
}Credenciais não informadas são lidas das variáveis de ambiente
APIBRASIL_BEARER_TOKEN,
APIBRASIL_DEVICE_TOKEN,
APIBRASIL_SECRET_KEY e
APIBRASIL_BASE_URL — basta
ApiBrasil::from_env.
§Como a plataforma funciona
| Família | Autenticação | Exemplos |
|---|---|---|
| Device-based | Authorization: Bearer + header DeviceToken | WhatsApp, SMS, veículos, CEP, correios, DDD, feriados, tradução, clima, OCR |
| Por créditos | apenas Authorization: Bearer (debita saldo) | consulta: CPF, CNPJ, veículos, Serasa, CNH, telefone |
§Features
rustls-tls(padrão) — TLS via rustls, sem depender de OpenSSL.native-tls— TLS pela biblioteca do sistema.blocking— cliente síncrono emblocking, sobre um runtime Tokio próprio.
Re-exports§
pub use self::core::Config;pub use self::core::Consulta;pub use self::core::CreditResponse;pub use self::core::DeviceResponse;pub use self::core::Error;pub use self::core::ErrorKind;pub use self::core::FnHooks;pub use self::core::Hooks;pub use self::core::HttpClient;pub use self::core::IntoBody;pub use self::core::Json;pub use self::core::Method;pub use self::core::RequestHookInfo;pub use self::core::RequestOptions;pub use self::core::ReqwestTransport;pub use self::core::ResponseData;pub use self::core::ResponseHookInfo;pub use self::core::ResponseType;pub use self::core::Result;pub use self::core::RetryConfig;pub use self::core::RetryHookInfo;pub use self::core::Transport;pub use self::core::TransportRequest;pub use self::core::TransportResponse;pub use self::core::DEFAULT_BASE_URL;pub use self::core::DEFAULT_TIMEOUT;pub use self::core::USER_AGENT;pub use self::services::data::BulkService;pub use self::services::data::CepService;pub use self::services::data::ChipVirtualService;pub use self::services::data::ConsultaService;pub use self::services::data::CorreiosService;pub use self::services::data::DadosService;pub use self::services::data::DatabaseIpService;pub use self::services::data::DddService;pub use self::services::data::FipeService;pub use self::services::data::GeolocationService;pub use self::services::data::GeomatrixService;pub use self::services::data::HolidaysService;pub use self::services::data::LoteriasService;pub use self::services::data::RecognizeService;pub use self::services::data::TranslateService;pub use self::services::data::UraService;pub use self::services::data::VehiclesService;pub use self::services::data::WeatherService;pub use self::services::messaging::EvolutionService;pub use self::services::messaging::SmsService;pub use self::services::messaging::WhatsAppService;pub use self::services::messaging::WhatsMeowService;pub use self::services::platform::extract_token;pub use self::services::platform::requires_2fa;pub use self::services::platform::AccountService;pub use self::services::platform::AuthService;pub use self::services::platform::BearerRateLimitService;pub use self::services::platform::CatalogService;pub use self::services::platform::DevicesService;pub use self::services::platform::IpWhitelistService;pub use self::services::platform::PaymentsService;pub use self::services::platform::ReportsService;pub use self::services::BaseService;pub use self::services::CreditService;pub use self::services::DeviceProxyService;
Modules§
- blocking
blocking - Cliente síncrono da plataforma (
feature = "blocking"). - core
- Infraestrutura da SDK: cliente HTTP, transporte plugável, política de retry, hooks de observabilidade, hierarquia de erros e os tipos compartilhados por todos os serviços.
- generated
- Catálogo de endpoints conhecidos da plataforma APIBrasil.
- legacy
- Interface legada da SDK, mantida por compatibilidade com o formato de
chamada usado pelas primeiras SDKs da plataforma
(
credentials/body/actionem uma string JSON). - services
- Bases compartilhadas pelos serviços da SDK:
BaseService(atalhos HTTP),DeviceProxyService(rotas device-based) eCreditService(consultas por crédito).
Structs§
- ApiBrasil
- Cliente da plataforma APIBrasil.
Functions§
- login
- Autentica por email/senha e devolve um cliente já autenticado, junto da sessão retornada pela plataforma.