API MEXC

MEXC, akış halindeki piyasa ve hesap verilerini güvenli WebSocket bağlantıları üzerinden sunan global bir kripto para borsasıdır.

 

WebSocket Spot API, Market Streams ve User Data Streams belgelerinde yayınlanan belirtimleri izler. Piyasa kanalları Protocol Buffers çerçeveleri olarak teslim edilirken özel akışlar JSON kullanır. TsgcWSAPI_MEXC bileşeni bağlantı yaşam döngüsünü, kimlik doğrulamayı ve listen key bakımını yönetir, böylece uygulamalar gönderilen verileri işlemeye odaklanabilir.

 

WebSocket üzerinden streaming'in yanı sıra, araç seti tam Spot HTTP API'sini de sunar. TsgcHTTP_API_MEXC_Spot bileşeni (birim sgcHTTP_API_MEXC) her resmi REST uç noktasını sarmalar, böylece uygulamalar piyasa verilerini sorgulayabilir veya imzalı isteklerle işlem yapabilir.

 

Bileşen yapılandırması

Temel WebSocket uç noktası wss://wbs-api.mexc.com/ws adresidir. MEXCUserDataStreams.UserStream etkinleştirildiğinde ve geçerli bir API anahtarı sağlandığında, bileşen otomatik olarak bir listen key ister ve bunu bağlantı URL'sine ekler.

 

Forma bir TsgcWebSocketClient ve bir TsgcWSAPI_MEXC bileşeni bırakın (veya kodda oluşturun), istemci örneğini API bileşenine atayın ve oturumu başlatmak için istemciyi etkinleştirin.

 

var
  WSClient: TsgcWebSocketClient;
  MEXC: TsgcWSAPI_MEXC;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  MEXC := TsgcWSAPI_MEXC.Create(nil);
  MEXC.Client := WSClient;
  MEXC.MEXCAPI.ApiKey := 'YOUR_KEY';
  MEXC.MEXCAPI.ApiSecret := 'YOUR_SECRET';
  MEXC.MEXCUserDataStreams.UserStream := True;
  if WSClient.Connect then
    MEXC.SubscribeTrade('BTCUSDT');
end;

 

Özellikler

 

Olaylar

 

Aşağıdaki örnek, bir işlem çerçevesinin (trade frame) kodunun nasıl çözüleceğini gösterir:

 

procedure TMainForm.MEXCMarketStream(Sender: TObject;
  const aMessage: TsgcMEXCSpotProtoMessage; const aStream: TMemoryStream);
var
  Deal: TsgcMEXCDealItem;
begin
  if aMessage.MessageType = sgcmxspmtTrade then
  begin
    Deal := TsgcMEXCTradeStream(aMessage.Trade).PublicDeals.DealsList[0];
    Memo1.Lines.Add(Format('Trade %s x %s', [Deal.Quantity, Deal.Price]));
  end;
end;

 

WebSocket Abonelik yöntemleri

Bileşen, her genel Spot kanalı için yardımcılar sunar. Veri stream'lemeye başlamak için Subscribe* yöntemini ve durdurmak için ilgili UnSubscribe* yöntemini çağırın.

 

Genel kanallar

Yöntem Parametreler Açıklama
SubscribeTrade Symbol, Interval (ms) Protobuf publicdeals olarak teslim edilen toplu işlem yürütmeleri.
SubscribeKline Symbol, Interval Yapılandırılabilir aralıklar (1 dakikadan 1 aya) için mum çubuğu (candlestick) güncellemeleri.
SubscribeDiffDepth Symbol, Interval (ms) Yerel emir defteri bakımı için emir defteri artımlı derinlik delta'ları.
SubscribeBookDepth Symbol, Levels İstenen derinlikte limit emir defterinin periyodik anlık görüntüleri (varsayılan 5).
SubscribeBookTicker Symbol, Interval (ms) Tek bir ticaret çifti için en iyi bid/ask güncellemeleri.
SubscribeBookTickerBatch UTC bayrağı Birden çok sembol için toplanmış book ticker güncellemeleri.
SubscribeMiniTickers UTC bayrağı Tüm etkin enstrümanlar için kayan 24 saatlik mini ticker istatistikleri.
SubscribeMiniTicker Sembol, UTC bayrağı Tek bir sembol için mini ticker.

 

Özel kanallar

Private konular geçerli bir API anahtarı gerektirir. Bileşen, etkin listen key kullanarak abone olur ve periyodik olarak yeniler.

 

Yöntem Açıklama
SubscribeAccountUpdate Hesap bakiyesi ve pozisyon değişiklikleri.
SubscribeAccountDeals Gerçekleştirilen emirler için yürütme raporları.
SubscribeAccountOrders Emir yaşam döngüsü güncellemeleri (yeni, iptal edilmiş, reddedilmiş, vb.).

 

Bir akışı sonlandırmak için ilgili UnSubscribe* yöntemlerini kullanın. Bileşen, bağlantıyı izlemek için otomatik olarak PING komutları gönderir ve döndürülen PONG'u doğrular.

 

 

