Bibliotecas SDK oficiales
Bibliotecas cliente oficiales para Python, JavaScript, Go y Rust. Simplifica la integración de la API con clientes tipados, lógica de reintento automático y soporte para WebSocket.
SDK de Python
Paquete: smartmoney-api
Instalación: pip install smartmoney-api
Repositorio: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Inicializar cliente
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Obtener posiciones de ballenas
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Obtener tasas de financiación
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Transmitir actualizaciones en vivo
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Actualización de posición: {update}")
Características
- Soporte para async/await (asyncio, aiohttp)
- Reintento automático con retroceso exponencial
- Transmisión por WebSocket con reconexión automática
- Sugerencias de tipos y autocompletado en el IDE
- Registro de solicitudes y depuración
SDK de JavaScript
Paquete: smartmoney-api
Instalación: npm install smartmoney-api
Repositorio: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Obtener posiciones de ballenas
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Transmitir actualizaciones en tiempo real
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Actualización de posición:", update);
});
stream.on("error", (err) => {
console.error("Error en la transmisión:", err);
});
SDK de Go
Módulo: github.com/smartmoneyapi/go-client
Instalación: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Crear cliente
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Obtener posiciones de ballenas
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 de Rust
Crate: smartmoney-api
Instalación: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Obtener posiciones de ballenas
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(())
}
Patrones comunes
Manejo de errores
Todos los SDK proporcionan tipos de errores detallados con lógica de reintento automática. Los errores incluyen código de estado, código de error y mensaje legible para humanos.
Tiempos de espera de solicitudes
Tiempos de espera configurables para solicitudes (30s por defecto). Establece tiempos de espera personalizados para operaciones de larga duración.
Manejo de límites de tasa
Retroceso exponencial automático al alcanzar límites de tasa. Respeta el encabezado Retry-After.
Elige tu SDK
Comienza con el lenguaje de tu preferencia. Incluye documentación completa y ejemplos.
Ver referencia de la API