Authentification Tradovate : OAuth ou clé API
Comparez le flux de jeton d'accès direct et le flux de connexion OAuth pour l'API de contrats à terme, voyez comment chacun fonctionne et choisissez la bonne méthode d'authentification pour votre bot.
On This Page
Il existe deux manières de faire communiquer du code avec l'API Tradovate, et on les confond tout le temps. La première est la demande directe de jeton d'accès, où vous utilisez une clé API générée pour votre propre compte. La seconde est OAuth, où un trader se connecte sur la page propre à Tradovate et remet un jeton à votre application sans jamais vous donner son mot de passe. Choisissez la mauvaise et vous détiendrez soit des identifiants que vous ne devriez pas avoir, soit vous vous heurterez à un mur dès que vous tenterez de connecter le compte d'un autre. Voici comment chaque flux fonctionne réellement et quand l'utiliser.
Les deux méthodes aboutissent au même résultat : un jeton bearer de courte durée que vous joignez à chaque requête sous la forme Authorization: Bearer {token}. La différence réside entièrement dans la façon d'obtenir ce jeton et dans le compte auquel il se rapporte.
| Jeton d'accès direct (clé API) | OAuth | |
|---|---|---|
| Idéal pour | Automatiser votre propre compte | Une application à laquelle d'autres traders se connectent |
| Identifiants que vous détenez | Vos propres identifiant, mot de passe et clé API (cid + secret) | Un client ID et un secret fournis par Tradovate, jamais le mot de passe de l'utilisateur |
| Où l'utilisateur se connecte | Dans votre propre code | Sur la page de connexion hébergée par Tradovate |
| Comment la mise en place s'effectue | Vous générez vous-même la clé dans les paramètres | Vous demandez les identifiants client à Tradovate |
| Ce que vous recevez | Jeton d'accès bearer | Jeton d'accès bearer |
La méthode du jeton d'accès direct
C'est la voie la plus simple, et la bonne lorsque le compte que vous automatisez vous appartient. Vous créez une fois une clé API dans la plateforme, puis vous échangez un court POST contre un jeton chaque fois que nécessaire.
Activer l'accès API et générer votre clé
Ouvrez les paramètres de votre compte et repérez le module complémentaire « API Access ». Il s'accompagne d'un petit abonnement récurrent, et la génération de clé exige un compte réel financé au-delà d'un solde minimum. Ces montants évoluent ; vérifiez donc le prix et le seuil actuels dans votre propre compte. Une fois actif, ouvrez l'onglet « API Access », générez une nouvelle clé, donnez-lui un surnom, autorisez l'accès complet et créez-la. Copiez immédiatement le CID et le secret. Tradovate n'affiche le secret qu'une seule fois et ne le montre plus jamais ; conservez-le donc en lieu sûr et gardez-le hors des dépôts publics.
Demander directement un jeton bearer
Envoyez un POST à /auth/accesstokenrequest avec vos name, password, appId, appVersion, cid, sec et un deviceId stable. Utilisez l'hôte de démo pendant vos tests et l'hôte réel dès que vous passez de vrais ordres. La réponse renvoie un accessToken pour le trading, un mdAccessToken distinct pour les données de marché et une heure d'expiration.
Ce jeton est de courte durée. La réponse vous indique exactement quand il expire, et vous le renouvelez en appelant /auth/renewAccessToken avec le jeton encore valide un peu avant cette échéance, et non en renvoyant votre mot de passe en boucle, ce qui vous vaut un blocage avec une erreur 401.
La méthode OAuth
Choisissez OAuth dès que vous agissez pour le compte de quelqu'un d'autre que vous : un tableau de bord, un outil de copy trading, tout produit auquel de vrais traders se connectent. Ils se connectent sur la page de Tradovate, donc leur mot de passe ne touche jamais vos serveurs. Vous obtenez un jeton limité à leur compte, et rien de plus.
Obtenir les identifiants client OAuth
Contrairement à une clé API, vous ne pouvez pas les créer vous-même. Contactez Tradovate, demandez un client ID et un client secret, et enregistrez l'URI de redirection exact que votre application utilisera, par exemple https://yourapp.com/oauth/callback. L'URI de redirection devra correspondre plus tard caractère pour caractère.
Envoyer l'utilisateur vers la page d'autorisation
Redirigez le trader vers l'URL d'autorisation de Tradovate, https://trader.tradovate.com/oauth, avec response_type=code, votre client_id encodé en URL et votre redirect_uri encodé en URL. Il se connecte avec ses propres identifiants Tradovate et approuve l'accès. Tradovate le renvoie alors vers votre URI de redirection avec un code à usage unique ajouté à la chaîne de requête.
Échanger le code contre un jeton
Faites-le depuis votre serveur, jamais depuis le navigateur, car le client secret doit rester privé. Envoyez un POST au point de terminaison de jeton OAuth, https://live.tradovateapi.com/auth/oauthtoken, avec grant_type=authorization_code, le code que vous venez de recevoir, votre client_id, votre client_secret et le redirect_uri correspondant. Vous recevez un access_token et un expires_in. À partir de là, c'est identique au flux direct : joignez le jeton bearer à chaque requête et renouvelez-le avant son expiration.
Laquelle choisir ?
Si vous n'automatisez que votre propre compte, utilisez le flux de jeton d'accès direct. Il comporte moins d'éléments mobiles, vous contrôlez la clé et il n'y a aucun tiers avec qui se coordonner. Si vous construisez quelque chose auquel d'autres traders se connectent, utilisez OAuth à chaque fois. Gérer vous-même le mot de passe de quelqu'un d'autre est une responsabilité dont vous ne voulez pas, et le flux OAuth existe précisément pour que vous n'ayez jamais à le faire.
Deux points à vérifier avant de construire sur un compte financé ou d'évaluation : l'autorisation de l'automatisation directe par API dépend de votre société, certaines l'autorisent, d'autres non, et les données de marché en temps réel via l'API peuvent entraîner des frais de bourse distincts. Vérifiez les deux dans les règles actuelles de votre société et dans votre propre compte plutôt que de les supposer.
Automatiser avec PickMyTrade
Vous préférez ne pas vous occuper des jetons, des renouvellements et des URI de redirection ? PickMyTrade connecte vos alertes TradingView directement à Tradovate sans que vous ayez à écrire une ligne de code d'authentification.
Évitez le code d'authentification
Laissez PickMyTrade connecter vos alertes TradingView directement à Tradovate, sans jetons, renouvellements ni URI de redirection à gérer.
Commencez votre essai gratuit de 7 joursCe guide est fourni uniquement à des fins éducatives et informatives et ne constitue pas un conseil financier, d'investissement ou de trading. Le trading de contrats à terme et d'autres produits à effet de levier comporte un risque de perte important et ne convient pas à tous les investisseurs. PickMyTrade est une plateforme d'automatisation tierce indépendante et n'est ni affiliée à Tradovate, Inc., ni approuvée ni parrainée par cette dernière. « Tradovate » ainsi que tous les noms, logos et marques associés sont la propriété de leurs détenteurs respectifs. Les fonctionnalités et les étapes de la plateforme évoluent avec le temps ; vérifiez donc toujours la procédure actuelle sur la plateforme et dans la documentation officielles de Tradovate avant d'agir.