صفحهبندی، فیلتر و مرتبسازی
با صفحهبندی، فیلتر و مرتبسازی، بازیابی داده را بهینه کنید. یاد بگیرید چگونه با استفاده از پارامترهای کوئری، درخواستهای API را کاهش دهید.
Smart Money API از صفحهبندی مبتنی بر کرسر برای بازیابی کارآمد داده استفاده میکند. شماره صفحه و محدودیت را برای کنترل نتایج مشخص کنید.
| پارامتر |
نوع |
پیشفرض |
حداکثر |
| page |
integer |
1 |
N/A |
| limit |
integer |
50 |
500 |
مثال صفحهبندی
# دریافت ۱۰۰ نتیجه اول
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"Found {len(positions)} whale positions")
بهترین روشها
1. استفاده از حداکثر محدودیت (۱۰۰-۵۰۰): درخواستهای API کمتر برای دریافت همان مقدار داده. دستهبندی نتایج به صورت کارآمد.
2. فیلتر در سمت سرور: از پارامترهای کوئری برای فیلتر در منبع استفاده کنید، نه در کد برنامه. انتقال داده را کاهش میدهد.
3. مرتبسازی در سرور: نتایج مرتبشده را از API درخواست کنید. مرتبسازی در مقیاس بزرگ در سرور کارآمد است.
4. ذخیره و صفحهبندی: نتایج را محلی ذخیره کنید و از طریق دادههای ذخیرهشده صفحهبندی کنید تا درخواستهای API کاهش یابد.
5. توقف زودهنگام در صورت امکان: همیشه تمام صفحات را دریافت نکنید. وقتی داده کافی برای استفاده دارید، متوقف شوید.
بیشتر بیاموزید
مرجع کامل API را برای تمام گزینههای فیلتر و مرتبسازی بررسی کنید.