Genel (Public) REST uç noktaları

Herkese açık REST yöntemleri.

 

Yöntem Açıklama
Ping /api/v3/ping çağıran ve borsa boş bir nesneyle yanıt verdiğinde True döndüren bağlantı kontrolü.
GetServerTime /api/v3/time öğesinden geçerli borsa zaman damgasını alır.
GetExchangeInformation /api/v3/exchangeInfo'dan trading kurallarını ve sembol metadata'sını döndürür.
GetOrderBook /api/v3/depth öğesinden order book anlık görüntülerini indirir; düzey sayısını kontrol etmek için isteğe bağlı limit parametresini ayarlayın (varsayılan 100).
GetTrades İsteğe bağlı bir limit (varsayılan 100) ile /api/v3/trades'ten son genel işlemleri alır.
GetHistoricalTrades İsteğe bağlı limit ve fromId filtreleriyle geçmiş işlem verileri sağlar.
GetAggregateTrades İsteğe bağlı limit, fromId, startTime ve endTime filtrelerini destekleyerek /api/v3/aggTrades aracılığıyla sıkıştırılmış/toplanmış işlemleri döndürür.
GetKlines /api/v3/klines adresinden mum çubuklarını indirir, zaman aralığı ve limit filtrelerini destekler.
GetAveragePrice /api/v3/avgPrice'den mevcut ağırlıklı ortalama fiyatı döndürür.
Get24hrTicker /api/v3/ticker/24hr aracılığıyla bir veya tüm semboller için 24 saatlik ticker istatistiklerini alır.
GetPriceTicker /api/v3/ticker/price kullanarak en son fiyatı getirir; her işlem çifti için fiyatları almak üzere boş bir sembol geçirin.
GetBookTicker Tek sembol veya tüm borsa istekleri desteğiyle /api/v3/ticker/bookTicker adresinden en iyi alış/satış tekliflerini alır.

 

Özel REST uç noktaları

Özel uç noktalar geçerli API anahtarları ve imzalı bir sorgu dizesi gerektirir. Bileşen, zaman damgasını, recvWindow ve HMAC imzasını otomatik olarak ekler.

 

Yöntem Açıklama
GetAccountInformation /api/v3/account'tan bakiyeleri ve izinleri döndürür.
GetOpenOrders Mevcut açık emirleri listeler (isteğe bağlı olarak sembole göre filtrelenir).
GetAllOrders İsteğe bağlı zaman ve limit filtreleriyle tarihsel siparişleri alır.
GetOrder orderId veya origClientOrderId sağlayarak belirli bir emrin durumunu sorgular.
GetMyTrades İsteğe bağlı limit, fromId, startTime ve endTime filtreleriyle özel işlem yürütmelerini listeler.
NewOrder İsteğe bağlı timeInForce, quantity, quoteOrderQty, price, newClientOrderId, stopPrice, icebergQty ve ekstra parametrelerle /api/v3/order üzerinde canlı bir emir (market, limit, stop, vb.) verir.
TestNewOrder NewOrder ile aynı parametre kümesini kabul ederek /api/v3/order/test adresine yalnızca doğrulama isteği gönderir.
CancelOrder orderId veya origClientOrderId kullanarak /api/v3/order üzerinde belirli bir emri iptal eder.
CancelAllOrders Bir sembol için tüm açık emirleri /api/v3/openOrders aracılığıyla toplu olarak iptal eder.
GetSubAccounts Yönetilen alt hesapları listeler (/api/v3/sub-account/list).
GetSubAccountAssets Belirli bir alt hesap için bakiyeleri döndürür.
TransferSubAccount /api/v3/sub-account/transfer aracılığıyla alt hesaplar arasında varlık transferi yapar; tutarı ve isteğe bağlı olarak transfer type değerini sağlayın.
GetDepositAddress İsteğe bağlı bir network filtresiyle yatırma adreslerini ister.
GetDepositHistory İsteğe bağlı coin, status, startTime ve endTime filtreleriyle para yatırma kayıtlarını alır.
GetWithdrawHistory coin, status ve isteğe bağlı zaman aralığına göre filtrelenmiş para çekme geçmişini döndürür.
Withdraw Zorunlu coin, address ve amount ile isteğe bağlı network, addressTag, withdrawOrderId ve ek parametreler dahil olmak üzere /api/v3/capital/withdraw/apply aracılığıyla bir çekim isteği gönderir.
BatchOrders Birden çok sembol için tek bir istekte toplu (batch) emirler gönderin.
GetTradeFee Belirli bir sembol için işlem ücreti oranını alın.
GetDepositHistory İsteğe bağlı coin, status, startTime ve endTime filtreleriyle para yatırma kayıtlarını alır.
CancelWithdraw Çekim Kimliğine göre bekleyen bir çekim talebini iptal edin.
CreateInternalTransfer Hesaplar arasında dahili olarak varlık aktarın.
GetTransferHistory Hesaplar arasındaki dahili transferlerin geçmişini alın.