Bibliothèques SDK officielles
Bibliothèques client officielles pour Python, JavaScript, Go et Rust. Simplifiez l'intégration de l'API avec des clients typés, une logique de réessai automatique et un support WebSocket.
SDK Python
Package : smartmoney-api
Installation : pip install smartmoney-api
Dépôt : github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Initialiser le client
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Obtenir les positions des baleines
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Obtenir les taux de financement
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Suivre les mises à jour en direct
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Mise à jour de position : {update}")
Fonctionnalités
- Support async/await (asyncio, aiohttp)
- Réessai automatique avec backoff exponentiel
- Streaming WebSocket avec reconnexion automatique
- Annotations de type et autocomplétion IDE
- Journalisation et débogage des requêtes
SDK JavaScript
Package : smartmoney-api
Installation : npm install smartmoney-api
Dépôt : github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Obtenir les positions des baleines
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Suivre les mises à jour en temps réel
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Mise à jour de position :", update);
});
stream.on("error", (err) => {
console.error("Erreur de stream :", err);
});
SDK Go
Module : github.com/smartmoneyapi/go-client
Installation : go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Créer le client
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Obtenir les positions des baleines
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
Installation : cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Obtenir les positions des baleines
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(())
}
Modèles courants
Gestion des erreurs
Tous les SDK fournissent des types d'erreur riches avec une logique de réessai automatique. Les erreurs incluent le code d'état, le code d'erreur et un message lisible.
Délais d'attente des requêtes
Délais d'attente configurables (30s par défaut). Définissez des délais personnalisés pour les opérations longues.
Gestion des limites de taux
Backoff exponentiel automatique lors de l'atteinte des limites de taux. Respecte l'en-tête Retry-After.
Choisissez votre SDK
Commencez avec le langage de votre choix. Documentation complète et exemples inclus.
Voir la référence de l'API