WebSocket을 이용한 시세 수신 테스트를 진행할 경우 telsocket 혹은 wscat을 사용할 수 있습니다.
wscat 을 이용하는 경우
$ npm install -g wscat
$ wscat -c wss://ws-api.bithumb.com/websocket/v1
connected!
telsocket 을 이용하는 경우
$ telsocket -url wss://ws-api.bithumb.com/websocket/v1
connected!
원화-비트코인(KRW-BTC) 마켓의 실시간 정보를 조회하고 싶다면 다음과 같이 요청할 수 있습니다.
$ wscat -c wss://ws-api.bithumb.com/websocket/v1
Connected (press CTRL+C to quit)
[{"ticket":"test example"},{"type":"ticker","codes":["KRW-BTC"]}]
{"type":"ticker","code":"KRW-BTC","opening_price":484500,"high_price":493100,"low_price":472500,"trade_price":493100,"prev_closing_price":484500,"change":"RISE","change_price":8600,"signed_change_price":8600,"change_rate":0.01775026,"signed_change_rate":0.01775026,"trade_volume":3.2529,"acc_trade_volume":220.0447,"acc_trade_volume_24h":13380.57687512,"acc_trade_price":105917424.208256,"acc_trade_price_24h":8227950466.316009,"trade_date":"20240910","trade_time":"091617","trade_timestamp":1725927377174,"ask_bid":"BID","acc_ask_volume":106.7561,"acc_bid_volume":113.2886,"highest_52_week_price":999999000,"highest_52_week_date":"2024-06-18","lowest_52_week_price":1000,"lowest_52_week_date":"2024-06-18","market_state":"ACTIVE","is_trading_suspended":false,"delisting_date":null,"market_warning":"NONE","timestamp":1725927377287,"stream_type":"SNAPSHOT"}
{"type":"ticker","code":"KRW-BTC","opening_price":484500,"high_price":493100,"low_price":472500,"trade_price":493100,"prev_closing_price":484500,"change":"RISE","change_price":8600,"signed_change_price":8600,"change_rate":0.01775026,"signed_change_rate":0.01775026,"trade_volume":1.2567,"acc_trade_volume":225.622,"acc_trade_volume_24h":13386.15417512,"acc_trade_price":108663718.238256,"acc_trade_price_24h":8230696760.346009,"trade_date":"20240910","trade_time":"091617","trade_timestamp":1725927377820,"ask_bid":"BID","acc_ask_volume":106.7561,"acc_bid_volume":118.8659,"highest_52_week_price":999999000,"highest_52_week_date":"2024-06-18","lowest_52_week_price":1000,"lowest_52_week_date":"2024-06-18","market_state":"ACTIVE","is_trading_suspended":false,"delisting_date":null,"market_warning":"NONE","timestamp":1725927377931,"stream_type":"REALTIME"}
...
만약 동시에 여러 마켓의 정보를 수신하고 싶다면 codes 필드에 각 마켓을 쉼표(,)로 구분하여 입력해보세요.
예를 들어 간소화된 포맷으로 원화-비트코인(KRW-BTC) 마켓과 비트코인-이더리움(BTC-ETH) 마켓의 실시간 체결 정보를 수신하고 싶은 경우 다음과 같이 요청할 수 있습니다.
$ wscat -c wss://ws-api.bithumb.com/websocket/v1
Connected (press CTRL+C to quit)
[{"ticket":"test example"},{"type":"ticker","codes":["KRW-BTC","BTC-ETH"]},{"format":"SIMPLE"}]
{"ty":"ticker","cd":"KRW-BTC","op":484500,"hp":493100,"lp":471300,"tp":493100,"pcp":484500,"c":"RISE","cp":8600,"scp":8600,"cr":0.01775026,"scr":0.01775026,"tv":4.6191,"atv":340.7347,"atv24h":13501.26687512,"atp":164142603.957128,"atp24h":8286175646.064881,"tdt":"20240910","ttm":"091942","ttms":1725927582096,"ab":"BID","aav":172.4423,"abv":168.2924,"h52wp":999999000,"h52wdt":"2024-06-18","l52wp":1000,"l52wdt":"2024-06-18","ms":"ACTIVE","its":false,"dd":null,"mw":"NONE","tms":1725927582208,"st":"SNAPSHOT"}
{"ty":"ticker","cd":"BTC-ETH","op":47890,"hp":48310,"lp":47700,"tp":47820,"pcp":47890,"c":"FALL","cp":70,"scp":-70,"cr":0.00146168,"scr":-0.00146168,"tv":37.2703,"atv":68.2069,"atv24h":19771.65533322,"atp":3274476.3628192,"atp24h":728107452.06423197609921044,"tdt":"20240910","ttm":"092001","ttms":1725927601164,"ab":"BID","aav":34.0163,"abv":34.1906,"h52wp":774400000,"h52wdt":"2024-01-23","l52wp":254,"l52wdt":"2024-06-20","ms":"ACTIVE","its":false,"dd":null,"mw":"CAUTION","tms":1725927601272,"st":"SNAPSHOT"}
{"ty":"ticker","cd":"KRW-BTC","op":484500,"hp":493100,"lp":471300,"tp":489100,"pcp":484500,"c":"RISE","cp":4600,"scp":4600,"cr":0.00949432,"scr":0.00949432,"tv":2.0067,"atv":345.3538,"atv24h":13505.88597512,"atp":166420282.167128,"atp24h":8288453324.274881,"tdt":"20240910","ttm":"092008","ttms":1725927608215,"ab":"ASK","aav":172.4423,"abv":172.9115,"h52wp":999999000,"h52wdt":"2024-06-18","l52wp":1000,"l52wdt":"2024-06-18","ms":"ACTIVE","its":false,"dd":null,"mw":"NONE","tms":1725927608323,"st":"REALTIME"}
{"ty":"ticker","cd":"BTC-ETH","op":47890,"hp":48310,"lp":47570,"tp":47570,"pcp":47890,"c":"FALL","cp":320,"scp":-320,"cr":0.00668198,"scr":-0.00668198,"tv":12.55117013,"atv":174.6851,"atv24h":19797.96498024,"atp":8350427.8249361,"atp24h":730024172.79764567609921044,"tdt":"20240910","ttm":"092014","ttms":1725927614331,"ab":"ASK","aav":103.2242,"abv":71.4609,"h52wp":774400000,"h52wdt":"2024-01-23","l52wp":254,"l52wdt":"2024-06-20","ms":"ACTIVE","its":false,"dd":null,"mw":"CAUTION","tms":1725927614457,"st":"REALTIME"}
...
스냅샷이 먼저 내려온 뒤 실시간 체결 현황이 수신됨을 알 수 있습니다.
위의 모든 요청은 WebSocket이 정상적으로 연결되었다는 전제로 가정합니다.