MEXC is een wereldwijde cryptocurrency-beurs die spottrading en perpetual-futures-contracten ondersteunt over honderden tokenparen. Delphi-ontwikkelaars kunnen via twee speciale componenten met MEXC integreren: TsgcWSAPI_MEXC voor de Spot-markt en TsgcWSAPI_MEXC_Futures voor de Futures-markt. Elke component biedt zowel WebSocket-abonnementen voor realtime data als een REST-interface voor on-demand vragen en orderbeheer. Dit artikel beschrijft elke beschikbare methode in beide markten.
Inhoudsopgave
- Architectuuroverzicht
- Spot-WebSocket-API
- Spot-REST-API
- Futures-WebSocket-API
- Futures-REST-API
- Aan de slag — codevoorbeelden
- Configuratiereferentie
- Tips en opmerkingen
Architectuuroverzicht
MEXC biedt aparte API-oppervlakken voor de Spot- en Futures-markten. In de sgcWebSockets-bibliotheek wordt dit weerspiegeld door twee afzonderlijke componenten:
TsgcWSAPI_MEXC— Verwerkt de Spot-markt. Biedt WebSocket-subscriptions voor realtime trades, klines, depth en tickers, plus streams van private accountgebeurtenissen. De REST-interface is toegankelijk viaREST_API(typeTsgcHTTP_API_MEXC_Spot).TsgcWSAPI_MEXC_Futures— Verwerkt de Futures-markt. Biedt WebSocket-subscriptions voor futures-specifieke data zoals deals, funding rates, indexprijzen en fair prices. De REST-interface is toegankelijk viaREST_API(typeTsgcHTTP_API_MEXC_Futures).
Beide componenten volgen hetzelfde patroon: wijs een TsgcWebSocketClient toe, configureer API-credentials, activeer de client voor WebSocket-subscriptions en gebruik REST_API voor synchrone HTTP-aanroepen.
Spot-WebSocket-API
De Spot-WebSocket-API biedt realtime marktdata via publieke kanalen en account-updates via private kanalen. Elke subscription heeft een bijbehorende unsubscribe-methode.
Publieke kanalen
| Subscribe | Unsubscribe | Beschrijving |
|---|---|---|
SubscribeTrade |
UnSubscribeTrade |
Realtime trade-uitvoeringen voor een symbool. |
SubscribeKline |
UnSubscribeKline |
Live candlestick-/kline-updates voor een symbool en interval. |
SubscribeDiffDepth |
UnSubscribeDiffDepth |
Incrementele orderboek-depth-updates (diff-stream). |
SubscribeBookDepth |
UnSubscribeBookDepth |
Volledige orderboek-depth-snapshots op een opgegeven niveau. |
SubscribeBookTicker |
UnSubscribeBookTicker |
Beste bid-/ask-prijs en hoeveelheid voor een specifiek symbool. |
SubscribeBookTickerBatch |
UnSubscribeBookTickerBatch |
Beste bid-/ask-prijzen voor alle symbolen in één stream. |
SubscribeMiniTickers |
UnSubscribeMiniTickers |
Gecondenseerde ticker-data (prijs, volume) voor alle symbolen. |
SubscribeMiniTicker |
UnSubscribeMiniTicker |
Gecondenseerde ticker-data voor een specifiek symbool. |
Private kanalen
Private kanalen vereisen authenticatie en leveren realtime updates over je accountactiviteit. Schakel de user-data-stream in via de MEXCUserDataStreams.UserStream-property.
| Subscribe | Unsubscribe | Beschrijving |
|---|---|---|
SubscribeAccountUpdate |
UnSubscribeAccountUpdate |
Updates van accountsaldo en positie wanneer er wijzigingen optreden. |
SubscribeAccountDeals |
UnSubscribeAccountDeals |
Realtime meldingen wanneer je orders worden gevuld (trade-uitvoeringen). |
SubscribeAccountOrders |
UnSubscribeAccountOrders |
Orderstatuswijzigingen (geplaatst, gedeeltelijk gevuld, gevuld, geannuleerd). |
Spot-REST-API
De Spot-REST-API is toegankelijk via oMEXC.REST_API (type TsgcHTTP_API_MEXC_Spot). Publieke endpoints vereisen geen authenticatie; private endpoints vereisen een geldige API-sleutel en secret.
Publieke endpoints
| Methode | Beschrijving |
|---|---|
Ping |
Test de connectiviteit met de MEXC-API-server. |
GetServerTime |
Geeft de huidige MEXC-servertijd terug. |
GetDefaultSymbols |
Geeft de lijst terug met standaard handelssymbolen. |
GetExchangeInformation |
Geeft beursregels en symboolinformatie terug (filters, precisie, status). |
GetOrderBook |
Geeft het orderboek (bids en asks) terug voor een symbool met een opgegeven diepte. |
GetTrades |
Geeft de recente publieke trades terug voor een symbool. |
GetAggregateTrades |
Geeft geaggregeerde/gecomprimeerde trade-records terug. |
GetKlines |
Geeft historische kline-/candlestick-data terug voor een symbool en interval. |
GetAveragePrice |
Geeft de huidige gemiddelde prijs terug voor een symbool. |
Get24hrTicker |
Geeft prijswijzigingsstatistieken terug over een rollend venster van 24 uur. |
GetPriceTicker |
Geeft de laatste prijs terug voor één of alle symbolen. |
GetBookTicker |
Geeft de beste bid-/ask-prijs en hoeveelheid uit het orderboek terug. |
Private endpoints
| Methode | Beschrijving |
|---|---|
NewOrder |
Plaatst een nieuwe spot-order (market, limit of andere ondersteunde types). |
TestNewOrder |
Valideert een nieuwe order zonder deze daadwerkelijk te plaatsen (dry run). |
CancelOrder |
Annuleert een specifieke open order op basis van order-ID. |
CancelAllOrders |
Annuleert alle open orders voor een symbool. |
GetOrder |
Geeft de status en details terug van een specifieke order. |
GetOpenOrders |
Geeft alle momenteel openstaande (ongevulde) orders terug. |
GetAllOrders |
Geeft alle orders terug (open, gevuld, geannuleerd) binnen een tijdsbereik. |
GetAccountInformation |
Geeft accountsaldi en permissies terug. |
GetMyTrades |
Geeft je handelsgeschiedenis terug voor een symbool. |
GetSubAccounts |
Geeft een lijst terug van sub-accounts onder het hoofdaccount. |
GetDepositAddress |
Geeft het deposit-adres terug voor een specifieke coin en netwerk. |
GetWithdrawHistory |
Geeft de opnamegeschiedenis-records terug. |
Withdraw |
Start een opname naar een extern adres. |
GetCapitalConfig |
Geeft de kapitaalconfiguratie terug (ondersteunde netwerken, min/max-opnamebedragen, kosten). |
Futures-WebSocket-API
De Futures-WebSocket-API biedt realtime data die specifiek is voor perpetual-futures-contracten. Alle kanalen zijn publiek en vereisen geen authenticatie. Elke subscription heeft een bijbehorende unsubscribe-methode.
| Subscribe | Unsubscribe | Beschrijving |
|---|---|---|
SubscribeDeal |
UnSubscribeDeal |
Realtime futures-trade-/deal-uitvoeringen. |
SubscribeTickers |
UnSubscribeTickers |
Ticker-data voor alle futures-contracten. |
SubscribeTicker |
UnSubscribeTicker |
Ticker-data voor een specifiek futurescontract. |
SubscribeDepth |
UnSubscribeDepth |
Incrementele orderboek-depth-updates voor futures. |
SubscribeDepthFull |
UnSubscribeDepthFull |
Volledige orderboek-depth-snapshots voor futures. |
SubscribeKline |
UnSubscribeKline |
Live candlestick-/kline-updates voor futures-contracten. |
SubscribeFundingRate |
UnSubscribeFundingRate |
Realtime funding-rate-updates voor perpetual-contracten. |
SubscribeIndexPrice |
UnSubscribeIndexPrice |
Realtime indexprijs-updates. |
SubscribeFairPrice |
UnSubscribeFairPrice |
Realtime fair-/mark-price-updates die worden gebruikt voor liquidatieberekeningen. |
Futures-REST-API
De Futures-REST-API is toegankelijk via oMEXCFut.REST_API (type TsgcHTTP_API_MEXC_Futures). Deze dekt marktdata, accountbeheer, positiebeheer en orderbewerkingen.
Publieke endpoints
| Methode | Beschrijving |
|---|---|
GetPing |
Test de connectiviteit met de MEXC-Futures-API-server. |
GetServerTime |
Geeft de huidige futures-servertijd terug. |
GetContracts |
Geeft een lijst terug van alle beschikbare futures-contracten en hun specificaties. |
GetDepth |
Geeft de orderboek-depth terug voor een futurescontract. |
GetDeals |
Geeft de recente publieke trade-/deal-geschiedenis terug voor een futurescontract. |
GetKlines |
Geeft historische kline-/candlestick-data terug voor een futurescontract. |
GetIndexPrice |
Geeft de huidige indexprijs terug voor een contract. |
GetFairPrice |
Geeft de huidige fair-/mark-price terug voor een contract. |
GetFundingRate |
Geeft de huidige en voorspelde funding rate terug voor een perpetual-contract. |
Private endpoints
| Methode | Beschrijving |
|---|---|
GetAccountAssets |
Geeft futures-account-asset-saldi en margin-informatie terug. |
GetPositionList |
Geeft alle open futures-posities terug met omvang, entry-prijs en PnL. |
SetPositionLeverage |
Stelt de leverage-multiplier in voor een specifiek futurescontract. |
PlaceOrder |
Plaatst een nieuwe futures-order (market, limit of andere ondersteunde types). |
CancelOrder |
Annuleert een specifieke open futures-order. |
CancelAllOrders |
Annuleert alle open futures-orders voor een contract. |
GetOpenOrders |
Geeft alle momenteel openstaande futures-orders terug. |
GetOrderHistory |
Geeft historische futures-orders terug (gevuld, geannuleerd, enzovoort). |
GetFundingHistory |
Geeft je betaalgeschiedenis van funding-fees terug. |
Aan de slag — codevoorbeelden
Spot-marktvoorbeeld
Het volgende voorbeeld maakt verbinding met de MEXC-Spot-WebSocket, abonneert zich op realtime trades, vraagt beursinformatie op via REST en plaatst een market-koop-order.
var
oClient: TsgcWebSocketClient;
oMEXC: TsgcWSAPI_MEXC;
begin
// WebSocket-client aanmaken
oClient := TsgcWebSocketClient.Create(nil);
// MEXC-Spot-API-component aanmaken
oMEXC := TsgcWSAPI_MEXC.Create(nil);
oMEXC.Client := oClient;
// API-credentials configureren
oMEXC.MEXCAPI.ApiKey := 'your_api_key';
oMEXC.MEXCAPI.ApiSecret := 'your_api_secret';
// Verbinden met de WebSocket
oClient.Active := True;
// WebSocket: abonneren op realtime trades voor BTCUSDT
oMEXC.SubscribeTrade('BTCUSDT');
// REST: beursinformatie ophalen
ShowMessage(oMEXC.REST_API.GetExchangeInformation);
// REST: een market-koop-order plaatsen voor 0,001 BTC
ShowMessage(oMEXC.REST_API.NewOrder('BTCUSDT', 'BUY', 'MARKET', '', 0.001));
end;
Futures-marktvoorbeeld
Dit voorbeeld maakt verbinding met de MEXC-Futures-WebSocket, abonneert zich op een futures-ticker en vraagt beschikbare contracten op via REST.
var
oClientFut: TsgcWebSocketClient;
oMEXCFut: TsgcWSAPI_MEXC_Futures;
begin
// WebSocket-client voor futures aanmaken
oClientFut := TsgcWebSocketClient.Create(nil);
// MEXC-Futures-API-component aanmaken
oMEXCFut := TsgcWSAPI_MEXC_Futures.Create(nil);
oMEXCFut.Client := oClientFut;
// API-credentials configureren
oMEXCFut.MEXCFuturesAPI.ApiKey := 'your_api_key';
oMEXCFut.MEXCFuturesAPI.ApiSecret := 'your_api_secret';
// Verbinden met de WebSocket
oClientFut.Active := True;
// WebSocket: abonneren op futures-ticker voor BTC_USDT
oMEXCFut.SubscribeTicker('BTC_USDT');
// REST: alle beschikbare futures-contracten ophalen
ShowMessage(oMEXCFut.REST_API.GetContracts);
end;
Let op: Spot en Futures gebruiken aparte WebSocket-verbindingen en aparte API-componenten. Je hebt voor elk een aparte TsgcWebSocketClient-instantie nodig.
Configuratiereferentie
Spot-configuratie
| Property | Type | Beschrijving |
|---|---|---|
MEXCAPI.ApiKey |
String | Je MEXC-API-sleutel voor geauthenticeerde spot-requests. |
MEXCAPI.ApiSecret |
String | Je MEXC-API-secret voor het ondertekenen van requests. |
MEXCUserDataStreams.UserStream |
Boolean | Stel in op True om de private user-data-stream in te schakelen voor account-updates, deals en order-gebeurtenissen. |
Futures-configuratie
| Property | Type | Beschrijving |
|---|---|---|
MEXCFuturesAPI.ApiKey |
String | Je MEXC-API-sleutel voor geauthenticeerde futures-requests. |
MEXCFuturesAPI.ApiSecret |
String | Je MEXC-API-secret voor het ondertekenen van futures-requests. |
Tips en opmerkingen
Aparte componenten voor spot en futures
MEXC behandelt Spot en Futures als volledig gescheiden markten met verschillende API-endpoints, naamgevingsconventies voor symbolen (bijvoorbeeld BTCUSDT voor spot vs. BTC_USDT voor futures) en authenticatie-scopes. Gebruik altijd het juiste component voor de markt waarop je je richt.
User-data-streams
Om private accountgebeurtenissen op de Spot-WebSocket te ontvangen (account-updates, deals, order-wijzigingen), moet je MEXCUserDataStreams.UserStream := True instellen voordat je de client activeert. Dit zorgt ervoor dat het component een listen-key opvraagt en de private stream automatisch tot stand brengt.
Orders testen
Gebruik de TestNewOrder-methode op de Spot-REST-API om orderparameters te valideren zonder de order daadwerkelijk te plaatsen. Dit is handig om te verifiëren dat je parameters voor symbool, side, type en hoeveelheid correct zijn geformatteerd voordat je echte fondsen inzet.
Naamgevingsconventies voor symbolen
Let op de verschillende symboolformaten tussen de twee markten. Spot gebruikt aaneengeschreven paren zoals BTCUSDT, terwijl Futures paren met een underscore gebruikt zoals BTC_USDT. Het verkeerde formaat gebruiken leidt tot "symbol not found"-fouten.
Rate limits
MEXC handhaaft rate-limits op zowel REST- als WebSocket-API's. REST-endpoints staan doorgaans een vast aantal requests per minuut toe. Als je de limiet overschrijdt, krijg je een 429-statuscode terug. Implementeer passende backoff-logica of gebruik WebSocket-subscriptions voor data die vaak verandert.
Tip: Geef voor hoogfrequente monitoring de voorkeur aan WebSocket-subscriptions boven het pollen van REST-endpoints. Subscriptions leveren data in realtime met lagere latentie en tellen niet mee voor de REST-rate-limits.