Resmi SDK Kütüphaneleri
Python, JavaScript, Go ve Rust için resmi istemci kütüphaneleri. Yazılı istemciler, otomatik yeniden deneme mantığı ve WebSocket desteği ile API entegrasyonunu kolaylaştırın.
Python SDK
Paket: smartmoney-api
Kurulum: pip install smartmoney-api
Depo: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# İstemciyi başlat
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Balina pozisyonlarını al
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Fonlama oranlarını al
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Canlı güncellemeleri dinle
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Pozisyon güncellemesi: {update}")
Özellikler
- Async/await desteği (asyncio, aiohttp)
- Üstel geri çekilmeli otomatik yeniden deneme
- Otomatik yeniden bağlantılı WebSocket akışı
- Tür ipuçları ve IDE otomatik tamamlama
- İstek günlüğü ve hata ayıklama
JavaScript SDK
Paket: smartmoney-api
Kurulum: npm install smartmoney-api
Depo: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Balina pozisyonlarını al
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Gerçek zamanlı güncellemeleri dinle
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Pozisyon güncellemesi:", update);
});
stream.on("error", (err) => {
console.error("Akış hatası:", err);
});
Go SDK
Modül: github.com/smartmoneyapi/go-client
Kurulum: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// İstemci oluştur
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Balina pozisyonlarını al
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)
}
}
Rust SDK
Kütüphane: smartmoney-api
Kurulum: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Balina pozisyonlarını al
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(())
}
Yaygın Kalıplar
Hata Yönetimi
Tüm SDK'lar otomatik yeniden deneme mantığına sahip zengin hata türleri sunar. Hatalar durum kodu, hata kodu ve insan tarafından okunabilir mesaj içerir.
İstek Zaman Aşımları
Yapılandırılabilir istek zaman aşımları (varsayılan 30s). Uzun süren işlemler için özel zaman aşımları ayarlayın.
Oran Sınırı Yönetimi
Oran sınırlarına ulaşıldığında otomatik üstel geri çekilme. Retry-After başlığına uyumludur.