Bibliotecas SDK Oficiais
Bibliotecas cliente oficiais para Python, JavaScript, Go e Rust. Simplifique a integração da API com clientes tipados, lógica de repetição automática e suporte a WebSocket.
SDK Python
Pacote: smartmoney-api
Instalação: pip install smartmoney-api
Repositório: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Inicializar cliente
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Obter posições de baleias
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Obter taxas de financiamento
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Transmitir atualizações ao vivo
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Atualização de posição: {update}")
Recursos
- Suporte a async/await (asyncio, aiohttp)
- Repetição automática com retrocesso exponencial
- Transmissão WebSocket com reconexão automática
- Dicas de tipo e autocompletar no IDE
- Registro e depuração de solicitações
SDK JavaScript
Pacote: smartmoney-api
Instalação: npm install smartmoney-api
Repositório: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Obter posições de baleias
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Transmitir atualizações em tempo real
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Atualização de posição:", update);
});
stream.on("error", (err) => {
console.error("Erro na transmissão:", err);
});
SDK Go
Módulo: github.com/smartmoneyapi/go-client
Instalação: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Criar cliente
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Obter posições de baleias
positions, err := client.WhalePositions(ctx, &smartmoney.WhalePositionsFilter{
Symbol: "BTCUSDT",
Limit: 50,
})
if err != nil {
panic(err)
}
for _, pos := range positions {
fmt.Printf("%s: %.2f BTC\n", pos.WalletAddress, pos.PositionSize)
}
}
SDK Rust
Crate: smartmoney-api
Instalação: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Obter posições de baleias
let positions = client
.whale_positions()
.symbol("BTCUSDT")
.limit(50)
.send()
.await?;
for position in positions.iter() {
println!(
"{}: {} BTC @ {}",
position.wallet_address,
position.position_size,
position.entry_price
);
}
Ok(())
}
Padrões Comuns
Tratamento de Erros
Todos os SDKs fornecem tipos de erro ricos com lógica de repetição automática. Os erros incluem código de status, código de erro e mensagem legível para humanos.
Tempo Limite de Solicitação
Tempos limite de solicitação configuráveis (padrão 30s). Defina tempos limite personalizados para operações de longa duração.
Tratamento de Limite de Taxa
Retrocesso exponencial automático ao atingir limites de taxa. Respeita o cabeçalho Retry-After.
Escolha seu SDK
Comece com a linguagem de sua escolha. Documentação completa e exemplos incluídos.
Ver Referência da API