API Kucoin Futures

Kucoin Futures

 

Kucoin est une plateforme d'échange de cryptomonnaies internationale et multilingue. Elle propose plusieurs API pour accéder aux données Kucoin. Les API suivantes sont prises en charge :

 

  1. Flux WebSocket : permet de s'abonner à certaines méthodes et d'obtenir des données en temps réel. Les événements sont poussés vers les clients par le serveur vers les abonnés. Utilise WebSocket comme protocole.
  2. REST API : les clients peuvent demander au serveur des données de marché et de compte. Nécessite une clé API, un secret et une phrase de passe pour s'authentifier et utilise HTTPs comme protocole.

 

 

Propriétés

L'API Kucoin dispose de 2 types de méthodes : publiques et privées. Les méthodes publiques sont accessibles sans authentification, par exemple : obtenir les prix des tickers. Les méthodes privées liées aux données utilisateur nécessitent l'utilisation des clés API Kucoin.

 

 

Utilisations les plus courantes

 

Flux WebSocket

Pour s'abonner aux messages d'un canal depuis un certain serveur, le côté client doit envoyer un message d'abonnement au serveur.

Si l'abonnement réussit, le système vous enverra des messages ack lorsque la réponse est définie à true.

{
"id":"1545910660739",
"type":"ack"
}
Tant que des messages de sujet sont générés, le système enverra les messages correspondants côté client.

 

Les méthodes d'abonnement / désabonnement suivantes sont prises en charge.

 

Canaux publics

 

Méthode Paramètres Description
SubscribeSymbolTickerV2 Symbol Abonnez-vous à ce topic pour recevoir les mises à jour BBO en temps réel. Après l'abonnement, lorsque des changements surviennent dans le carnet d'ordres, le système vous enverra les informations du ticker en temps réel. Il est recommandé d'utiliser le nouveau topic pour des informations à jour.
SubscribeSymbolTicker Symbol Abonnez-vous à ce sujet pour obtenir les mises à jour BBO en temps réel. Le canal ticker fournit des mises à jour de prix en temps réel à chaque transaction. Si plusieurs ordres sont exécutés simultanément, seul le dernier événement de correspondance sera transmis.
SubscribeLevel2MarketData Symbol Abonnez-vous à ce sujet pour obtenir les données du carnet d'ordres de niveau 2.
SubscribeExecutionData Symbol Pour chaque ordre exécuté, le système vous enverra les messages de correspondance dans le format suivant.
SubscribeLevel2_5BestAskBid Symbol Retourné au maximum toutes les 100 millisecondes.
SubscribeLevel2_50BestAskBid Symbol Retourné au maximum toutes les 100 millisecondes.
SubscribeContractMarketData Symbol Abonnez-vous à ce sujet pour obtenir les données de marché du contrat.
SubscribeSystemAnnouncements Symbol Abonnez-vous à ce topic pour recevoir les annonces système.
SubscribeTransactionStatistics Symbol Les statistiques de transaction seront envoyées aux utilisateurs toutes les 5 secondes.
SubscribeKlines Symbol S'abonner aux données de lignes de contrat (chandeliers).
SubscribeFundingFeeSettlement Symbol Abonnez-vous aux notifications de règlement des frais de financement.

 

Si le paramètre ACK est envoyé à true, après un abonnement / désabonnement réussi, le client reçoit un message à ce sujet.

 

Canaux privés

Nécessite une ApiKey valide obtenue depuis votre compte Kucoin. L'ApiKey, l'ApiSecret et la Passphrase doivent être définis dans la propriété Kucoin du composant API client.

 

Les données suivantes sont envoyées au client chaque fois qu'il y a un changement. Il n'est pas nécessaire de s'abonner à une méthode ; cela est fait automatiquement si vous définissez une ApiKey valide.

 

Méthode Description
SubscribeTradeOrders Ce topic enverra tous les événements de modification de vos ordres.
SubscribeAccountBalance

