Developer

문서 검색

엔드포인트, 개념, 에러 코드 검색

웹소켓
거래소 웹소켓/호가 스트림

호가 스트림

orderbook_{symbol} 채널을 구독하면 실시간 매수·매도 호가를 스트림으로 수신합니다. 인증 없이 사용할 수 있는 공개 채널입니다.

WSwss://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

연결이 끊어지면 지수 백오프로 재연결한 뒤 구독 메시지를 다시 전송하세요. 구독 상태는 연결마다 새로 설정해야 합니다.