[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"api-documentation:websocket\u002Fmarket":3},{"title":4,"slug":5,"group":6,"version":7,"html":8},"공개 WS","websocket\u002Fmarket","WebSocket API","0.4.0","\u003Ch1 id=\"공개-시세-스트림\">공개 시세 스트림\u003C\u002Fh1>\n\u003Cpre>\u003Ccode class=\"language-text\">wss:\u002F\u002Fapi-ws.btxpro.co.kr\u002Fv1\u002Fmarket\u002Fstream\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>API 키 없이 연결합니다. 현재 공개 채널은 \u003Ccode>ticker\u003C\u002Fcode>이며, \u003Ca href=\"\u002Fapi-docs\u002Fgenerated\u002Frest\u002F#getticker\">REST 시세\u003C\u002Fa>와 같은 시세 객체를 전달합니다.\u003C\u002Fp>\n\u003Ch2 id=\"구독\">구독\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n  \"id\": \"sub-1\",\n  \"op\": \"subscribe\",\n  \"args\": [\n    { \"channel\": \"ticker\", \"symbol\": \"BTC-USDT\" },\n    { \"channel\": \"ticker\", \"symbol\": \"ETH-USDT\" }\n  ]\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>서버는 정규화된 구독 확인을 먼저 보냅니다.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n  \"event\": \"subscribed\",\n  \"id\": \"sub-1\",\n  \"args\": [\n    { \"channel\": \"ticker\", \"symbol\": \"BTC-USDT\" },\n    { \"channel\": \"ticker\", \"symbol\": \"ETH-USDT\" }\n  ],\n  \"serverTime\": 1783420800123\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>캐시된 ticker가 있으면 확인 메시지 직후 현재 값을 보냅니다. 이후의 이벤트 예시:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n  \"event\": \"ticker\",\n  \"sequence\": 1,\n  \"arg\": { \"channel\": \"ticker\", \"symbol\": \"BTC-USDT\" },\n  \"data\": {\n    \"symbol\": \"BTC-USDT\",\n    \"baseCurrencyId\": 1002,\n    \"quoteCurrencyId\": 1001,\n    \"lastPrice\": \"65000.000000000\",\n    \"priceChange\": \"1000.000000000\",\n    \"priceChangeRate\": \"0.015600000\",\n    \"high\": \"66000.000000000\",\n    \"low\": \"63000.000000000\",\n    \"volume\": \"12.500000000\",\n    \"quoteVolume\": \"810000.000000000\",\n    \"time\": 1783420800123\n  },\n  \"serverTime\": 1783420800123\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>가격과 수량은 문자열입니다. \u003Ccode>sequence\u003C\u002Fcode>는 symbol별이 아니라 연결 전체에서 증가합니다.\u003C\u002Fp>\n\u003Ch2 id=\"구독-해제와-전체-구독\">구독 해제와 전체 구독\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n  \"id\": \"unsub-1\",\n  \"op\": \"unsubscribe\",\n  \"args\": [{ \"channel\": \"ticker\", \"symbol\": \"BTC-USDT\" }]\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>해제 확인의 \u003Ccode>event\u003C\u002Fcode>는 \u003Ccode>unsubscribed\u003C\u002Fcode>입니다.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>동작\u003C\u002Fth>\n\u003Cth>args의 symbol\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>전체 활성 마켓 구독\u003C\u002Ftd>\n\u003Ctd>subscribe에서 \u003Ccode>*\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>전체 구독 중 한 마켓 제외\u003C\u002Ftd>\n\u003Ctd>unsubscribe에서 해당 symbol\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>제외한 마켓 다시 포함\u003C\u002Ftd>\n\u003Ctd>subscribe에서 해당 symbol\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>모든 구독 해제\u003C\u002Ftd>\n\u003Ctd>unsubscribe에서 \u003Ccode>*\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>일반 구독은 최대 100개 symbol입니다. wildcard는 하나로 계산됩니다. \u003Ccode>trades\u003C\u002Fcode>, \u003Ccode>orderbook\u003C\u002Fcode>, \u003Ccode>candles\u003C\u002Fcode>는 현재 지원 채널이 아닙니다.\u003C\u002Fp>\n\u003Ch2 id=\"오류와-재연결\">오류와 재연결\u003C\u002Fh2>\n\u003Cp>오류 이벤트의 정확한 필드는 \u003Ca href=\"\u002Fapi-docs\u002Fgenerated\u002Fschemas\u002F#schema-marketstreamerrorevent\">MarketStreamErrorEvent\u003C\u002Fa>를 확인하세요. 연결이 끊어지거나 sequence가 건너뛰면 새 연결에서 구독을 다시 설정합니다. 이전 연결의 데이터는 재전송하지 않습니다.\u003C\u002Fp>\n",1793249660044]