마켓
마켓 목록 조회
필터링 옵션이 포함된 페이지네이션된 마켓 목록을 조회합니다.
마켓 상세 조회
마켓 ID를 통해 특정 마켓의 상세 정보를 조회합니다.
마켓 상태
마켓은 다음과 같은 상태를 가질 수 있습니다:
| 상태 | 설명 |
|---|---|
| live | 마켓이 거래를 위해 열려 있음 |
| active | 마켓이 활성 상태이나 거래 제한이 있을 수 있음 |
| closed | 마켓이 거래를 위해 닫혀 있음 |
| disputing | 마켓 결과에 대한 이의 제기 중 |
| resolved | 마켓이 확정됨 |
| resolution_proposed | 결과 확정이 제안됨, 확인 대기 중 |
코드 예제
활성 마켓 조회
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://engine.xmarket.app/api/v1';
async function getActiveMarkets() {
const response = await fetch(
`${BASE_URL}/markets?status=live&pageSize=50`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);
const data = await response.json();
return data.items;
}
마켓 상세 조회
async function getMarketDetail(marketId) {
const response = await fetch(
`${BASE_URL}/markets/${marketId}`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`Market not found: ${response.status}`);
}
const market = await response.json();
console.log(`Market: ${market.name}`);
console.log(`Status: ${market.status}`);
console.log(`Outcomes: ${market.outcomes.length}`);
return market;
}
// Example usage
const market = await getMarketDetail('market-uuid-here');
상태별 마켓 필터링
async function getMarketsByStatus(status) {
const response = await fetch(
`${BASE_URL}/markets?status=${status}&page=1&pageSize=100`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);
const data = await response.json();
console.log(`Found ${data.total} ${status} markets`);
return data.items;
}
// Get all resolved markets
const resolvedMarkets = await getMarketsByStatus('resolved');
// Get markets in dispute
const disputingMarkets = await getMarketsByStatus('disputing');
모범 사례
- 캐싱: 메타데이터는 자주 변경되지 않으므로 마켓 데이터를 적절히 캐싱하세요
- 페이지네이션: 대량의 결과 집합에는 페이지네이션을 사용하여 성능을 개선하세요
- 에러 처리: 일시적인 네트워크 오류에 대한 재시도 로직을 구현하세요
- 요청 제한: API 요청 제한을 준수하세요 (100 req/min, 20 req/sec burst)
- 데이터 검증: 마켓 및 결과 ID를 사용하기 전에 항상 유효성을 검증하세요
관련 문서
- 빠른 시작 - API 시작하기
- Orderbook API - 마켓의 오더북 데이터 조회
- Orders API - 주문 생성 및 관리
- Positions API - 트레이딩 포지션 추적