페이지네이션, 필터링 및 정렬
페이지네이션, 필터링 및 정렬을 통해 효율적인 데이터 검색을 마스터하세요. 쿼리 매개변수를 사용하여 쿼리를 최적화하고 API 호출을 줄이는 방법을 배우세요.
Smart Money API는 효율적인 데이터 검색을 위해 커서 기반 페이지네이션을 사용합니다. 페이지 번호와 제한을 지정하여 결과 집합을 제어하세요.
| 매개변수 |
타입 |
기본값 |
최대값 |
| page |
integer |
1 |
N/A |
| limit |
integer |
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"
정렬
포지션 크기, P&L 또는 기타 필드로 결과를 정렬하세요. 필드와 방향(asc/desc)을 지정하세요.
# 포지션 크기 내림차순으로 정렬 (가장 큰 것부터)
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=position_size&order=desc"
# P&L 오름차순으로 정렬
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=pnl_percent&order=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. 최대 제한 사용 (100-500): 동일한 양의 데이터를 검색하기 위해 더 적은 API 호출. 결과를 효율적으로 배치 처리하세요.
2. 서버 측 필터링: 애플리케이션 코드에서 필터링하지 않고 쿼리 매개변수를 사용하여 소스에서 필터링하세요. 데이터 전송을 줄입니다.
3. 서버에서 정렬: API에서 정렬된 결과를 요청하세요. 대규모 정렬은 서버에서 효율적입니다.
4. 캐시 및 페이지네이션: 결과를 로컬에 캐시하고 캐시된 데이터를 페이지네이션하여 API 호출을 최소화하세요.
5. 가능하면 조기 중단: 항상 모든 페이지를 가져오지 마세요. 사용 사례에 충분한 데이터가 있으면 중단하세요.