API HTX

HTX

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.

APIs prises en charge

Propriétés

Vous pouvez configurer les propriétés suivantes dans la propriété Huobi (pour WebSocket) ou la propriété HTXOptions (pour l'API REST).

Connexion

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;

Événements

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 :

API 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).

REST API

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');