MEXC est une exchange mondiale de cryptomonnaies qui prend en charge le trading spot et les contrats futures perpétuels sur des centaines de paires de tokens. Les développeurs Delphi peuvent intégrer MEXC via deux composants dédiés : TsgcWSAPI_MEXC pour le marché Spot et TsgcWSAPI_MEXC_Futures pour le marché Futures. Chaque composant offre à la fois des abonnements WebSocket pour les données en temps réel et une interface REST pour les requêtes à la demande et la gestion des ordres. Cet article détaille toutes les méthodes disponibles sur les deux marchés.
Table des matières
- Aperçu de l'architecture
- API WebSocket Spot
- API REST Spot
- API WebSocket Futures
- API REST Futures
- Premiers pas — Exemples de code
- Référence de configuration
- Astuces et notes
Aperçu de l'architecture
MEXC fournit des surfaces d'API distinctes pour ses marchés Spot et Futures. Dans la bibliothèque sgcWebSockets, cela se traduit par deux composants distincts :
TsgcWSAPI_MEXC— Gère le marché Spot. Fournit des abonnements WebSocket pour les trades, klines, depth et tickers en temps réel, ainsi que des flux d'événements de compte privés. L'interface REST est accessible viaREST_API(typeTsgcHTTP_API_MEXC_Spot).TsgcWSAPI_MEXC_Futures— Gère le marché Futures. Fournit des abonnements WebSocket pour les données spécifiques aux futures comme les deals, taux de financement, prix d'index et prix fair. L'interface REST est accessible viaREST_API(typeTsgcHTTP_API_MEXC_Futures).
Les deux composants suivent le même modèle : assigner un TsgcWebSocketClient, configurer les identifiants API, activer le client pour les abonnements WebSocket et accéder à REST_API pour les appels HTTP synchrones.
API WebSocket Spot
L'API WebSocket Spot offre des données de marché en temps réel via des canaux publics et des mises à jour de compte via des canaux privés. Chaque abonnement a une méthode unsubscribe correspondante.
Canaux publics
| S'abonner | Se désabonner | Description |
|---|---|---|
SubscribeTrade |
UnSubscribeTrade |
Exécutions de trades en temps réel pour un symbole. |
SubscribeKline |
UnSubscribeKline |
Mises à jour de chandeliers/kline en direct pour un symbole et un intervalle. |
SubscribeDiffDepth |
UnSubscribeDiffDepth |
Mises à jour incrémentielles de la profondeur du carnet d'ordres (flux diff). |
SubscribeBookDepth |
UnSubscribeBookDepth |
Snapshots complets de la profondeur du carnet d'ordres à un niveau donné. |
SubscribeBookTicker |
UnSubscribeBookTicker |
Meilleur prix bid/ask et quantité pour un symbole spécifique. |
SubscribeBookTickerBatch |
UnSubscribeBookTickerBatch |
Meilleurs prix bid/ask pour tous les symboles dans un seul flux. |
SubscribeMiniTickers |
UnSubscribeMiniTickers |
Données ticker condensées (prix, volume) pour tous les symboles. |
SubscribeMiniTicker |
UnSubscribeMiniTicker |
Données ticker condensées pour un symbole spécifique. |
Canaux privés
Les canaux privés requièrent une authentification et fournissent des mises à jour en temps réel sur l'activité de ton compte. Active le flux de données utilisateur via la propriété MEXCUserDataStreams.UserStream.
| S'abonner | Se désabonner | Description |
|---|---|---|
SubscribeAccountUpdate |
UnSubscribeAccountUpdate |
Mises à jour du solde de compte et des positions lors de changements. |
SubscribeAccountDeals |
UnSubscribeAccountDeals |
Notifications en temps réel quand tes ordres sont exécutés (exécutions de trades). |
SubscribeAccountOrders |
UnSubscribeAccountOrders |
Changements de statut d'ordre (placé, partiellement exécuté, exécuté, annulé). |
API REST Spot
L'API REST Spot est accessible via oMEXC.REST_API (de type TsgcHTTP_API_MEXC_Spot). Les endpoints publics ne requièrent pas d'authentification ; les endpoints privés requièrent une clé API et un secret valides.
Endpoints publics
| Méthode | Description |
|---|---|
Ping |
Teste la connectivité au serveur API MEXC. |
GetServerTime |
Renvoie l'heure actuelle du serveur MEXC. |
GetDefaultSymbols |
Renvoie la liste des symboles de trading par défaut. |
GetExchangeInformation |
Renvoie les règles de trading de l'exchange et les informations de symbole (filtres, précision, statut). |
GetOrderBook |
Renvoie le carnet d'ordres (bids et asks) pour un symbole à une profondeur donnée. |
GetTrades |
Renvoie les trades publics récents pour un symbole. |
GetAggregateTrades |
Renvoie les enregistrements de trades agrégés/compressés. |
GetKlines |
Renvoie les données historiques de kline/chandeliers pour un symbole et un intervalle. |
GetAveragePrice |
Renvoie le prix moyen actuel pour un symbole. |
Get24hrTicker |
Renvoie les statistiques de changement de prix sur fenêtre glissante 24h. |
GetPriceTicker |
Renvoie le dernier prix pour un ou tous les symboles. |
GetBookTicker |
Renvoie le meilleur prix bid/ask et la quantité depuis le carnet d'ordres. |
Endpoints privés
| Méthode | Description |
|---|---|
NewOrder |
Place un nouvel ordre spot (market, limit ou autres types pris en charge). |
TestNewOrder |
Valide un nouvel ordre sans le placer réellement (dry run). |
CancelOrder |
Annule un ordre ouvert spécifique par ID d'ordre. |
CancelAllOrders |
Annule tous les ordres ouverts pour un symbole. |
GetOrder |
Renvoie le statut et les détails d'un ordre spécifique. |
GetOpenOrders |
Renvoie tous les ordres actuellement ouverts (non exécutés). |
GetAllOrders |
Renvoie tous les ordres (ouverts, exécutés, annulés) dans une plage temporelle. |
GetAccountInformation |
Renvoie les soldes de compte et les permissions. |
GetMyTrades |
Renvoie ton historique de trades pour un symbole. |
GetSubAccounts |
Renvoie une liste des sous-comptes sous le compte maître. |
GetDepositAddress |
Renvoie l'adresse de dépôt pour un coin et un réseau spécifiques. |
GetWithdrawHistory |
Renvoie les enregistrements d'historique de retraits. |
Withdraw |
Initie un retrait vers une adresse externe. |
GetCapitalConfig |
Renvoie la configuration capital (réseaux supportés, montants min/max de retrait, frais). |
API WebSocket Futures
L'API WebSocket Futures fournit des données en temps réel spécifiques aux contrats à terme perpétuels. Tous les canaux sont publics et ne requièrent pas d'authentification. Chaque abonnement dispose d'une méthode de désabonnement correspondante.
| S'abonner | Se désabonner | Description |
|---|---|---|
SubscribeDeal |
UnSubscribeDeal |
Exécutions de trades/deals futures en temps réel. |
SubscribeTickers |
UnSubscribeTickers |
Données ticker pour tous les contrats futures. |
SubscribeTicker |
UnSubscribeTicker |
Données ticker pour un contrat futures spécifique. |
SubscribeDepth |
UnSubscribeDepth |
Mises à jour incrémentielles de la profondeur du carnet d'ordres pour les futures. |
SubscribeDepthFull |
UnSubscribeDepthFull |
Snapshots complets de la profondeur du carnet d'ordres pour les futures. |
SubscribeKline |
UnSubscribeKline |
Mises à jour de chandeliers/kline en direct pour les contrats futures. |
SubscribeFundingRate |
UnSubscribeFundingRate |
Mises à jour en temps réel du taux de financement pour les contrats perpétuels. |
SubscribeIndexPrice |
UnSubscribeIndexPrice |
Mises à jour en temps réel du prix d'index. |
SubscribeFairPrice |
UnSubscribeFairPrice |
Mises à jour en temps réel du prix fair/mark utilisé pour les calculs de liquidation. |
API REST Futures
L'API REST Futures est accessible via oMEXCFut.REST_API (de type TsgcHTTP_API_MEXC_Futures). Elle couvre les données de marché, la gestion de compte, le contrôle des positions et les opérations sur les ordres.
Endpoints publics
| Méthode | Description |
|---|---|
GetPing |
Teste la connectivité au serveur API MEXC Futures. |
GetServerTime |
Renvoie l'heure actuelle du serveur futures. |
GetContracts |
Renvoie une liste de tous les contrats futures disponibles et leurs spécifications. |
GetDepth |
Renvoie la profondeur du carnet d'ordres pour un contrat futures. |
GetDeals |
Renvoie l'historique récent des trades/deals publics pour un contrat futures. |
GetKlines |
Renvoie les données historiques de kline/chandeliers pour un contrat futures. |
GetIndexPrice |
Renvoie le prix d'index actuel pour un contrat. |
GetFairPrice |
Renvoie le prix fair/mark actuel pour un contrat. |
GetFundingRate |
Renvoie le taux de financement actuel et prédit pour un contrat perpétuel. |
Endpoints privés
| Méthode | Description |
|---|---|
GetAccountAssets |
Renvoie les soldes d'actifs du compte futures et les informations de marge. |
GetPositionList |
Renvoie toutes les positions futures ouvertes avec taille, prix d'entrée et PnL. |
SetPositionLeverage |
Définit le multiplicateur de levier pour un contrat futures spécifique. |
PlaceOrder |
Place un nouvel ordre futures (market, limit ou autres types pris en charge). |
CancelOrder |
Annule un ordre futures ouvert spécifique. |
CancelAllOrders |
Annule tous les ordres futures ouverts pour un contrat. |
GetOpenOrders |
Renvoie tous les ordres futures actuellement ouverts. |
GetOrderHistory |
Renvoie les ordres futures historiques (exécutés, annulés, etc.). |
GetFundingHistory |
Renvoie ton historique de paiement des frais de financement. |
Premiers pas — Exemples de code
Exemple sur le marché Spot
L'exemple suivant se connecte au WebSocket MEXC Spot, s'abonne aux trades en temps réel, interroge les informations de l'exchange via REST, et passe un ordre d'achat au marché.
var
oClient: TsgcWebSocketClient;
oMEXC: TsgcWSAPI_MEXC;
begin
// Create the WebSocket client
oClient := TsgcWebSocketClient.Create(nil);
// Create the MEXC Spot API component
oMEXC := TsgcWSAPI_MEXC.Create(nil);
oMEXC.Client := oClient;
// Configure API credentials
oMEXC.MEXCAPI.ApiKey := 'your_api_key';
oMEXC.MEXCAPI.ApiSecret := 'your_api_secret';
// Connect to the WebSocket
oClient.Active := True;
// WebSocket: Subscribe to real-time trades for BTCUSDT
oMEXC.SubscribeTrade('BTCUSDT');
// REST: Get exchange information
ShowMessage(oMEXC.REST_API.GetExchangeInformation);
// REST: Place a market buy order for 0.001 BTC
ShowMessage(oMEXC.REST_API.NewOrder('BTCUSDT', 'BUY', 'MARKET', '', 0.001));
end;
Exemple sur le marché Futures
Cet exemple se connecte au WebSocket MEXC Futures, s'abonne à un ticker Futures, et interroge les contrats disponibles via REST.
var
oClientFut: TsgcWebSocketClient;
oMEXCFut: TsgcWSAPI_MEXC_Futures;
begin
// Create the WebSocket client for futures
oClientFut := TsgcWebSocketClient.Create(nil);
// Create the MEXC Futures API component
oMEXCFut := TsgcWSAPI_MEXC_Futures.Create(nil);
oMEXCFut.Client := oClientFut;
// Configure API credentials
oMEXCFut.MEXCFuturesAPI.ApiKey := 'your_api_key';
oMEXCFut.MEXCFuturesAPI.ApiSecret := 'your_api_secret';
// Connect to the WebSocket
oClientFut.Active := True;
// WebSocket: Subscribe to futures ticker for BTC_USDT
oMEXCFut.SubscribeTicker('BTC_USDT');
// REST: Get all available futures contracts
ShowMessage(oMEXCFut.REST_API.GetContracts);
end;
Remarque : Spot and Futures use separate WebSocket connections and separate API components. You need a distinct TsgcWebSocketClient instance for each.
Référence de configuration
Configuration Spot
| Propriété | Type | Description |
|---|---|---|
MEXCAPI.ApiKey |
String | Ta clé API MEXC pour les requêtes spot authentifiées. |
MEXCAPI.ApiSecret |
String | Ton API secret MEXC pour la signature des requêtes. |
MEXCUserDataStreams.UserStream |
Boolean | Mettre à True pour activer le flux de données utilisateur privé pour les mises à jour de compte, les deals et les évènements d'ordres. |
Configuration Futures
| Propriété | Type | Description |
|---|---|---|
MEXCFuturesAPI.ApiKey |
String | Ta clé API MEXC pour les requêtes futures authentifiées. |
MEXCFuturesAPI.ApiSecret |
String | Ton API secret MEXC pour la signature des requêtes futures. |
Astuces et notes
Composants distincts pour Spot et Futures
MEXC traite Spot et Futures comme des marchés entièrement distincts avec des endpoints API différents, des conventions de nommage de symboles différentes (par exemple BTCUSDT pour le spot vs. BTC_USDT pour les futures), et des scopes d'authentification distincts. Utilise toujours le bon composant pour ton marché cible.
Flux de données utilisateur
Pour recevoir les évènements de compte privés sur le WebSocket Spot (mises à jour de compte, deals, changements d'ordres), tu dois définir MEXCUserDataStreams.UserStream := True avant d'activer le client. Cela indique au composant de demander un listen key et d'établir automatiquement le flux privé.
Tests d'ordres
Utilise la méthode TestNewOrder sur l'API REST Spot pour valider les paramètres d'ordre sans réellement passer l'ordre. C'est utile pour vérifier que tes paramètres de symbole, côté, type et quantité sont correctement formatés avant d'engager de vrais fonds.
Conventions de nommage des symboles
Fais attention aux différents formats de symboles entre les deux marchés. Le Spot utilise des paires concaténées comme BTCUSDT, tandis que les Futures utilisent des paires séparées par un underscore comme BTC_USDT. Utiliser le mauvais format provoquera des erreurs « symbol not found ».
Limites de débit
MEXC applique des limites de débit sur les API REST et WebSocket. Les endpoints REST autorisent généralement un nombre fixe de requêtes par minute. Si tu dépasses la limite, tu recevras un code de statut 429. Implémente une logique de backoff appropriée ou utilise des abonnements WebSocket pour les données qui changent fréquemment.
Astuce : For high-frequency monitoring, prefer WebSocket subscriptions over polling REST endpoints. Subscriptions deliver data in real time with lower latency and do not count against REST rate limits.