Biblioteci SDK Oficiale
Biblioteci client oficiale pentru Python, JavaScript, Go și Rust. Simplifică integrarea API cu clienți tipizați, logică de reîncercare automată și suport WebSocket.
SDK Python
Pachet: smartmoney-api
Instalare: pip install smartmoney-api
Repo: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Inițializează clientul
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Obține pozițiile balenelor
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Obține ratele de finanțare
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Transmite actualizări în timp real
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Actualizare poziție: {update}")
Caracteristici
- Suport async/await (asyncio, aiohttp)
- Reîncercare automată cu backoff exponențial
- Transmisie WebSocket cu reconectare automată
- Sugestii de tipuri și autocompletare IDE
- Înregistrare și depanare cereri
SDK JavaScript
Pachet: smartmoney-api
Instalare: npm install smartmoney-api
Repo: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Obține pozițiile balenelor
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Transmite actualizări în timp real
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Actualizare poziție:", update);
});
stream.on("error", (err) => {
console.error("Eroare transmisie:", err);
});
SDK Go
Modul: github.com/smartmoneyapi/go-client
Instalare: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Creează clientul
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Obține pozițiile balenelor
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
Instalare: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Obține pozițiile balenelor
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(())
}
Modele Comune
Gestionarea Erorilor
Toate SDK-urile oferă tipuri de eroare bogate cu logică de reîncercare automată. Erorile includ cod de stare, cod de eroare și mesaj ușor de înțeles.
Timeout-uri Cereri
Timeout-uri configurabile pentru cereri (implicit 30s). Setați timeout-uri personalizate pentru operații de lungă durată.
Gestionarea Limitelor de Rată
Backoff exponențial automat atunci când se ating limitele de rată. Respectă antetul Retry-After.
Alege-ți SDK-ul
Începe cu limbajul tău preferat. Documentație completă și exemple incluse.
Vezi Referința API