Expand description
§Konduto SDK para Rust
SDK não oficial em Rust para a API da Konduto - Plataforma de análise de fraude.
§Características
- Cliente HTTP assíncrono com suporte completo à API da Konduto
- Tipos fortemente tipados para todas as estruturas de dados
- Suporte a todos os endpoints principais (pedidos, blocklist, allowlist, reviewlist)
- Tratamento de erros robusto com
thiserror - Autenticação integrada (Basic Auth)
- Métricas automáticas via StatsD (feature opcional)
- Validação de dados em tempo de compilação usando
nutype
§Instalação
Adicione ao seu Cargo.toml:
[dependencies]
konduto-rs = "0.1"
tokio = { version = "1", features = ["full"] }§Exemplo Rápido
use konduto::{KondutoClient, Customer, Order, OrderId, TotalAmount};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Criar cliente (lê KONDUTO_API_KEY do ambiente)
let client = KondutoClient::new()?;
// Construir dados do cliente
let customer = Customer::builder()
.id("CUST123")?
.name("João Silva")?
.email("joao@example.com")?
.build()?;
// Criar pedido para análise
let order = Order::builder()
.id(OrderId::try_new("ORDER123")?)
.total_amount(TotalAmount::new(100.0)?)
.customer(customer)
.build()?;
// Enviar para análise
let response = client.analyze(&order).await?;
println!("Recomendação: {:?}", response.order.recommendation);
Ok(())
}§Gerenciando Listas
use konduto::{KondutoClient, email::Email};
use konduto::kind::DecisionListKind;
use konduto::sdk::decision_list::http::requests::DecisionListEntryRequest;
let client = KondutoClient::new()?;
// Bloquear um email
let email = Email::try_from("fraud@example.com")?;
let request = DecisionListEntryRequest::email(
DecisionListKind::Blocklist,
email,
None
);
client.add_to_list(request).await?;§Features
statsd: Habilita métricas automáticas via StatsD/DogStatsD
§Links
Modules§
- balance
- bin_
digits - boleto
- brand
- browser
- card
- card_
data - card_
holder - category
- credit_
card - customer_
email - customer_
id - customer_
name - date_
iso_ 8601 - days_
to_ expire - debit_
card - delivery_
company - delivery_
method - details
- domain
- entry_
type - environment
- expiration_
date - fingerprint
- kind
- language
- last_
digits - manufacturer
- middleware
- Middleware para instrumentação automática de requisições HTTP com StatsD
- model
- os
- payment
- payment_
status - payment_
type - phone_
number - pix
- platform
- prelude
- provider
- risk
- statsd
- Configuração e integração com StatsD para métricas
- tax_id
- transfer
- validation_
errors - voucher
Macros§
- impl_
nutype_ error_ conversion - Macro para implementar conversão automática de erros do nutype para ValidationError
Structs§
- Address
- Dados de endereço com validação tipo-segura
- Address
Builder - Builder para criar endereços
- Address
Line - Linha de endereço (máximo 255 caracteres)
- Address
Name - Nome do destinatário (máximo 100 caracteres)
- Airport
Code - Código do aeroporto (máximo 10 caracteres)
- Analysis
Layer - ApiError
Response - Resposta de erro da API
- Attendee
- Dados do participante do evento
- Attendee
Builder - Builder para criar participantes
- Attendee
Document - Documento do participante (máximo 100 caracteres)
- Attendee
Name - Nome do participante (máximo 100 caracteres)
- Billing
City - Nome da cidade (máximo 100 caracteres)
- Billing
Line - Linha de endereço (máximo 255 caracteres)
- Billing
Name - Nome do destinatário (máximo 100 caracteres)
- Billing
State - Nome do estado/província (máximo 100 caracteres)
- Billing
ZipCode - CEP/Código Postal (máximo 100 caracteres)
- Board
Basis - Regime de alimentação do hotel (máximo 100 caracteres)
- City
- Nome da cidade (máximo 100 caracteres)
- City
Name - Nome da cidade (máximo 100 caracteres)
- Company
Name - Nome da companhia aérea (máximo 100 caracteres)
- Customer
- Dados do cliente
- Customer
Builder - Delivery
- Dados de entrega
- Delivery
Builder - Builder para criar dados de entrega
- Delivery
Company - Nome da empresa de entrega (máximo 100 caracteres)
- Delivery
Method - Método de entrega (máximo 100 caracteres)
- Delivery
SlaIn Minutes - SLA de entrega em minutos
- Delivery
Type - Tipo de entrega (máximo 100 caracteres)
- Device
Info - Informações do dispositivo na resposta
- Event
- Dados do evento
- Event
Builder - Builder para criar eventos
- Event
Name - Nome do evento (máximo 255 caracteres)
- Event
Subtype - Subtipo do evento (máximo 100 caracteres)
- Fare
Basis - Base tarifária (máximo 20 caracteres)
- Geolocation
Info - Informações de geolocalização na resposta
- Guest
Document - Documento do hóspede (máximo 100 caracteres)
- Guest
Name - Nome do hóspede (máximo 100 caracteres)
- Hotel
- Dados do hotel
- Hotel
Builder - Builder para criar hotéis
- Hotel
Category - Categoria do hotel (máximo 100 caracteres)
- Hotel
Guest - Dados do hóspede
- Hotel
Guest Builder - Builder para criar hóspedes
- Hotel
Name - Nome do hotel (máximo 100 caracteres)
- Hotel
Room - Hotel
Room Builder - Installments
- Konduto
Client - Cliente principal para interagir com a API da Konduto
- Konduto
Statsd Config - Configuração para o cliente StatsD
- Latitude
- Latitude da loja física (-90 a 90)
- Longitude
- Longitude da loja física (-180 a 180)
- Loyalty
Program - Programa de fidelidade do passageiro
- Loyalty
Program Builder - Builder para criar programa de fidelidade
- Messages
Exchanged - Número de mensagens trocadas entre comprador e vendedor (marketplace)
- Navigation
Info - Informações de navegação na resposta
- Order
- Pedido completo para análise de fraude
- Order
Analysis Response - Resposta da análise de pedido
- Order
Builder - Builder para criar pedidos
- OrderId
- ID único do pedido
- Order
Query Response - Resposta ao consultar um pedido
- Owner
Name - Nome do proprietário (máximo 100 caracteres)
- Owner
TaxId - CPF/CNPJ do proprietário (máximo 100 caracteres)
- Passenger
- Dados do passageiro
- Passenger
Builder - Builder para criar passageiros
- Passenger
Name - Nome do passageiro (máximo 100 caracteres)
- Point
OfSale - Dados da loja física (Point of Sale)
- Point
OfSale Builder - Builder para criar lojas físicas
- Point
OfSale Id - ID do ponto de venda (máximo 100 caracteres)
- Point
OfSale Name - Nome do ponto de venda (máximo 100 caracteres)
- Product
- Produto do carrinho de compras
- Product
Builder - Builder para criar produtos
- Product
Code - Código do produto (máximo 100 caracteres)
- Product
Description - Descrição do produto (máximo 500 caracteres)
- Product
Name - Nome do produto (máximo 255 caracteres)
- Quantity
- Quantidade do produto
- Renavam
- Código RENAVAM (máximo 100 caracteres)
- Room
Code - Código do quarto (máximo 100 caracteres)
- Room
Number - Número do quarto (máximo 100 caracteres)
- Room
Type - Tipo de quarto (máximo 100 caracteres)
- Sales
Channel - Canal de vendas (máximo 100 caracteres)
- Seller
- Dados do vendedor no marketplace
- Seller
Builder - Builder para criar vendedores
- Seller
Id - ID único do vendedor no marketplace (máximo 100 caracteres)
- Seller
Name - Nome da loja ou do vendedor (máximo 100 caracteres)
- Shipping
Amount - Valor do frete
- Shipping
City - Nome da cidade (máximo 100 caracteres)
- Shipping
Line - Linha de endereço (máximo 255 caracteres)
- Shipping
Name - Nome do destinatário (máximo 100 caracteres)
- Shipping
State - Nome do estado/província (máximo 100 caracteres)
- Shipping
ZipCode - CEP/Código Postal (máximo 100 caracteres)
- Sku
- SKU do produto (máximo 100 caracteres)
- State
- Nome do estado/província (máximo 100 caracteres)
- Statsd
Middleware - Middleware que envia métricas para StatsD
- TaxAmount
- Valor dos impostos
- Ticket
- Dados do ingresso do evento
- Ticket
Builder - Builder para criar ingressos
- Ticket
Id - ID do ingresso (máximo 100 caracteres)
- Ticket
Section - Seção/setor do ingresso (máximo 100 caracteres)
- Total
Amount - Valor total do pedido
- Travel
- Dados de viagem
- Travel
Builder - Builder para criar dados de viagem
- Travel
Document Number - Número do documento (máximo 100 caracteres)
- Travel
Leg - Informações de uma perna da viagem (ida ou volta)
- Travel
LegBuilder - Builder para criar pernas de viagem
- Triggered
Decision - Triggered
Rules - Unit
Cost - Custo unitário do produto
- Update
Status Response - Resposta ao atualizar status de pedido
- Vehicle
- Dados do veículo
- Vehicle
Builder - Builder para criar veículos
- Vehicle
Id - VID do veículo (máximo 100 caracteres)
- Vehicle
Make - Marca do veículo (máximo 63 caracteres)
- Vehicle
Model - Modelo do veículo (máximo 100 caracteres)
- Vehicle
Owner - Dados do proprietário do veículo
- Vehicle
Owner Builder - Builder para criar proprietários
- Vehicle
Registration - Placa do veículo (máximo 100 caracteres)
- Venue
- Dados do local do evento
- Venue
Address - Endereço do local (máximo 255 caracteres)
- Venue
Builder - Builder para criar locais de eventos
- Venue
Name - Nome do local do evento (máximo 100 caracteres)
- Visitor
Id - ID do visitante (máximo 100 caracteres)
- ZipCode
- CEP/Código Postal (máximo 100 caracteres)
Enums§
- Analysis
Layer Status - Status da camada de análise (Segunda Camada)
- Attendee
Document Type - Tipo de documento do participante
- Billing
Country - Código do país (ISO 3166-2)
- Card
Brand - Country
- Código do país (ISO 3166-2)
- Currency
- Tipo de moeda
- Decision
Entry Type - Event
Type - Tipo de evento
- Guest
Document Type - Tipo de documento do hóspede
- Konduto
Error - Erros possíveis ao interagir com a API da Konduto
- Order
Status - Status de um pedido na Konduto
- Payment
- Representa os diferentes tipos de pagamento suportados pela API Konduto Cada variante garante que os campos obrigatórios estejam presentes
- Payment
Status - Payment
Type - Tipo de pagamento
- Product
Category - Categoria de produto segundo a Konduto
- Recommendation
- Risk
Level - Nível de risco do pedido
- Shipping
Country - Código do país (ISO 3166-2)
- Ticket
Category - Categoria do ingresso
- Travel
Class - Classe de viagem
- Travel
Document Type - Tipo de documento do passageiro
- Travel
Type - Tipo de viagem
- Validation
Error - Vehicle
Type - Tipo de veículo
- Vehicle
Usage - Uso do veículo
Type Aliases§
- Billing
Address - Alias para endereço de cobrança
- Billing
Country Code - Country
Code - Decision
Type - Konduto
Result - Tipo de resultado padrão para operações da SDK
- Shipping
Address - Alias para endereço de cobrança
- Shipping
Country Code