Pustaka SDK Rasmi
Pustaka klien rasmi untuk Python, JavaScript, Go, dan Rust. Permudah integrasi API dengan klien berjenis, logik cuba semula automatik, dan sokongan WebSocket.
SDK Python
Pakej: smartmoney-api
Pemasangan: pip install smartmoney-api
Repositori: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# Mulakan klien
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# Dapatkan posisi paus
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# Dapatkan kadar pembiayaan
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# Stream kemas kini langsung
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"Kemas kini posisi: {update}")
Ciri-ciri
- Sokongan async/await (asyncio, aiohttp)
- Cuba semula automatik dengan backoff eksponen
- Penstriman WebSocket dengan sambungan semula automatik
- Petunjuk jenis dan autolengkap IDE
- Log permintaan dan penyahpepijat
SDK JavaScript
Pakej: smartmoney-api
Pemasangan: npm install smartmoney-api
Repositori: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// Dapatkan posisi paus
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// Stream kemas kini masa nyata
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("Kemas kini posisi:", update);
});
stream.on("error", (err) => {
console.error("Ralat strim:", err);
});
SDK Go
Modul: github.com/smartmoneyapi/go-client
Pemasangan: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// Cipta klien
client := smartmoney.NewClient("sk_live_abc123xyz789")
// Dapatkan posisi paus
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
Kotak: smartmoney-api
Pemasangan: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// Dapatkan posisi paus
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(())
}
Corak Umum
Pengendalian Ralat
Semua SDK menyediakan jenis ralat yang kaya dengan logik cuba semula automatik. Ralat termasuk kod status, kod ralat, dan mesej yang boleh dibaca manusia.
Masa Tamat Permintaan
Masa tamat permintaan boleh dikonfigurasi (lalai 30s). Tetapkan masa tamat tersuai untuk operasi yang mengambil masa lama.
Pengendalian Had Kadar
Backoff eksponen automatik apabila mencapai had kadar. Menghormati header Retry-After.
Pilih SDK Anda
Mulakan dengan bahasa pilihan anda. Dokumentasi penuh dan contoh disertakan.
Lihat Rujukan API