Vous recevrez ce message lorsque le solde d'un compte change. Le message contient les détails du changement.

SubscribePositionChange Le système enverra l'événement de changement lorsque le statut de la position change.
SubscribeStopOrder Lorsqu'un ordre stop est reçu par le système, vous recevrez un message avec le type « open ». Cela signifie que cet ordre est entré dans le système et attend d'être déclenché.
SubscribeMarginMode Abonnez-vous aux changements de mode de marge. Le système enverra l'événement de changement lorsque le mode de marge est mis à jour.
SubscribeCrossMarginLeverage S'abonner aux modifications de levier en marge croisée. Le système transmettra l'événement de modification lorsque le levier en marge croisée est mis à jour.

 

 

REST API

Tous les points de terminaison retournent soit un objet JSON, soit un tableau JSON.

 

Points de terminaison API publics

 

Ces points de terminaison sont accessibles sans aucune autorisation.

 

Points de terminaison généraux

 

Méthode Paramètres Description
GetServiceStatus   Tester la connectivité à l'API Rest et obtenir l'état du service
GetServerTime   Tester la connectivité à l'API Rest et obtenir l'heure actuelle du serveur.

 

 

Points de terminaison des données de marché

 

Méthode Paramètres Description
GetOpenContractList   Soumettre une requête pour obtenir les informations de tous les contrats ouverts.
GetOrderInfoContract   Soumettre une requête pour obtenir les informations du contrat spécifié.
GetTicker Symbol Le ticker en temps réel inclut le dernier prix négocié, la dernière taille négociée, l'identifiant de transaction, le côté du preneur de liquidité, le meilleur prix et taille bid, le meilleur prix et taille ask ainsi que l'heure de transaction des ordres. Ces messages peuvent également être obtenus via Websocket. Le numéro de séquence est utilisé pour déterminer si les messages poussés par Websocket sont continus.
GetPartOrderBook20 Symbol Obtenir un snapshot des ordres ouverts agrégés pour un symbole.
GetPartOrderBook100 Symbol Obtenir un snapshot des ordres ouverts agrégés pour un symbole.
GetFullOrderBook Symbol Obtenir un snapshot des ordres ouverts agrégés pour un symbole.
GetLevel2PullingMessages Symbol Si les messages poussés par Websocket ne sont pas continus, vous pouvez soumettre la requête suivante et récupérer à nouveau les données pour vous assurer que la séquence n'est pas manquante. Dans la requête, le paramètre start est le numéro de séquence de votre dernier message reçu plus 1, et le paramètre end est le numéro de séquence de votre message reçu actuel moins 1. Après avoir récupéré à nouveau les messages et les avoir appliqués à votre carnet d'ordres d'exchange local, vous pouvez continuer à mettre à jour le carnet d'ordres via le flux incrémental Websocket. Si la différence entre le paramètre end et start est supérieure à 500, arrêtez d'utiliser cette requête et nous vous suggérons de reconstruire le carnet d'ordres Level 2.
GetTradeHistory Symbol Lister les 100 dernières transactions pour un symbole.
GetInterestRateList Symbol Vérifier la liste des taux d'intérêt.
GetIndexList Symbol Vérifier la liste des index
GetCurrentMarkPrice Symbol Vérifier le prix mark actuel.
GetPremiumIndex Symbol Soumettre une requête pour obtenir l'indice de prime.
GetCurrentFundingRate Symbol Soumettre une requête pour vérifier le prix mark actuel.
GetKLine Symbol Obtenir les données K Line du contrat

 

 

 

Points de terminaison API privés

 

Nécessite une APIKey et un APISecret pour être autorisé par le serveur.

 

Points de terminaison utilisateur

 

Méthode Paramètres Description
GetAccountOverview   Obtenir la vue d'ensemble du compte
GetTransactionHistory   Si des positions ouvertes existent, le statut de la première page retournée sera Pending, indiquant le profit et la perte réalisés dans la période de règlement de 8 heures en cours. Veuillez spécifier le numéro d'offset minimum de la page courante dans le champ offset pour tourner la page.

 

 

