مكتبات SDK الرسمية
مكتبات العملاء الرسمية لـ Python وJavaScript وGo وRust. بسّط تكامل API مع عملاء مكتوبة، منطق إعادة المحاولة التلقائي، ودعم WebSocket.
Python SDK
الحزمة: smartmoney-api
التثبيت: pip install smartmoney-api
المستودع: github.com/smartmoneyapi/python-client
from smartmoney import SmartMoneyAPI
# تهيئة العميل
client = SmartMoneyAPI(api_key="sk_live_abc123xyz789")
# الحصول على مراكز الحيتان
whales = client.whale_positions(symbol="BTCUSDT", limit=50)
for position in whales:
print(f"{position.wallet_address}: {position.position_size} BTC @ {position.entry_price}")
# الحصول على معدلات التمويل
funding = client.funding_rates(symbol="BTCUSDT", interval="4h", limit=24)
# بث التحديثات الحية
with client.stream_whale_positions(["BTCUSDT", "ETHUSDT"]) as stream:
for update in stream:
print(f"تحديث المركز: {update}")
الميزات
- دعم async/await (asyncio, aiohttp)
- إعادة المحاولة التلقائية مع التراجع الأسي
- بث WebSocket مع إعادة الاتصال التلقائي
- تلميحات النوع والإكمال التلقائي في IDE
- تسجيل الطلبات والتصحيح
JavaScript SDK
الحزمة: smartmoney-api
التثبيت: npm install smartmoney-api
المستودع: github.com/smartmoneyapi/js-client
import { SmartMoneyAPI } from "smartmoney-api";
const client = new SmartMoneyAPI({
apiKey: "sk_live_abc123xyz789"
});
// الحصول على مراكز الحيتان
const whales = await client.whalePositions({
symbol: "BTCUSDT",
limit: 50
});
whales.positions.forEach(pos => {
console.log(`${pos.wallet_address}: ${pos.position_size} BTC`);
});
// بث التحديثات في الوقت الحقيقي
const stream = client.streamWhalePositions(["BTCUSDT", "ETHUSDT"]);
stream.on("data", (update) => {
console.log("تحديث المركز:", update);
});
stream.on("error", (err) => {
console.error("خطأ في البث:", err);
});
Go SDK
الوحدة: github.com/smartmoneyapi/go-client
التثبيت: go get github.com/smartmoneyapi/go-client
package main
import (
"fmt"
"github.com/smartmoneyapi/go-client"
)
func main() {
// إنشاء العميل
client := smartmoney.NewClient("sk_live_abc123xyz789")
// الحصول على مراكز الحيتان
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
الصندوق: smartmoney-api
التثبيت: cargo add smartmoney-api
use smartmoney_api::Client;
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = Client::new("sk_live_abc123xyz789");
// الحصول على مراكز الحيتان
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(())
}
أنماط شائعة
معالجة الأخطاء
توفر جميع مكتبات SDK أنواع أخطاء غنية مع منطق إعادة المحاولة التلقائي. تشمل الأخطاء رمز الحالة، رمز الخطأ، ورسالة قابلة للقراءة.
مهلات الطلبات
مهلات الطلبات القابلة للتكوين (الافتراضي 30 ثانية). قم بتعيين مهلات مخصصة للعمليات طويلة الأمد.
معالجة الحدود القصوى للطلبات
التراجع الأسي التلقائي عند الوصول إلى الحدود القصوى للطلبات. يحترم رأس Retry-After.
اختر مكتبة SDK الخاصة بك
ابدأ بلغتك المفضلة. يتضمن وثائق كاملة وأمثلة.
عرض مرجع API