التنقل بين الصفحات، التصفية، والترتيب
أتقن استرجاع البيانات بكفاءة باستخدام التنقل بين الصفحات، التصفية، والترتيب. تعلم كيفية تحسين الاستعلامات وتقليل طلبات API باستخدام معلمات الاستعلام.
يستخدم Smart Money API التنقل بين الصفحات القائم على المؤشر لاسترجاع البيانات بكفاءة. حدد رقم الصفحة والحد للتحكم في مجموعات النتائج.
| المعامل |
النوع |
الافتراضي |
الحد الأقصى |
| page |
عدد صحيح |
1 |
N/A |
| limit |
عدد صحيح |
50 |
500 |
مثال على التنقل بين الصفحات
# الحصول على أول 100 نتيجة
curl "https://api.smartmoneyapi.com/v1/whales/events?page=1&limit=100"
# الحصول على الصفحة الثانية
curl "https://api.smartmoneyapi.com/v1/whales/events?page=2&limit=100"
معلومات التنقل بين الصفحات في الرد
{
"success": true,
"data": {...},
"pagination": {
"page": 1,
"limit": 50,
"total": 420,
"total_pages": 9,
"has_next": true,
"has_prev": false
}
}
التصفية
قم بتصفية النتائج حسب الرمز، البورصة، الاتجاه، ومعايير أخرى. يتم دمج الفلاتر باستخدام منطق AND.
| الفلاتر |
القيم |
مثال |
| symbol |
زوج التداول |
BTCUSDT, ETHUSDT |
| exchange |
bybit, binance, hyperliquid |
bybit |
| direction |
long, short |
long |
| min_position_size |
رقم |
10.5 |
| min_pnl_percent |
رقم |
2.0 |
مثال على التصفية
# التصفية حسب الرمز والاتجاه
curl "https://api.smartmoneyapi.com/v1/whales/events?symbol=BTCUSDT&direction=long"
# التصفية حسب البورصة وحجم المركز الأدنى
curl "https://api.smartmoneyapi.com/v1/whales/events?exchange=bybit&min_position_size=15"
الترتيب
قم بترتيب النتائج حسب حجم المركز، الربح والخسارة، أو حقول أخرى. حدد الحقل والاتجاه (تصاعدي/تنازلي).
# الترتيب حسب حجم المركز تنازليًا (الأكبر أولاً)
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=position_sizeℴ=desc"
# الترتيب حسب الربح والخسارة تصاعديًا
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=pnl_percentℴ=asc"
أمثلة كاملة
Python: التكرار عبر جميع الصفحات
import requests
def get_all_whale_positions(api_key, symbol=None):
"""جلب جميع مراكز الحيتان مع التنقل بين الصفحات"""
all_positions = []
page = 1
while True:
params = {
"page": page,
"limit": 100, # الحد الأقصى للدفعة
"sort": "position_size",
"order": "desc"
}
if symbol:
params["symbol"] = symbol
response = requests.get(
"https://api.smartmoneyapi.com/v1/whales/events",
headers={"Authorization": f"Bearer {api_key}"},
params=params
)
data = response.json()
all_positions.extend(data["data"]["positions"])
# التحقق من وجود صفحات إضافية
if not data["pagination"]["has_next"]:
break
page += 1
return all_positions
# الاستخدام
positions = get_all_whale_positions("sk_live_abc123xyz789", symbol="BTCUSDT")
print(f"تم العثور على {len(positions)} مركزًا للحيتان")
أفضل الممارسات
1. استخدم الحد الأقصى (100-500): عدد أقل من طلبات API لاسترجاع نفس كمية البيانات. قم بتجميع النتائج بكفاءة.
2. قم بالتصفية من جانب الخادم: استخدم معلمات الاستعلام للتصفية من المصدر، وليس في كود التطبيق الخاص بك. يقلل من نقل البيانات.
3. قم بالترتيب من جانب الخادم: اطلب النتائج المرتبة من API. الترتيب على نطاق واسع يكون فعالاً من جانب الخادم.
4. قم بالتخزين المؤقت والتنقل بين الصفحات: قم بتخزين النتائج محليًا والتنقل بين البيانات المخزنة لتقليل طلبات API.
5. توقف مبكرًا إذا أمكن: لا تقم دائمًا بجلب جميع الصفحات. توقف عندما يكون لديك بيانات كافية لاستخدامك.