HTX (anciennement Huobi) est une plateforme d'échange de crypto-monnaies internationale multilingue. Le composant API HTX fournit une API REST HTTP en complément de l'API WebSocket Huobi existante.
Vous pouvez configurer les propriétés suivantes dans la propriété Huobi (pour WebSocket) ou la propriété HTXOptions (pour l'API REST).
Le composant HTX étend le client API WebSocket Huobi. Lorsque le client se connecte avec succès aux serveurs HTX, l'événement OnConnect est déclenché. Si la ApiKey n'est pas vide, le client tentera de se connecter au serveur websocket privé, seules les méthodes privées seront donc disponibles. Si la ApiKey est vide, le client se connectera au serveur websocket public et seules les méthodes publiques seront disponibles.
oClient := TsgcWebSocketClient.Create(nil);
oHTX := TsgcWS_API_Huobi.Create(nil);
oHTX.Client := oClient;
oHTX.Huobi.ApiKey := 'your_api_key';
oHTX.Huobi.ApiSecret := 'your_api_secret';
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#HTX Connected');
end;
Le client HTX implémente les événements suivants pour contrôler le flux de connexion et obtenir les données envoyées depuis le serveur WebSocket :
L'API WebSocket fournit des mises à jour de données de marché en temps réel. Consultez la documentation de l'API Huobi pour la liste complète des méthodes d'abonnement WebSocket, incluant les canaux publics (SubscribeKLine, SubscribeMarketDepth, SubscribeTradeDetail, etc.) et les canaux privés (SubscribeOrderUpdates, SubscribeTradeClearing, SubscribeAccountChange).
L'API REST fournit des méthodes publiques et privées pour demander des données des marchés et des comptes privés. L'API REST est accessible via le composant TsgcHTTP_API_HTX.
Données de marché (Publiques)
| Méthode | Description |
| GetServerTime | Obtenir l'heure du serveur. |
| GetSymbols | Obtenir la liste des symboles de trading disponibles. |
| GetCurrencys | Obtenir la liste des devises prises en charge. |
| GetMarketTickers | Obtenir les tickers pour tous les symboles de trading. |
| GetMarketDetail | Obtenir les détails du marché sur 24 heures pour un symbole. |
| GetMarketDepth | Obtenir la profondeur du carnet d'ordres pour un symbole. Prend en charge le type de profondeur et les niveaux de profondeur configurables. |
| GetMarketTrade | Obtenir la transaction la plus récente pour un symbole. |
| GetMarketHistoryTrade | Obtenir l'historique des transactions les plus récentes pour un symbole. |
| GetMarketHistoryKline | Obtenir les données chandelier/kline. Prend en charge plusieurs périodes (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year). |
Trading (Privé)
| Méthode | Description |
| PlaceOrder | Passer un nouvel ordre. Prend en charge les types d'ordres buy-market, sell-market, buy-limit, sell-limit et autres. |
| CancelOrder | Annuler un ordre existant par identifiant d'ordre. |
| GetOrder | Obtenir les détails d'un ordre spécifique. |
| GetOpenOrders | Obtenir la liste des ordres ouverts pour un compte. |
| GetOrderHistory | Obtenir l'historique des ordres pour un symbole. |
Compte (Privé)
| Méthode | Description |
| GetAccounts | Obtenir la liste des comptes. |
| GetAccountBalance | Obtenir le solde d'un compte spécifique. |
| GetAccountAssetValuation | Obtenir la valorisation totale des actifs pour un type de compte (ex. : spot). |
Vous trouverez ci-dessous un exemple d'utilisation de l'API REST.
oHTX := TsgcHTTP_API_HTX.Create(nil);
oHTX.HTXOptions.ApiKey := 'your_api_key';
oHTX.HTXOptions.ApiSecret := 'your_api_secret';
// Get market tickers
oHTX.GetMarketTickers;
// Get kline data
oHTX.GetMarketHistoryKline('btcusdt', '1min', 150);
// Place an order
oHTX.PlaceOrder('12345678', 'btcusdt', 'buy-limit', '0.001', '50000');
// Get account balance
oHTX.GetAccountBalance('12345678');