Binance est une bourse de cryptomonnaies internationale multilingue. Elle propose des API pour accéder aux données Binance. Les API suivantes sont supportées :
Le client prend également en charge Binance.us ; les APIs suivantes sont prises en charge :
L'API Binance 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. Certaines sont privées et liées aux données utilisateur ; ces méthodes nécessitent l'utilisation des clés API Binance.
REST API
Le point de terminaison de base est wss://stream.binance.com:9443, le client peut s'abonner / se désabonner des événements après une connexion réussie.
Les méthodes d'abonnement / désabonnement suivantes sont prises en charge.
| Méthode | Paramètres | Description |
| AggregateTrades | Symbol | envoyer les informations de transaction agrégées pour un seul ordre preneur |
| Trades | Symbol | diffuser les informations brutes sur les transactions ; chaque transaction a un acheteur et un vendeur uniques |
| KLine | Symbole, Intervalle | diffuser les mises à jour des klines/bougies actuelles chaque seconde, minute, heure… |
| MiniTicker | Symbol | Statistiques mini-ticker sur une fenêtre glissante de 24h. Ce ne sont PAS les statistiques du jour UTC, mais une fenêtre glissante de 24h pour les 24 heures précédentes. |
| AllMiniTickers | Statistiques mini-ticker sur une fenêtre glissante de 24h pour tous les symboles ayant changé dans un tableau. Ce ne sont PAS les statistiques de la journée UTC, mais une fenêtre glissante de 24h pour les 24 heures précédentes. Notez que seuls les tickers ayant changé seront présents dans le tableau. | |
| Ticker | Symbol | Statistiques de ticker sur une fenêtre glissante de 24h pour un seul symbole. Il ne s'agit PAS des statistiques du jour UTC, mais d'une fenêtre glissante de 24h pour les 24h précédentes. |
| AllMarketTickers | Statistiques de ticker sur une fenêtre glissante de 24h pour tous les symboles ayant changé dans un tableau. Il ne s'agit PAS des statistiques du jour UTC, mais d'une fenêtre glissante de 24h pour les 24h précédentes. Notez que seuls les tickers ayant changé seront présents dans le tableau. | |
| BookTicker | Symbol | Envoie en temps réel toute mise à jour du prix ou de la quantité du meilleur bid ou ask pour un symbole donné. |
| AllBookTickers | Pousse toute mise à jour du meilleur prix ou de la quantité bid/ask en temps réel pour tous les symboles. | |
| PartialBookDepth | Symbole, Profondeur | Les <niveaux> premières offres et demandes, transmises chaque seconde. Les valeurs <niveaux> valides sont 5, 10 ou 20. |
| DiffDepth | Symbol | Mises à jour de profondeur de prix et de quantité du carnet d'ordres utilisées pour gérer localement un carnet d'ordres. |
Après un abonnement / désabonnement réussi, le client reçoit un message à ce sujet, où id est le résultat de la méthode Subscribed / Unsubscribed.
{
"result": null,
"id": 1
}
Nécessite une ApiKey valide obtenue depuis votre compte Binance, et ApiKey doit être définie dans la propriété Binance.ApiKey du composant.
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 |
| Mise à jour du compte | L'état du compte est mis à jour avec l'événement outboundAccountInfo. |
| Mise à jour du solde |
La mise à jour du solde se produit dans les cas suivants :
|
| Mise à jour d'ordre | Les ordres sont mis à jour avec l'événement executionReport. |
Le point de terminaison de base est : https://api.binance.com. Tous les points de terminaison retournent un objet ou un tableau JSON. Les données sont retournées dans l'ordre croissant : les plus anciennes en premier, les plus récentes en dernier.
Accès aux options de l'API REST, en utilisant la propriété REST_API.BinanceOptions.
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 |
| Ping | Tester la connectivité à l'API Rest. | |
| GetServerTime | Tester la connectivité à l'API Rest et obtenir l'heure actuelle du serveur. | |
| GetExchangeInformation | Règles de trading actuelles de la plateforme et informations sur les symboles |
Points de terminaison des données de marché
| Méthode | Paramètres | Description |
| GetOrderBook | Symbol | Obtenir le carnet d'ordres. |
| GetTrades | Symbol | Obtenir les transactions récentes |
| GetHistoricalTrades | Symbol | Obtenir les anciens trades. |
| GetAggregateTrades | Symbol | Obtenir des transactions agrégées et compressées. Les transactions réalisées au même moment, issues du même ordre et au même prix auront la quantité agrégée. |
| GetKLines | Symbole, Intervalle | Barres Kline/chandeliers pour un symbole. Les Klines sont identifiées de manière unique par leur heure d'ouverture. |
| GetAveragePrice | Symbol | Prix moyen actuel pour un symbole. |
| Get24hrTicker | Symbol | Statistiques de variation de prix sur une fenêtre glissante de 24 heures. Attention lors de l'accès sans symbole. |
| GetPriceTicker | Symbol | Dernier prix pour un symbole. |
| GetPriceTickers | Symboles | Dernier prix pour un tableau de symboles. Exemple : ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | Symbol | Meilleur prix/quantité dans le carnet d'ordres pour un ou plusieurs symboles. |
| GetUIKLines | Symbole, Intervalle | Barres Kline/chandelier pour un symbole. La réponse est similaire à GetKLines, optimisée pour la présentation des graphiques en chandeliers. |
| GetRollingWindowTicker | Symbol, Symbols, WindowSize | Statistiques de variation de prix sur une fenêtre glissante. Remarque : WindowSize est par défaut 1d si non spécifié. |
| GetTradingDayTicker | Symbol, Symbols, Type | Statistiques de variation de prix pour une journée de trading. |
Points de terminaison API privés
Nécessite une APIKey et un APISecret pour être autorisé par le serveur.
Points de terminaison des données de compte
| Méthode | Paramètres | Description |
| NewOrder | Symbol, Side, Type | Envoyer un nouvel ordre. |
| PlaceMarketOrder | Side, Symbol, Quantity | Place un nouvel ordre au marché |
| PlaceMarketQuoteOrder | Side, Symbol, QuoteOrderQty | Passe un nouvel ordre de cotation au marché |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | Place un nouvel ordre à cours limité |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Passer un nouvel ordre stop |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Passe un nouvel ordre stop suiveur |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Place un nouvel ordre Take Profit |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Place un nouvel ordre Take Profit Trailing |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | Place un nouvel ordre limite au marché |
| TestNewOrder | Symbol, Side, Type | Tester la création d'un nouvel ordre et la signature/recvWindow long. Crée et valide un nouvel ordre mais ne l'envoie pas dans le moteur de correspondance. |
| QueryOrder | Symbol | Vérifier le statut d'un ordre. |
| CancelOrder | Symbol | Annule un ordre actif. Annule un ordre actif. OrderId ou OrigClientOrderId doit être envoyé. |
| CancelAllOpenOrders | Symbole (optionnel) | |
| GetOpenOrders | Obtenir tous les ordres ouverts sur un symbole. Soyez prudent lors de l'accès sans symbole. | |
| GetAllOrders | Symbol | Obtenir tous les ordres du compte ; actifs, annulés ou exécutés. |
| NewOCO | Symbole, Côté, Quantité, Prix, PrixStop | Envoyer un nouvel OCO |
| CancelOCO | Symbol | Annuler une liste d'ordres entière |
| QueryOCO | Symbol | Récupère un OCO spécifique basé sur les paramètres optionnels fournis |
| GetAllOCO | Récupère tous les OCO en fonction des paramètres optionnels fournis | |
| GetOpenOCO | Obtenir tous les OCO ouverts. | |
| GetAccountInformation | Obtenir les informations du compte courant. | |
| GetAccountTradeList | Symbol | Obtenir les transactions pour un compte et un symbole spécifiques. |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | Annule un ordre existant et place un nouvel ordre sur le même symbole. |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | Placer un nouvel ordre liste OCO. |
| NewOrderListOTO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity | Placer un nouvel ordre OTO (One-Triggers-the-Other). |
| NewOrderListOTOCO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity | Placer un nouvel ordre OTOCO (One-Triggers-a-One-Cancels-the-Other). |
| NewSOROrder | Symbol, Side, Type, Quantity | Passe un ordre en utilisant le routage intelligent des ordres (SOR). |
| TestSOROrder | Symbol, Side, Type, Quantity | Tester un nouvel ordre en utilisant le routage intelligent des ordres (SOR). Crée et valide un nouvel ordre mais ne l'envoie pas au moteur de correspondance. |
| GetOrderRateLimitUsage | Affiche l'utilisation actuelle du nombre de requêtes de l'utilisateur pour tous les intervalles. | |
| GetPreventedMatches | Symbol | Affiche la liste des ordres expirés en raison du STP (Self Trade Prevention). |
| GetAllocations | Symbol | Récupère les allocations résultant du placement d'un ordre SOR. |
| GetAccountCommission | Symbol | Obtenir les taux de commission du compte en cours. |
Convertir les points de terminaison
| Méthode | Paramètres | Description |
| GetAllConvertPairs | FromAsset, ToAsset | Interroger toutes les paires de tokens convertibles et leurs limites supérieures/inférieures respectives. |
| GetConvertAssetInfo | Interrogation des informations de précision des actifs pris en charge | |
| SendConvertQuoteRequest | FromAsset, ToAsset | Demander un devis pour les paires de jetons demandées |
| AcceptConvertQuote | QuoteId | Accepter le devis proposé par identifiant de devis. |
| GetConvertOrderStatus | OrderId ou QuoteId | Interroger le statut d'un ordre par son identifiant. |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
Permet aux utilisateurs de passer un ordre limité. baseAsset ou quoteAsset peuvent être déterminés via le point de terminaison exchangeInfo. |
| CancelConvertLimitOrder | OrderId | Permettre aux utilisateurs d'annuler un ordre à cours limité |
| GetConvertLimitOpenOrders | Permet aux utilisateurs d'interroger tous les ordres limités existants | |
| GetConvertTradeHistory | StartTime, EndTime | L'intervalle maximum entre startTime et endTime est de 30 jours. |
Points de terminaison du portefeuille
(*les points de terminaison wallet fonctionnent uniquement avec le serveur de production, pas la démo)
| Méthode | Description |
| GetWalletSystemStatus | Récupérer le statut du système. |
| GetWalletAllCoinsInformation | Obtenir les informations sur les monnaies (disponibles pour le dépôt et le retrait) pour l'utilisateur. |
| GetWalletDailyAccountSnapshot | Type : "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | Cette requête désactivera le commutateur de retrait rapide sous votre compte. Vous devez activer l'option "trade" pour la clé API qui effectue cette requête. |
| SetWalletEnableFastWithdrawSwitch | Cette requête activera l'option de retrait rapide sur votre compte. Vous devez activer l'option "trade" pour la clé API qui demande ce point de terminaison. Lorsque Fast Withdraw Switch est activé, le transfert de fonds vers un compte Binance se fait instantanément. Il n'y a pas de transaction on-chain, pas d'identifiant de transaction et pas de frais de retrait. |
| WalletWithdraw |
Soumettre une demande de retrait.
|
| GetWalletDepositHistory | Récupérer l'historique des dépôts. |
| GetWalletWithdrawHistory | Récupérer l'historique des retraits. |
| GetWalletDepositAddress | Récupérer l'adresse de dépôt avec le réseau. |
| GetWalletAccountStatus | Récupérer le détail du statut du compte. |
| GetWalletAccountAPITradingStatus | Récupère les détails du statut de trading de l'API du compte. |
| GetWalletDustLog | Retourner uniquement les 100 derniers enregistrements Retourner uniquement les enregistrements après le 01/12/2020 |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
Convertir les actifs de poussière en BNB. Vous devez activer l'autorisation de trading Spot & Margin pour la clé API qui effectue des requêtes vers ce point de terminaison. |
| GetWalletAssetDividendRecord | Interroger l'enregistrement des dividendes d'actifs. |
| GetWalletAssetDetail | Récupérer les détails des actifs pris en charge sur Binance. |
| GetWalletTradeFee | Récupérer les frais de transaction |
| WalletUserUniversalTransfer |
Vous devez activer l'option Autoriser le transfert universel pour la clé API qui demande ce point de terminaison. MAIN_UMFUTURE Transfert du compte Spot vers le compte USDⓈ-M Futures ENUM du Type :
|
| GetWalletQueryUserUniversalTransferHistory |
|
| GetWalletFundingWallet | Prend actuellement en charge les actifs commerciaux suivants : Binance Pay, Binance Card, Binance Gift Card, Stock Token |
| GetWalletUserAsset | Obtenir les actifs de l'utilisateur, uniquement pour les données positives. |
| GetWalletApiKeyPermission |
Les messages Binance sont reçus dans le composant TsgcWebSocketClient ; vous pouvez utiliser les événements suivants :
OnConnect
Après une connexion réussie au serveur Binance.
OnDisconnect
Après une déconnexion du serveur Binance
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 Binance, appelé OnBinanceHTTPException, qui est déclenché à chaque erreur lors d'un appel à une requête HTTP (API REST ou flux utilisateur WebSocket).
(*) En raison de modifications des serveurs Binance, les versions Indy antérieures à Rad Studio 10.1 ne pourront pas se connecter aux serveurs de test. Ce problème n'affecte pas l'édition Enterprise ni les versions Indy mises à niveau vers la dernière version.