Huobi (maintenant rebaptisé HTX) est une plateforme d'échange de cryptomonnaies internationale multilingue.
Si vous souhaitez vous abonner aux mises à jour privées du compte, vous devez créer une clé API dans votre compte Huobi. Une fois créée, définissez la clé API et le secret dans le client Huobi API.
HTX sert les données de marché et les données de compte sur deux points de terminaison différents, avec deux schémas différents : wss://api.htx.com/ws transporte les données de marché sous forme de trames d'abonnement v1, et wss://api.htx.com/ws/v2 transporte les canaux de compte et d'ordres sous forme de trames authentifiées v2. Aucun des deux points de terminaison ne répond aux trames de l'autre.
Comportement précédent. Le composant ouvrait une seule connexion et choisissait le point de terminaison en fonction des identifiants : avec une ApiKey vide, il se connectait au point de terminaison public et seules les méthodes publiques fonctionnaient, et avec une ApiKey configurée, il se connectait au point de terminaison privé et seules les méthodes privées fonctionnaient. Une application ayant besoin des données de marché et des données de compte en même temps devait créer deux instances du composant, une avec identifiants et une sans.
Comportement actuel. La connexion du composant est toujours la connexion publique, les données de marché sont donc disponibles que des identifiants soient configurés ou non. Lorsqu'une ApiKey est configurée, le composant ouvre également par lui-même une seconde connexion vers le point de terminaison v2, et une seule instance reçoit alors à la fois les données de marché publiques et les données de compte privées. Cette seconde connexion est interne : elle est ouverte et fermée par le composant en même temps que la connexion publique, elle n'a pas de propriété Active ni d'événements qui lui sont propres, et tout ce qui y arrive est exposé via les événements du composant, exactement comme les données de marché.
Il n'y a rien à changer dans les applications existantes. Aucune nouvelle propriété et aucun nouvel événement n'ont été ajoutés, l'API publique du composant est la même qu'avant. Une application qui définit déjà l'ApiKey et ne s'abonne qu'aux canaux privés continue de fonctionner, et elle peut désormais s'abonner aussi aux canaux publics sur la même instance. Une application qui utilisait deux instances fonctionne toujours, bien que la seconde instance ne soit plus nécessaire.
L'authentification de la connexion privée se déroule de manière autonome, la connexion privée peut donc être encore en cours de connexion ou d'authentification lorsque l'application s'abonne. Ce n'est pas une erreur et il n'y a rien à attendre : le canal est enregistré et il est demandé dès que l'authentification est confirmée. Il en va de même après une reconnexion lorsque Resubscribe est activé, les canaux privés sont reconstruits et redemandés une fois la nouvelle session authentifiée.
Appeler une méthode d'abonnement privée sans ApiKey configurée déclenche désormais l'événement OnHuobiError, qui indique le canal demandé et le point de terminaison dont il avait besoin. Auparavant, la requête était écrite sur une connexion incapable de la servir et elle était perdue sans laisser de trace.
Le client futures (TsgcWS_API_Huobi_Fut) se connecte à un point de terminaison différent, qui n'a pas d'équivalent v2 ici ; il n'ouvre donc aucune seconde connexion et ses trames privées voyagent sur sa propre connexion, exactement comme auparavant.
Vous pouvez vous abonner aux canaux publics suivants (aucune clé API requise)
| Méthode | Description |
| SubscribeKLine | Ce sujet envoie une nouvelle bougie chaque fois qu'elle est disponible. Périodes prises en charge : 1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year. |
| SubscribeMarketDepth | Ce topic envoie le carnet d'ordres de marché le plus récent en mode instantané à un intervalle d'1 seconde. Niveaux d'agrégation de profondeur pris en charge : step0 à step15. |
| SubscribeTradeDetail | Ce sujet envoie les dernières transactions complètes. Il se met à jour en mode tick par tick. |
| SubscribeMarketDetail |
Ce topic envoie les dernières statistiques de marché avec un résumé sur 24h. Il se met à jour en mode snapshot, à une fréquence maximale de 10 fois par seconde. |
| SubscribeBBO | L'utilisateur peut recevoir des mises à jour BBO (Best Bid/Offer) en mode tick à tick. |
| SubscribeMarketTicker |
Récupérer le ticker du marché. Les données sont envoyées toutes les 100 ms. |
| SubscribeMarketByPrice | L'utilisateur peut s'abonner à ce canal pour recevoir les mises à jour du carnet d'ordres Market By Price. L'intervalle de mise à jour est d'environ 100 ms. Niveaux pris en charge : 5, 10, 20, 150, 400. |
Les méthodes suivantes sont disponibles pour le client de l'API Futures (TsgcWS_API_Huobi_Fut) en plus de toutes les méthodes publiques ci-dessus.
| Méthode | Description |
| SubscribeIncrementalMarketDepth | S'abonner aux mises à jour incrémentielles de la profondeur de marché avec une taille et un type de données configurables (snapshot ou incrémental). |
| SubscribePremiumIndexKLine | S'abonner aux données kline/chandelier de l'indice premium pour les contrats à terme. |
| SubscribeEstimatedRateKLine | S'abonner aux données de chandelier/kline du taux de financement estimé pour les contrats à terme. |
| SubscribeBasisData | S'abonner aux données de base (écart de prix spot-futures). Prend en charge différents types de prix de base : open, close, high, low. |
| SubscribeMarkPriceKLine | S'abonner aux données de chandelier/kline du prix mark pour les contrats à terme. |
| SubscribeLiquidationOrders | S'abonner au flux d'ordres de liquidation publics pour un contrat donné. Aucune authentification requise. |
| SubscribeFundingRate | Abonnez-vous aux mises à jour publiques du taux de financement pour un contrat donné. Aucune authentification requise. |
| SubscribeContractInfo | S'abonner aux changements de paramètres de contrat (ex : inscriptions, radiations, ajustements de paramètres). |
Vous pouvez vous abonner aux canaux privés suivants (une clé API est requise). Ils sont servis par la seconde connexion que le composant ouvre automatiquement lorsque l'ApiKey est configurée, ils peuvent donc être combinés avec les canaux publics sur la même instance du composant. Si les informations d'identification ne sont pas correctes, la connexion sera fermée automatiquement, et s'il n'y a pas d'ApiKey du tout, la requête est signalée dans l'événement OnHuobiError.
| Méthode | Description |
| SubscribeOrderUpdates |
Une mise à jour d'ordre peut être déclenchée par l'un des éléments suivants :
|
| SubscribeTradeClearing | Mise à jour uniquement lorsque l'ordre est en transaction ou en annulation. La mise à jour des transactions d'ordre se fait en mode tick par tick, ce qui signifie que si l'ordre d'un preneur correspond à plusieurs ordres de fournisseurs, les transactions multiples simultanées seront diffusées une par une. Toutefois, la séquence de mise à jour des transactions multiples peut ne pas correspondre exactement à la séquence des transactions effectuées. De plus, si un ordre est automatiquement annulé immédiatement après ses remplissages partiels, par exemple un ordre IOC typique, ce canal diffusera peut-être la mise à jour d'annulation en premier, avant la transaction. |
| SubscribeAccountChange |
Lors de l'abonnement à une valeur de champ spécifiée, la mise à jour peut être déclenchée par l'un des événements suivants. Le paramètre aMode contrôle le comportement de la mise à jour :
Mode 0 : mise à jour uniquement lorsque le solde du compte change. Mode 1 : Mise à jour lorsque le solde du compte ou le solde disponible est modifié (mises à jour séparées). Mode 2 : Mise à jour lorsque le solde du compte ou le solde disponible est modifié (mise à jour combinée). |
OnHuobiSubscribed : événement déclenché après un abonnement réussi.
OnHuobiUnSubscribed : événement appelé après un désabonnement réussi.
OnHuobiUpdate : chaque fois qu'il y a une mise à jour des données (kline, profondeur de marché...) cet événement est appelé. Il rapporte les mises à jour des canaux publics et des canaux privés, quelle que soit celle des deux connexions sur laquelle elles sont arrivées.
OnHuobiError : en cas d'erreur dans l'API Huobi, cet événement fournira des informations sur l'erreur. Il est également appelé lorsqu'un canal privé est demandé et que le composant n'a pas d'ApiKey pour ouvrir la connexion privée, avec le paramètre Code défini sur "private-credentials" et le paramètre Msg indiquant le nom du canal qui était demandé.