API Huobi

Huobi (HTX)

Huobi (şimdi HTX olarak yeniden markalanmıştır) uluslararası, çok dilli bir kripto para borsasıdır.

Yapılandırma

Özel hesap güncellemelerine abone olmak istiyorsanız, Huobi Hesabınızda bir API Key oluşturmanız gerekir. Oluşturulduktan sonra, API Key ve Secret'i Huobi API İstemcisinde ayarlayın

Tek Bir Bileşenle Genel ve Özel Veriler

HTX, piyasa verilerini ve hesap verilerini iki farklı uç noktada, iki farklı şema ile sunar: wss://api.htx.com/ws piyasa verilerini v1 abonelik çerçeveleri olarak taşır, wss://api.htx.com/ws/v2 ise hesap ve emir kanallarını v2 kimlik doğrulamalı çerçeveler olarak taşır. Uç noktalardan hiçbiri diğerinin çerçevelerine yanıt vermez.

Önceki davranış. Bileşen tek bir bağlantı açar ve uç noktayı kimlik bilgilerine göre seçerdi: ApiKey boşken genel uç noktaya bağlanır ve yalnızca genel yöntemler çalışırdı, bir ApiKey yapılandırıldığında ise özel uç noktaya bağlanır ve yalnızca özel yöntemler çalışırdı. Aynı anda hem piyasa verisine hem de hesap verisine ihtiyaç duyan bir uygulamanın, biri kimlik bilgileriyle diğeri kimlik bilgisi olmadan olmak üzere iki bileşen örneği oluşturması gerekiyordu.

Güncel davranış. Bileşenin bağlantısı her zaman genel bağlantıdır, bu nedenle kimlik bilgileri yapılandırılmış olsun ya da olmasın piyasa verisi her zaman kullanılabilir. Bir ApiKey yapılandırıldığında, bileşen kendiliğinden v2 uç noktasına ikinci bir bağlantı da açar ve tek bir örnek, genel piyasa verisini ve özel hesap verisini aynı anda alır. Bu ikinci bağlantı dahilidir: genel bağlantıyla birlikte bileşen tarafından açılır ve kapatılır, kendi Active özelliği ve kendi olayları yoktur; üzerinden gelen her şey, tıpkı piyasa verisinde olduğu gibi, bileşenin olayları aracılığıyla dışa yansıtılır.

Mevcut uygulamalarda değiştirilmesi gereken hiçbir şey yoktur. Yeni bir özellik veya yeni bir olay eklenmemiştir, bileşenin genel API'si öncekiyle aynıdır. ApiKey'i zaten ayarlayan ve yalnızca özel kanallara abone olan bir uygulama çalışmaya devam eder ve artık aynı örnek üzerinden genel kanallara da abone olabilir. İki örnek kullanan bir uygulama da çalışmaya devam eder, ancak ikinci örnek artık gerekli değildir.

Özel bağlantının kimlik doğrulaması kendi başına yürür, bu nedenle uygulama abone olduğunda özel bağlantı hâlâ bağlanıyor veya kimlik doğrulanıyor olabilir. Bu bir hata değildir ve beklenmesi gereken bir şey yoktur: kanal kaydedilir ve kimlik doğrulaması onaylanır onaylanmaz istenir. Aynı durum, Resubscribe etkinleştirildiğinde yeniden bağlantıdan sonra da geçerlidir; yeni oturumun kimliği doğrulandıktan sonra özel kanallar yeniden oluşturulur ve tekrar istenir.

ApiKey yapılandırılmamışken bir özel abone olma yöntemi çağrıldığında artık istenen kanalı ve gerektirdiği uç noktayı bildiren OnHuobiError olayı tetiklenir. Önceden, istek bu isteği karşılayamayan bir bağlantı üzerine yazılıyor ve hiçbir iz bırakmadan kayboluyordu.

Futures istemcisi (TsgcWS_API_Huobi_Fut), burada bir v2 karşılığı bulunmayan farklı bir uç noktaya bağlanır; bu nedenle ikinci bir bağlantı açmaz ve özel çerçeveleri, her zaman olduğu gibi kendi bağlantısı üzerinden taşınır.

Genel (Public) Yöntemler

Aşağıdaki genel kanallara abone olabilirsiniz (api anahtarı gerekli değildir)

Yöntem Açıklama
SubscribeKLine Bu konu, mevcut olduğunda yeni bir mum gönderir. Desteklenen periyotlar: 1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year.
SubscribeMarketDepth Bu konu, en son fiyata göre piyasa emir defterini anlık görüntü (snapshot) modunda 1 saniyelik aralıklarla gönderir. Desteklenen derinlik toplama düzeyleri: step0 ile step15 arası.
SubscribeTradeDetail Bu konu en son tamamlanan işlemleri gönderir. Tick tick modunda güncellenir.
SubscribeMarketDetail

Bu konu, 24 saatlik özetle en son piyasa istatistiklerini gönderir. Anlık görüntü modunda, saniyede 10 defadan fazla olmamak üzere güncellenir

