Principaux points à retenir
Les API sont des morceaux de code qui permettent aux applications de partager des informations et peuvent être utilisées pour améliorer les stratégies de trading de cryptomonnaies.
Postman est une plateforme API qui simplifie le processus de création et d'utilisation des API.
Apprenez-en davantage sur l'utilisation de Postman pour le trading au comptant dans l'écosystème API Binance.
Introduction
Comprendre et utiliser une API pour le trading de cryptomonnaies peut ouvrir un monde de possibilités pour entrer et sortir de positions. Avec quelques connaissances simples en codage, vous pouvez vous connecter au backend d’une bourse pour automatiser vos stratégies de trading. En contournant le site Web, vous pouvez emprunter un chemin beaucoup plus rapide vers le moteur de correspondance pour les applications hautes performances.
Dans cet article, nous utiliserons Postman, une plateforme API simplifiée, pour communiquer avec l'échange. Ne vous inquiétez pas, nous ne mettrons aucun argent réel en danger.
Conditions préalables
Clés Testnet
Nous allons utiliser le testnet pour nos besoins actuels. Cette fonctionnalité de simulation nous donnera des fonds sans valeur réelle avec lesquels jouer. Ils fonctionnent de la même manière que les vraies pièces et jetons, donc une fois que vous êtes à l’aise avec l’API, vous pouvez commencer à l’utiliser pour échanger des fonds réels.
Commencez par vous rendre sur le réseau de tests ponctuels.
Pour y accéder, connectez-vous avec un compte GitHub. Vous devrez en créer un si ce n’est pas déjà fait.
Cliquez sur Authentifier et connectez-vous via GitHub.
Sous Clés API, vous serez informé que vous n’avez pas de clés enregistrées. Cliquez sur Générer la clé HMAC_SHA256 pour créer une paire.
Sur l’écran suivant, attribuez une étiquette aux touches. Appelez-les comme vous voulez et cliquez sur Générer.
Deux clés vous sont présentées : la clé API et la clé secrète. Il est important que vous les enregistriez maintenant. Si vous ne le faites pas, vous devrez recommencer le processus de création de clé. Nous vous recommandons de les stocker dans l’application Notes de votre appareil pour pouvoir les copier-coller facilement ultérieurement.
Remarque : il est utile d'étiqueter vos clés lorsque vous utilisez le véritable échange pour gérer différentes clés. Votre compte peut avoir plusieurs clés avec des autorisations différentes. Si vous utilisez plusieurs robots de trading, l'utilisation de clés distinctes avec des étiquettes descriptives facilite la gestion des autorisations ou la suppression de clés individuelles sans modifier tous vos robots.
Téléchargement et installation de Postman
Postman est une plateforme de collaboration API. C’est un point de départ parfait pour nous : nous aurons accès à des collections de requêtes Binance que nous testerons sans avoir besoin d’écrire une seule ligne de code.
Le programme est disponible pour Mac, Windows et Linux. Rendez-vous sur la page Téléchargements et téléchargez le fichier .zip.
Une fois cela terminé, localisez-le dans votre explorateur de fichiers et installez-le. Lancez l’application et c’est parti ! Vous pouvez créer un compte pour vous connecter, mais ce n’est pas nécessaire. Si vous souhaitez ignorer cette étape, sélectionnez simplement l'option permettant de le faire en bas de la fenêtre.
Créer l'environnement
À ce stade, vous devriez avoir une interface qui ressemble à la suivante.
Premièrement, nous voulons créer notre environnement. Cette étape est simplement un moyen d'ajouter des variables aux requêtes avec lesquelles nous allons travailler. Nous devrons d’abord récupérer quelques informations dans le référentiel Binance GitHub. Rendez-vous ici et téléchargez le fichier .zip.
Le téléchargement ne devrait pas prendre très longtemps. Vous pouvez le trouver dans votre explorateur de fichiers et le décompresser. Ensuite, nous pourrons retourner à Postman.
Cliquez sur l'icône d'engrenage dans le coin supérieur droit (illustré ci-dessus). Vous serez accueilli par une fenêtre contextuelle Gérer les environnements.
Sélectionnez Importer et accédez à votre dossier extrait (binance-postman-api).
Entrez-le, puis entrez dans le dossier des environnements.
Vous verrez maintenant deux fichiers (un pour le réseau principal et un pour le testnet). Celui que nous recherchons est binance_com_spot_testnet_api.postman_environment.json. Assurez-vous d'avoir la bonne clé car nos clés ne fonctionneront pas avec l'autre.
Presque là. Cliquez sur l'API Binance Spot Testnet pour voir les variables ci-dessous. Modifiez les deux paramètres entourés en rouge en collant les clés que vous avez enregistrées précédemment. Cliquez sur mettre à jour et quittez la fenêtre contextuelle.
Sur cet écran, laissez les champs d'horodatage et de signature vides. Ces deux valeurs seront automatiquement créées à chaque demande.
Il reste une dernière chose à faire. À droite de l’icône d’engrenage sur laquelle nous avons cliqué pour configurer l’environnement plus tôt, vous verrez un menu déroulant indiquant actuellement Aucun environnement. Cliquez dessus et sélectionnez l'API Binance Spot Testnet.
Importer la collection
Nous allons maintenant importer la collection – il s’agit d’un vaste assortiment de demandes qui font le gros du travail pour nous lors des appels. Pour le charger dans notre environnement :
Cliquez sur Importer dans le coin supérieur gauche.
Dans la fenêtre contextuelle, sous l'onglet Fichier, sélectionnez Télécharger des fichiers.
Nous recherchons à nouveau le dossier binance-postman-api. Localisez-le et ouvrez-le.
Cette fois, entrez les collections dans le sous-répertoire.
Il y a encore deux fichiers ici. L’une consiste à travailler avec l’API Futures. Mais nous travaillons avec le spot, vous devez donc sélectionner le fichier Binance Spot API.postman_collection.json.
Vous devriez maintenant voir un écran de confirmation identifiant l'importation comme étant au format Postman Collection. Sélectionnez Importer.
Sous l'onglet Collections à gauche de la fenêtre, vous remarquerez maintenant que nous avons un dossier contenant plus de 100 requêtes. Toutes nos félicitations! Nous sommes prêts à partir. Dans la section suivante, nous examinerons les types de demandes que nous pouvons faire.
Faire des demandes
Si vous développez les dossiers sous l'onglet Collections, vous verrez que nous pouvons faire de nombreuses demandes différentes. D’après le code couleur, vous remarquerez peut-être qu’il existe trois types de méthodes que nous pouvons utiliser :
GET : La méthode GET est utilisée pour récupérer des éléments sur un serveur. Nous l'utiliserons pour trouver des informations sur le solde de votre compte, les prix des actifs, etc.
POST : Nous utiliserons généralement la méthode POST pour créer des informations sur un serveur. Cette méthode est nécessaire pour passer des commandes, demander des retraits, etc.
DELETE : La méthode DELETE demande au serveur de supprimer des informations. Cela sera utile pour annuler des commandes.
Retrouvez la liste des symboles et les règles de trading
C'est l'heure de notre première demande ! Nous allons obtenir les symboles que nous pouvons échanger sur la bourse et les règles de trading :
OBTENIR /api/v3/exchangeInfo
Celui-ci ne prend aucun paramètre supplémentaire – vous pouvez le copier et le coller dans votre barre d’adresse et vous obtiendrez une réponse. Mais Postman permet de voir et de modifier facilement les demandes dans lesquelles nous incluons plusieurs paramètres.
Pour charger cette demande, sélectionnez Marché > Informations sur l'échange. Un onglet comme celui-ci apparaîtra :
Nous n’avons rien d’autre à faire ici, alors allez-y et appuyez sur Envoyer. Vous obtiendrez alors une réponse :
Dans la section en surbrillance la plus haute, vous verrez des informations importantes :
Le statut de la réponse (200 signifie que nous avons réussi, 400 à 499 signifie que nous avons rencontré un problème).
Le temps nécessaire pour recevoir la réponse (moins d'une seconde).
La taille de la réponse (~ 22 Ko).
Dans la deuxième case se trouve l’essentiel de la réponse. Cette case contient des informations sur l'échange, les paires que vous pouvez échanger et leurs montants minimum/maximum.
Cela ressemble à beaucoup d'informations, mais le format facilite l'utilisation par programmation. Lorsque vous écrivez des scripts pour interagir avec lui, vous pourrez facilement sélectionner les propriétés spécifiques d'éléments spécifiques à partir de la réponse.
Vérifier les soldes des comptes
Vérifions quels actifs nous possédons et quelle quantité de chacun :
OBTENIR /api/v3/compte
Vous pouvez trouver celui-ci sous Commerce > Informations sur le compte. Cliquez dessus pour voir une disposition similaire à la précédente. Cependant, vous remarquerez également que nous avons deux nouvelles variables : l’horodatage et la signature. La signature est une mesure de sécurité. Parce que nous demandons désormais des informations sensibles, cela prouvera que nous sommes le titulaire du compte.
L'horodatage indique au serveur quand la demande a été envoyée. Étant donné que les réseaux peuvent ne pas être fiables ou être confrontés à des temps d'arrêt, le serveur peut recevoir notre demande beaucoup plus tard que prévu. Si trop de temps s'est écoulé, la demande sera rejetée. Vous pouvez spécifier la durée d'attente avec le paramètre recvWindow, dont la valeur par défaut est 5 000 millisecondes.
Postman gère la génération de ces deux champs pour nous. Cliquez sur envoyer et vous recevrez une réponse. Sous les soldes, vous devriez voir six actifs : BNB, BTC, BUSD, ETH, LTC et TRX. Le solde sera réparti entre les actifs libres et verrouillés. Nous n’en avons pas encore verrouillé, vos actifs devraient donc tous être gratuits.
Obtenez le prix actuel d'un symbole
Nous pouvons obtenir le prix actuel d’un actif de différentes manières. Le plus simple est peut-être la requête suivante :
OBTENIR /api/v3/ticker/24hr
Comme vous pouvez le deviner, cela nous donnera des informations sur les prix des actifs des dernières vingt-quatre heures. Vous pouvez le trouver dans Marché > Statistiques de changement de prix du ticker sur 24 heures. La paire par défaut avec laquelle nous sommes accueillis comme variable de symbole est BTC/USDT.
Vous pouvez l'envoyer immédiatement pour voir le détail des informations sur les prix. Vous pouvez également changer le symbole (en BNB/USDT, LTC/USDT, etc.) ou décocher la variable pour renvoyer les données de 40 paires.
Nous avons également un appel plus simple (Marché > Symbol Price Ticker) qui renvoie le prix actuel auquel un actif se négocie :
OBTENIR /api/v3/prix
Comme pour le précédent, vous pouvez modifier la variable du symbole ou la supprimer complètement et obtenir le dernier prix pour tous les symboles.
Vérifier la profondeur actuelle du carnet de commandes
La profondeur du carnet de commandes – également appelée profondeur du marché (DOM) – peut nous en dire beaucoup sur le marché. Nous allons passer un appel qui renverra des informations utiles :
OBTENIR /api/v3/profondeur
Lorsque nous l'envoyons avec les valeurs par défaut (Marché > Carnet d'ordres), nous recevons une réponse qui nous informe sur les offres et demande du BTC/USDT. Le serveur testnet ne produira pas autant de données que le serveur réel, vous trouverez donc ci-dessous une capture d'écran de ce que vous vous attendez à voir dans un environnement réel :
Dans la section en surbrillance ci-dessus, nous pouvons voir la première offre. Puisque nous examinons le livre BTC/USDT, le nombre supérieur est le prix que quelqu’un est prêt à payer pour votre BTC. Vous trouverez ci-dessous le montant qu’ils sont prêts à acheter. Par conséquent, cela indique que cette commande demande 0,999 BTC à un taux de 9704,65 USDT par BTC. Si nous continuions à faire défiler vers le bas, nous verrions le prix de l'offre diminuer, représentant des acheteurs qui paieraient moins.
L’offre la plus élevée sera naturellement la plus attractive si vous recherchez un bon rapport qualité-prix. Néanmoins, si vous essayez de vendre 3 BTC, par exemple, vous ne pourrez vendre que 0,999 BTC au meilleur prix. Vous devrez accepter les offres suivantes (moins chères) jusqu’à ce que votre commande soit exécutée.
Continuez à faire défiler et vous verrez les demandes. Ils sont fonctionnellement similaires aux offres, sauf qu’ils représentent des ordres de vente de BTC contre des USDT.
Passer une commande test
Nous allons maintenant publier une commande test.
POST /api/v3/order/test
Même si nous utilisons uniquement les fonds du testnet, cette demande ne permettra pas de passer une commande. Cela peut être utile pour tester les commandes avant de les soumettre. Trouvez-le sous Commerce > Tester une nouvelle commande (TRADE).
Vous pouvez voir que beaucoup plus de paramètres sont impliqués. Passons en revue ceux cochés :
symbole – nous avons déjà rencontré celui-ci. C'est la paire que vous souhaitez échanger.
côté – ici, vous préciserez si vous souhaitez ACHETER ou VENDRE. Avec la paire BTC/USDT, BUY indique que vous souhaitez acheter du BTC pour de l'USDT, alors que vendre vendra du BTC pour de l'USDT.
type – le type de commande que vous souhaitez soumettre. Valeurs possibles (détaillées ici) :
LIMITE
MARCHÉ
STOP_PERTE
STOP_LOSS_LIMIT
TIRER PROFIT
TAKE_PROFIT_LIMIT
LIMIT_MAKER
timeInForce – ce paramètre exprime la manière dont vous souhaitez que l'ordre soit exécuté :
GTC (valable jusqu'à annulation) – peut-être la configuration la plus populaire, GTC garantira que votre commande est valide jusqu'à ce qu'elle soit exécutée ou annulée.
FOK (fill or kill) – FOK demande à la bourse d'exécuter un ordre en une seule fois. Si l’échange n’y parvient pas, la commande est immédiatement annulée.
IOC (immédiat ou annulé) – soit tout ou partie de l’ordre doit être exécuté immédiatement, soit il est annulé. Contrairement à FOK, les commandes ne sont pas annulées si elles peuvent être partiellement exécutées.
quantité – la quantité de l’actif que vous souhaitez acheter ou vendre.
prix – le prix auquel vous souhaitez vendre. Pour la paire BTC/USDT, cela s’exprime en USDT.
newClientOrderId – un identifiant pour la commande. Ce n'est pas un champ obligatoire, mais vous pouvez le définir sur un identifiant qui facilitera les requêtes ultérieures. Sinon, il est généré aléatoirement par l’échange.
D'accord! Créons maintenant une commande test. Nous allons procéder avec les valeurs générées automatiquement : un ordre limité pour vendre 0,1 BTC pour USDT à 9 000 $. Appuyez sur Envoyer. Si cela réussit, nous obtiendrons {} en réponse.
Passer une vraie commande
Il est temps de passer une vraie commande.
POST /api/v3/commande
Accédez à Commerce > Nouvelle commande. Vous êtes désormais familier avec les commandes de test, les paramètres ici ne seront donc pas une surprise. Laissons toutes les valeurs telles quelles mais changeons le prix que nous vendons à 40 000 USD. Ajustez la valeur du prix pour refléter cela. Ensuite, appuyez sur Envoyer.
Votre réponse renvoie de nombreux détails sur la commande en cas de succès.
Vérifier le statut d'une commande ouverte
Nous avons reçu la confirmation que la commande a été passée dans la section précédente, mais que se passe-t-il si nous voulons la revérifier plus tard ? Nous avons quelques demandes à notre disposition.
OBTENIR /api/v3/openOrders
Vous le trouverez dans Trade > Ordres ouverts en cours (USER_DATA). BTC/USDT est sélectionné par défaut. Si vous appuyez sur Envoyer, vous recevrez toutes vos commandes BTC/USDT ouvertes (jusqu'à présent, vous ne devriez voir que celle que nous avons définie précédemment). Vous pouvez également choisir de ne pas spécifier de symbole, ce qui renverra toutes vos commandes ouvertes à la place.
OBTENIR /api/v3/allOrders
Trade > All Orders (USER_DATA) vous donne un aperçu de toutes les commandes, pas seulement de celles ouvertes. Ici, vous devez fournir un symbole. orderId, startTime, endTime et limit sont des paramètres facultatifs qui peuvent vous aider à affiner votre recherche. Nous allons les laisser ici, alors décochez-les. Appuyez sur Envoyer et vous verrez la même réponse qu’avant. Si vous avez des commandes clôturées ou annulées, vous les verrez également ici.
Enfin, nous pouvons interroger des commandes spécifiques avec les éléments suivants :
OBTENIR /api/v3/commande
Obtenez-le sous Trade > Query Order (USER_DATA). Vous devrez fournir soit le orderId, soit le origClientOrderId (la balise facultative « newClientOrderId » que vous pouvez ajouter aux commandes). Décochez orderId. Pour origClientOrderId, nous fournirons la balise par défaut précédente – « my_order_id_1 ». Remplissez le champ et appuyez sur Envoyer pour obtenir la réponse.
Annuler une commande
Après un certain temps, nous pourrions décider que l’objectif de 40 000 USD est trop optimiste et nous souhaitons donc l’annuler. Dans ce cas, nous utiliserions ce qui suit :
SUPPRIMER /api/v3/order
Sous Commerce > Annuler la commande se trouve une demande qui nous permettra de sélectionner les commandes à annuler. Décochez orderId et newClientOrderId et transmettez « my_order_id_1 » comme valeur pour origClientOrderId.
Lorsque vous envoyez cette demande, la commande sera retournée. Si vous faites défiler jusqu’à « statut », vous verrez qu’il est effectivement annulé. Pour confirmer cela, utilisez à nouveau le point de terminaison GET /api/v3/openOrders (vous donnant une liste vide) ou GET /api/v3/order avec origClientOrderId.
Passez une commande qui se remplit instantanément
Notre ordre précédent n’a pas été exécuté car il s’agissait d’un ordre limité qui ne se déclencherait que lorsque le prix BTC atteindrait 40 000 USD. Avec un ordre au marché, nous disons essentiellement : « Achetez ou vendez au prix auquel l’actif se négocie actuellement. » Cela se remplira instantanément.
Pour cela, revenons à Trade > New Order. Nous allons démontrer le type de réponse (newOrderRespType), qui est un paramètre que nous pouvons modifier en fonction de la réponse que nous attendons du serveur. Il y a trois options ici : ACK, RESULT ou FULL – vous pouvez voir des exemples de chaque réponse ici. Nous opterons pour ACK, qui nous donne un simple accusé de réception de la réception de la commande.
Ci-dessous, vous pouvez voir que nous sommes sur le point de soumettre un ordre de marché pour vendre du BNB contre du BUSD au prix actuel du marché.
Notez que la réponse nous donne un minimum d'informations :
Vous pouvez vérifier que la commande a été exécutée avec le point de terminaison /api/v3/allOrders.
Vérifier vos transactions
Examinons enfin le point final permettant de vérifier vos transactions :
OBTENIR /api/v3/myTrades
Ceci se trouve sous Trade > Account Trade List (USER_DATA). Il vous permet de vérifier chaque transaction pour un symbole particulier. Si vous souhaitez voir toutes vos transactions pour le symbole par défaut (BTC/USDT), décochez simplement startTime, endTime et fromId. La réponse renverra jusqu'à 500 transactions – modifiez simplement la limite si vous voulez en voir plus.
Débogage avec Postman
Dans Postman, il est possible de révéler davantage la requête HTTP brute et la réponse.
Ce menu ouvrira la console Postman, qui imprimera les détails de chaque demande.
Commencez avec l'API Binance
Le but de ce guide était de vous présenter en douceur l'API Binance sans écrire une seule ligne de code. Si vous avez suivi, vous devriez maintenant avoir une idée de la manière dont nous pouvons demander et soumettre des informations.
Des questions en attendant ? Rendez-vous sur notre forum grandissant de la communauté des développeurs Binance ou consultez la documentation.
Lectures complémentaires
Glossaire : Interface de programmation d'applications (API)
Qu'est-ce qu'une clé API et comment l'utiliser en toute sécurité ?
Comment utiliser une clé API en toute sécurité : 5 conseils de Binance

