Huobi(현재 HTX로 브랜드 변경됨)는 국제 다국어 암호화폐 거래소입니다.
private 계정 업데이트를 구독하려면, Huobi 계정에서 API Key를 생성해야 합니다. 생성되면 Huobi API Client에 API Key와 Secret를 설정하십시오
HTX는 시장 데이터와 계정 데이터를 서로 다른 두 엔드포인트에서, 서로 다른 두 스키마로 제공합니다. wss://api.htx.com/ws는 시장 데이터를 v1 구독 프레임으로 전달하고, wss://api.htx.com/ws/v2는 계정 및 주문 채널을 v2 인증 프레임으로 전달합니다. 어느 쪽 엔드포인트도 다른 쪽의 프레임에는 응답하지 않습니다.
이전 동작. 구성 요소는 하나의 연결만 열었으며, 자격 증명에 따라 엔드포인트를 선택했습니다. ApiKey가 비어 있으면 공개 엔드포인트에 연결하여 공개 메서드만 동작했고, ApiKey가 설정되어 있으면 비공개 엔드포인트에 연결하여 비공개 메서드만 동작했습니다. 시장 데이터와 계정 데이터를 동시에 사용해야 하는 애플리케이션은 구성 요소 인스턴스를 두 개, 즉 자격 증명이 있는 것과 없는 것을 각각 생성해야 했습니다.
현재 동작. 구성 요소의 연결은 항상 공개 연결이므로, 자격 증명이 설정되어 있든 아니든 시장 데이터를 사용할 수 있습니다. ApiKey가 설정되어 있으면 구성 요소는 v2 엔드포인트에 대한 두 번째 연결도 자체적으로 열며, 하나의 인스턴스가 공개 시장 데이터와 비공개 계정 데이터를 동시에 수신하게 됩니다. 이 두 번째 연결은 내부적으로 처리됩니다. 공개 연결과 함께 구성 요소가 열고 닫으며, 자체 Active 속성이나 이벤트가 없고, 여기로 도착하는 모든 것은 시장 데이터와 마찬가지로 구성 요소의 이벤트를 통해 그대로 전달됩니다.
기존 애플리케이션에서 변경해야 할 것은 없습니다. 새로운 속성이나 새로운 이벤트는 추가되지 않았으며, 구성 요소의 공개 API는 이전과 동일합니다. 이미 ApiKey를 설정하고 비공개 채널만 구독하던 애플리케이션은 그대로 동작하며, 이제 같은 인스턴스에서 공개 채널도 구독할 수 있습니다. 두 개의 인스턴스를 사용하던 애플리케이션도 여전히 동작하지만, 이제 두 번째 인스턴스는 더 이상 필요하지 않습니다.
비공개 연결의 인증은 자체적으로 진행되므로, 애플리케이션이 구독을 요청할 때 비공개 연결이 아직 연결 중이거나 인증 중일 수 있습니다. 이는 오류가 아니며 별도로 기다릴 필요도 없습니다. 채널은 기록되어 있다가 인증이 확인되는 즉시 요청됩니다. Resubscribe가 활성화된 상태에서 재연결이 일어난 경우에도 마찬가지로, 비공개 채널은 새 세션이 인증된 후 다시 구성되어 재요청됩니다.
ApiKey가 설정되지 않은 상태에서 비공개 subscribe 메서드를 호출하면 이제 OnHuobiError 이벤트가 발생하며, 요청된 채널과 그 채널에 필요한 엔드포인트를 함께 알려줍니다. 이전에는 이러한 요청이 처리할 수 없는 연결에 기록되어 흔적도 없이 사라졌습니다.
Futures 클라이언트(TsgcWS_API_Huobi_Fut)는 다른 엔드포인트에 연결하며, 여기에는 v2에 해당하는 것이 없습니다. 따라서 두 번째 연결을 열지 않으며, 비공개 프레임은 예전과 마찬가지로 자체 연결로 전달됩니다.
다음 공개 채널을 구독할 수 있습니다(api key 불필요).
| 메서드 | 설명 |
| SubscribeKLine | 이 토픽은 사용 가능할 때마다 새 캔들스틱을 보냅니다. 지원되는 기간: 1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year. |
| SubscribeMarketDepth | 이 토픽은 1초 간격으로 스냅샷 모드에서 가격순 최신 시장 호가창을 전송합니다. 지원되는 깊이 집계 수준: step0부터 step15까지. |
| SubscribeTradeDetail | 이 토픽은 가장 최근에 완료된 거래를 보냅니다. tick by tick 모드로 업데이트됩니다. |
| SubscribeMarketDetail |
이 토픽은 24시간 요약과 함께 최신 시장 통계를 전송합니다. 초당 10회를 넘지 않는 빈도로 스냅샷 모드에서 업데이트됩니다 |
| SubscribeBBO | 사용자는 tick by tick 모드로 BBO(Best Bid/Offer) 업데이트를 받을 수 있습니다. |
| SubscribeMarketTicker |
시장 티커를 검색합니다. 데이터는 100ms마다 푸시됩니다. |
| SubscribeMarketByPrice | 사용자는 이 채널을 구독하여 Market By Price order book의 새로 고침 업데이트를 받을 수 있습니다. 업데이트 간격은 약 100ms입니다. 지원되는 level: 5, 10, 20, 150, 400. |
위의 모든 공개 메서드 외에 Futures API 클라이언트(TsgcWS_API_Huobi_Fut)에 대해 다음 메서드를 사용할 수 있습니다.
| 메서드 | 설명 |
| SubscribeIncrementalMarketDepth | 구성 가능한 크기 및 데이터 유형(스냅샷 또는 증분)으로 증분 시장 깊이 업데이트를 구독합니다. |
| SubscribePremiumIndexKLine | 선물 계약에 대한 프리미엄 인덱스 캔들스틱 데이터를 구독합니다. |
| SubscribeEstimatedRateKLine | 선물 계약에 대한 예상 funding rate kline/candlestick 데이터를 구독합니다. |
| SubscribeBasisData | basis 데이터(spot-futures 가격 스프레드)를 구독합니다. 다양한 basis 가격 유형을 지원합니다: open, close, high, low. |
| SubscribeMarkPriceKLine | 선물 계약에 대한 mark price kline/candlestick 데이터를 구독합니다. |
| SubscribeLiquidationOrders | 주어진 계약에 대한 public liquidation order 피드를 구독합니다. 인증이 필요하지 않습니다. |
| SubscribeFundingRate | 지정된 계약에 대한 공개 펀딩 비율 업데이트를 구독합니다. 인증이 필요하지 않습니다. |
| SubscribeContractInfo | 계약 매개변수 변경(예: 계약 상장, 상장 폐지, 매개변수 조정)을 구독합니다. |
다음 private 채널을 구독할 수 있습니다(api key 필요). 이 채널들은 ApiKey가 설정되면 구성 요소가 자동으로 여는 두 번째 연결에서 제공되므로, 같은 구성 요소 인스턴스에서 공개 채널과 함께 사용할 수 있습니다. 자격 증명이 올바르지 않으면 연결이 자동으로 닫히며, ApiKey가 전혀 없는 경우에는 요청이 OnHuobiError 이벤트로 보고됩니다.
| 메서드 | 설명 |
| SubscribeOrderUpdates |
주문 업데이트는 다음 중 하나에 의해 트리거될 수 있습니다:
|
| SubscribeTradeClearing | 주문이 거래 중이거나 취소 중일 때만 업데이트됩니다. 주문 거래 업데이트는 tick by tick 모드로, 이는 taker의 주문이 여러 maker의 주문과 일치하면 동시의 여러 거래가 하나씩 전파됨을 의미합니다. 그러나 여러 거래의 업데이트 순서는 실제로 이루어진 거래의 순서와 정확히 같지 않을 수 있습니다. 또한 주문이 부분 체결 직후 자동 취소되는 경우, 예를 들어 일반적인 IOC 주문의 경우, 이 채널은 거래보다 취소 업데이트를 먼저 전파할 수 있습니다. |
| SubscribeAccountChange |
구독 시 지정된 필드 값에 따라, 업데이트는 다음 이벤트 중 하나에 의해 트리거될 수 있습니다. aMode 매개변수는 업데이트 동작을 제어합니다:
Mode 0: 계정 잔액이 변경될 때만 업데이트합니다. 모드 1: 계정 잔액 또는 사용 가능 잔액 중 하나가 변경될 때 업데이트(별도 업데이트). 모드 2: 계정 잔액 또는 사용 가능 잔액이 변경될 때 업데이트(결합된 업데이트). |
OnHuobiSubscribed: 구독 성공 후 호출되는 이벤트입니다.
OnHuobiUnSubscribed: 구독 취소에 성공한 후 호출되는 이벤트입니다.
OnHuobiUpdate: 데이터(kline, market depth...)에 업데이트가 있을 때마다 이 이벤트가 호출됩니다. 공개 채널과 비공개 채널의 업데이트를 모두 보고하며, 두 연결 중 어느 쪽에서 도착했는지는 관계없습니다.
OnHuobiError: Huobi API에 오류가 있는 경우 이 이벤트가 오류에 대한 정보를 제공합니다. 비공개 채널이 요청되었지만 구성 요소가 비공개 연결을 열 ApiKey를 가지고 있지 않은 경우에도 호출되며, 이때 Code 매개변수는 "private-credentials"로 설정되고 Msg 매개변수는 요청된 채널의 이름을 전달합니다.