Slug로 오더북 조회
GET
/v1/markets/slug/:slug/orderbookPublic마켓 slug를 사용하여 특정 아웃컴의 현재 오더북(매수/매도 호가)을 조회합니다. 이 엔드포인트는 slug 기반 채널 이름(market:{slug}:orderbook)을 제공하는 WebSocket 신호와 함께 사용하도록 설계되었습니다.
#경로 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
slug | string | 예 | 마켓 URL slug (예: will-btc-hit-100k) |
#쿼리 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
outcomeId | string | 예 | 오더북을 조회할 아웃컴 ID |
#응답
{
"outcomeId": "outcome-uuid-1",
"outcomeSide": "Yes - YES",
"bids": [
{ "price": "0.650", "shares": "500.00" },
{ "price": "0.640", "shares": "300.00" },
{ "price": "0.620", "shares": "150.00" }
],
"asks": [
{ "price": "0.680", "shares": "200.00" },
{ "price": "0.700", "shares": "400.00" },
{ "price": "0.750", "shares": "100.00" }
]
}#응답 필드
| 필드 | 타입 | 설명 |
|---|---|---|
outcomeId | string | 오더북이 나타내는 아웃컴 ID |
outcomeSide | string | 아웃컴 이름과 방향의 조합 (예: Yes - YES, Trump - YES) |
bids | array | 매수 주문, 가격 내림차순 정렬 |
asks | array | 매도 주문, 가격 오름차순 정렬 |
bids[].price | string | 매수 가격 (소수점 3자리) |
bids[].shares | string | 해당 가격 수준의 총 수량 |
#WebSocket 연동
이 엔드포인트는 market:{slug}:orderbook 채널에서 WebSocket 신호를 수신한 후 호출하도록 설계되었습니다:
// 1. WebSocket 채널 구독
socket.emit('join', { channel: 'market:will-btc-hit-100k:orderbook' });
// 2. 신호 수신 시 동일한 slug로 업데이트된 데이터 조회
socket.on('market:will-btc-hit-100k:orderbook', async (data) => {
const response = await fetch('/v1/markets/slug/will-btc-hit-100k/orderbook?outcomeId=outcome-uuid-1');
const orderbook = await response.json();
});slug-to-UUID 매핑을 유지할 필요가 없어집니다. WebSocket 채널과 REST API가 동일한 slug 식별자를 사용하기 때문입니다.
#오류
| 상태 코드 | 설명 |
|---|---|
400 | outcomeId 누락 또는 아웃컴이 해당 마켓에 속하지 않음 |
404 | 마켓 또는 아웃컴을 찾을 수 없음 |
#예제
curl "https://api.conviction.bet/v1/markets/slug/will-btc-hit-100k/orderbook?outcomeId=outcome-uuid-1"이 페이지가 도움이 되었나요?