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
| Subscribe | Unsubscribe | 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
Private channels require authentication and deliver real-time updates about your account activity. Enable the user data stream via the MEXCUserDataStreams.UserStream property.
| Subscribe | Unsubscribe | 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
The Spot REST API is accessible via oMEXC.REST_API (of type TsgcHTTP_API_MEXC_Spot). Public endpoints do not require authentication; private endpoints require a valid API key and secret.
Public Endpoints
| 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. |
Private Endpoints
| 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
The Futures WebSocket API provides real-time data specific to perpetual futures contracts. All channels are public and do not require authentication. Each subscription has a corresponding unsubscribe method.
| Subscribe | Unsubscribe | 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
The Futures REST API is accessible via oMEXCFut.REST_API (of type TsgcHTTP_API_MEXC_Futures). It covers market data, account management, position control, and order operations.
Public Endpoints
| 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. |
Private Endpoints
| 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
Spot Market Example
The following example connects to the MEXC Spot WebSocket, subscribes to real-time trades, queries exchange information via REST, and places a market buy order.
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;
Futures Market Example
This example connects to the MEXC Futures WebSocket, subscribes to a futures ticker, and queries available contracts 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
Spot Configuration
| 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 | Set to True to enable the private user data stream for account updates, deals, and order events. |
Futures Configuration
| 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
Separate Components for Spot and Futures
MEXC treats Spot and Futures as entirely separate markets with different API endpoints, symbol naming conventions (e.g., BTCUSDT for spot vs. BTC_USDT for futures), and authentication scopes. Always use the correct component for your target market.
User Data Streams
To receive private account events on the Spot WebSocket (account updates, deals, order changes), you must set MEXCUserDataStreams.UserStream := True before activating the client. This tells the component to request a listen key and establish the private stream automatically.
Order Testing
Use the TestNewOrder method on the Spot REST API to validate order parameters without actually placing the order. This is useful for verifying that your symbol, side, type, and quantity parameters are correctly formatted before committing real funds.
Symbol Naming Conventions
Pay attention to the different symbol formats across the two markets. Spot uses concatenated pairs like BTCUSDT, while Futures uses underscore-separated pairs like BTC_USDT. Using the wrong format will result in "symbol not found" errors.
Rate Limits
MEXC enforces rate limits on both REST and WebSocket APIs. REST endpoints typically allow a fixed number of requests per minute. If you exceed the limit, you will receive a 429 status code. Implement appropriate backoff logic or use WebSocket subscriptions for data that changes frequently.
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.