SubscribeBBO Kullanıcı, tick by tick modunda BBO (Best Bid/Offer) güncellemesi alabilir.
SubscribeMarketTicker

Piyasa ticker'ını alın. Veriler her 100ms'de bir gönderilir.

SubscribeMarketByPrice Kullanıcı, Market By Price emir defterinin yenileme güncellemesini almak için bu kanala abone olabilir. Güncelleme aralığı yaklaşık 100 ms'dir. Desteklenen seviyeler: 5, 10, 20, 150, 400.

Futures Genel (Public) Yöntemleri

Futures API istemcisi (TsgcWS_API_Huobi_Fut) için, yukarıdaki tüm genel yöntemlere ek olarak aşağıdaki yöntemler kullanılabilir.

Yöntem Açıklama
SubscribeIncrementalMarketDepth Yapılandırılabilir boyut ve veri türü (snapshot veya artımlı) ile artımlı piyasa derinliği güncellemelerine abone olun.
SubscribePremiumIndexKLine Futures sözleşmeleri için premium index kline/mum çubuğu verilerine abone olun.
SubscribeEstimatedRateKLine Futures sözleşmeleri için tahmini fonlama oranı kline/mum çubuğu verilerine abone olun.
SubscribeBasisData Basis verilerine (spot-futures fiyat farkı) abone olun. Farklı basis fiyat türlerini destekler: open, close, high, low.
SubscribeMarkPriceKLine Futures sözleşmeleri için mark price kline/mum çubuğu verilerine abone olun.
SubscribeLiquidationOrders Belirli bir sözleşme için public liquidation order akışına abone olun. Kimlik doğrulama gerekmez.
SubscribeFundingRate Belirli bir sözleşme için genel fonlama oranı (funding rate) güncellemelerine abone olun. Kimlik doğrulama gerekmez.
SubscribeContractInfo Kontrat parametre değişikliklerine abone olun (örn. kontrat listelemeleri, listeden çıkarmalar, parametre ayarlamaları).

Özel Yöntemler

Aşağıdaki özel kanallara abone olabilirsiniz (bir api anahtarı gereklidir). Bu kanallar, ApiKey yapılandırıldığında bileşenin otomatik olarak açtığı ikinci bağlantı üzerinden sunulur, böylece aynı bileşen örneğinde genel kanallarla birleştirilebilirler. Kimlik bilgileri doğru değilse bağlantı otomatik olarak kapatılır, hiç ApiKey yoksa istek OnHuobiError olayında bildirilir.

Yöntem Açıklama
SubscribeOrderUpdates

Bir emir güncellemesi aşağıdakilerden herhangi biri tarafından tetiklenebilir:


- Koşullu emir tetikleme hatası (eventType=trigger)
- Tetiklemeden önce koşullu emir iptali (eventType=deletion)
- Emir oluşturma (eventType=creation)
- Emir eşleştirme (eventType=trade)
- Emir iptali (eventType=cancellation)

SubscribeTradeClearing Yalnızca emir işlemde veya iptalde olduğunda güncellenir. Emir işlem güncellemesi tik tik modundadır, yani bir taker emri birden fazla maker emriyle eşleşirse, eşzamanlı birden fazla işlem birer birer yayılır. Ancak birden fazla işlemin güncelleme sırası, yapılan işlemlerin sırasıyla tam olarak aynı olmayabilir. Ayrıca, bir emir kısmi dolumlarından hemen sonra otomatik olarak iptal edilirse, örneğin tipik bir IOC emri, bu kanal muhtemelen işlemden önce iptal güncellemesini yayar.
SubscribeAccountChange

Abonelik alan değeri belirtildiğinde, güncelleme aşağıdaki olaylardan biri tarafından tetiklenebilir. aMode parametresi güncelleme davranışını kontrol eder:

Mode 0: Yalnızca hesap bakiyesi değiştiğinde güncellenir.

Mod 1: Hesap bakiyesi veya kullanılabilir bakiyeden herhangi biri değiştiğinde güncelle (ayrı güncellemeler).

Mod 2: Hesap bakiyesi veya kullanılabilir bakiye değiştiğinde güncelle (birleşik güncelleme).

Olaylar

OnHuobiSubscribed: başarılı bir abonelikten sonra çağrılan olay.

OnHuobiUnSubscribed: başarılı bir abonelikten çıkmanın ardından çağrılan olay.

OnHuobiUpdate: verilerde bir güncelleme olduğunda (kline, market depth...) bu olay çağrılır. İki bağlantıdan hangisinden geldiğine bakılmaksızın, hem genel hem de özel kanalların güncellemelerini bildirir.

OnHuobiError: Huobi API'sinde bir hata varsa, bu olay hata hakkında bilgi sağlayacaktır. Ayrıca, bir özel kanal istendiğinde ve bileşenin özel bağlantıyı açacak bir ApiKey'i olmadığında da çağrılır; Code parametresi "private-credentials" olarak ayarlanır ve Msg parametresi istenen kanalın adını taşır.