거래소 웹소켓/호가 스트림
호가 스트림
orderbook_{symbol} 채널을 구독하면 실시간 매수·매도 호가를 스트림으로 수신합니다. 인증 없이 사용할 수 있는 공개 채널입니다.
WS
wss://api.inexcoin.com/open-api/ws구독 메시지
typestring필수
고정값 subscribe.
channelstring필수
구독할 채널명. orderbook_{symbol}.
응답 필드
marketstring
마켓 코드
tickobject
호가 스냅샷
tick.buysarray
매수 호가. [price, volume] 쌍의 배열
tick.asksarray
매도 호가. [price, volume] 쌍의 배열
{
"market": "BTC-KRW",
"tick": {
"buys": [["158000000", "0.42"]],
"asks": [["158100000", "0.31"]]
}
}
구독 예제
import { useEffect, useRef, useState } from "react";
export function useOrderbookStream(symbol: string) {
const [tick, setTick] = useState(null);
const ws = useRef<WebSocket>();
useEffect(() => {
ws.current = new WebSocket("wss://api.inexcoin.com/open-api/ws");
ws.current.onopen = () => ws.current?.send(JSON.stringify({
type: "subscribe",
channel: `orderbook_${symbol}`
}));
ws.current.onmessage = (e) => {
const data = JSON.parse(e.data);
setTick(data.tick);
};
return () => ws.current?.close();
}, [symbol]);
return tick;
}
NOTE
연결이 끊어지면 지수 백오프로 재연결한 뒤 구독 메시지를 다시 전송하세요. 구독 상태는 연결마다 새로 설정해야 합니다.