Points de terminaison de trading

 

Méthode Paramètres Description
PlaceOrder   Vous pouvez passer deux types d'ordres : limite et marché. Les ordres ne peuvent être passés que si votre compte dispose de fonds suffisants. Une fois un ordre passé, vos fonds seront mis en attente pour la durée de l'ordre. Le montant des fonds en attente dépend du type d'ordre et des paramètres spécifiés.
PlaceMarketOrder   Place un ordre au marché.
PlaceLimitOrder   Place un ordre à cours limité.
CancelOrder   Annule un ordre par identifiant d'ordre.
LimitOrderMassCancellation   Annuler tous les ordres ouverts (à l'exclusion des ordres stop). La réponse est une liste d'orderID des ordres annulés.
StopOrderMassCancellation   Annuler tous les ordres stop non déclenchés. La réponse est une liste d'IDs d'ordres des ordres stop annulés. Pour annuler les ordres stop déclenchés, veuillez utiliser 'Limit Order Mass Cancelation'.
GetOrderList   Listez vos ordres actuels.
GetUntriggeredStopOrderList   Obtenir la liste des ordres stop non déclenchés.
GetListOrdersCompleted24hr   Obtenir la liste des 1000 ordres récents des dernières 24 heures. Si vous avez besoin d'obtenir l'historique de vos ordres tradés récents avec une faible latence, vous pouvez interroger ce point de terminaison.
GetOrder   Obtenir un ordre unique par identifiant d'ordre (y compris un ordre stop).
GetOrderByClientOid   Obtenir un seul ordre par identifiant d'ordre client (y compris un ordre stop).
GetFills   Obtenir la liste des exécutions récentes.
GetRecentFills   Obtenir la liste des 1000 exécutions récentes des dernières 24 heures. Si vous avez besoin d'obtenir l'historique de vos ordres récents avec une faible latence, vous pouvez interroger ce point de terminaison.
ActiveOrderValueCalculation   Vous pouvez interroger ce point de terminaison pour obtenir le nombre total et la valeur de tous vos ordres actifs.
GetPositionDetails   Obtenir les détails d'une position spécifiée.
GetPositionList   Obtenir les détails d'une position spécifiée.
AutoDepositMargin   Activer/Désactiver le dépôt de marge automatique
AddMarginManually   Ajouter manuellement une marge
ObtainFuturesRiskLimitLevel   Cette interface peut être utilisée pour obtenir des informations sur le niveau de limite de risque d'un contrat spécifique
AdjustRiskLimitLevel   Cette interface est destinée à l'ajustement du niveau de limite de risque. L'ajustement du niveau annulera l'ordre ouvert ; la réponse peut uniquement indiquer si la soumission de la demande d'ajustement a réussi ou non.
GetFundingHistory   Soumettre une demande pour obtenir l'historique des financements.
GetMaxOpenSize Obtenir la taille de position ouverte maximale pour un contrat.
SwitchMarginMode Basculer entre les modes de marge croisée et de marge isolée.
GetMarginMode Obtenir le mode de marge actuel pour un contrat.

 

 

Événements

Les messages Kucoin sont reçus dans le composant TsgcWebSocketClient ; vous pouvez utiliser les événements suivants :

 

OnConnect

Après une connexion réussie au serveur Kucoin.

OnDisconnect

Après une déconnexion du serveur Kucoin

OnMessage

Les messages envoyés par le serveur au client sont traités dans cet événement.

OnError

En cas d'erreur dans le protocole, cet événement sera appelé.

OnException

En cas d'exception non gérée, cet événement sera appelé.

 

De plus, il existe un événement spécifique dans le composant API Kucoin, appelé OnKucoinHTTPException, qui est déclenché chaque fois qu'une erreur se produit lors de l'appel d'une requête HTTP (API REST ou flux WebSocket).