sgcWebSockets'te Kucoin API Güncellemesi

· Özellikler
Delphi'de KuCoin Spot ve Futures API Entegrasyonu

TsgcWSAPI_Kucoin ve TsgcWSAPI_Kucoin_Futures bileşenleri; gerçek zamanlı WebSocket piyasa verilerini, özel hesap akışlarını ve alım satım, para çekme ve piyasa sorguları için eksiksiz bir REST API'yi kapsayan KuCoin borsasına kapsamlı Delphi erişimi sağlar. Bu kılavuz, hem spot hem de futures genelinde mevcut her metodu yapılandırma ayrıntıları ve çalışan kod örnekleriyle birlikte kapsar.

İçindekiler

Spot WebSocket API

Spot WebSocket API, piyasa verileri ve özel hesap olayları için gerçek zamanlı akış sağlar. Genel kanallar kimlik doğrulama olmadan kullanılabilirken, özel kanallar geçerli API kimlik bilgileri gerektirir.

Genel Kanallar

Genel kanallar, kimlik doğrulama gerektirmeden bağlı tüm istemcilere piyasa verilerini akıtır. Her abone olma metodunun, karşılık gelen bir abonelikten çıkma metodu vardır.

Metot Açıklama
SubscribeSymbolTicker Belirli bir alım satım sembolü için gerçek zamanlı ticker güncellemelerine abone olur.
SubscribeAllSymbolsTicker Borsadaki tüm semboller için ticker güncellemelerine abone olur.
SubscribeSymbolSnapshot 24 saatlik istatistikler dahil olmak üzere belirli bir sembolün anlık görüntü verilerine abone olur.
SubscribeMarketSnapshot Piyasa geneli anlık görüntü güncellemelerine abone olur.
SubscribeLevel2MarketData Level 2 emir defteri değişikliklerine (tam derinlik) abone olur.
SubscribeLevel2_5BestAskBid Emir defterinin en iyi 5 alış ve satış seviyesine abone olur.
SubscribeLevel2_50BestAskBid Emir defterinin en iyi 50 alış ve satış seviyesine abone olur.
SubscribeKlines Bir sembol için belirtilen aralıkta mum/kline verilerine abone olur.
SubscribeMatchExecutionData Bir sembol üzerindeki işlemler için gerçek zamanlı eşleşme/gerçekleşme verilerine abone olur.
SubscribeIndexPrice Bir sembol için endeks fiyatı güncellemelerine abone olur.
SubscribeMarkPrice Bir sembol için işaret fiyatı güncellemelerine abone olur.
SubscribeOrderBookChanged Bir sembol için emir defteri değişiklik olaylarına abone olur.
Not: Yukarıda listelenen her Subscribe metodunun, o kanal için güncelleme almayı durdurmak üzere karşılık gelen bir UnSubscribe eşi vardır (örneğin UnSubscribeSymbolTicker).

Özel Kanallar

Özel kanallar geçerli API kimlik bilgileri gerektirir ve emirleriniz, bakiyeleriniz, pozisyonlarınız ve marj etkinliğiniz hakkında gerçek zamanlı güncellemeler sağlar.

Metot Açıklama
SubscribeTradeOrders Alım satım emirlerinizdeki (açık, gerçekleşmiş, iptal edilmiş) gerçek zamanlı güncellemelere abone olur.
SubscribeAccountBalance Gerçek zamanlı hesap bakiyesi değişikliklerine abone olur.
SubscribePositionStatus Marjlı alım satım için pozisyon durumu güncellemelerine abone olur.
SubscribeMarginTradeOrders Marjlı alım satım emri güncellemelerine abone olur.
SubscribeStopOrder Stop emri tetikleme ve durum güncellemelerine abone olur.

Spot REST API

Spot REST API'ye TsgcWSAPI_Kucoin bileşeninin REST_API özelliği üzerinden erişilir. Tüm metotlar JSON dizeleri döndürür. API; hesapları, para çekme işlemlerini, emir yönetimini, stop emirlerini ve piyasa verilerini kapsar.

Hesaplar

Metot Açıklama
GetAccounts Tüm hesapların (ana, alım satım, marj) bir listesini döndürür.
GetAccount Hesap kimliğine göre belirli bir hesabın ayrıntılarını döndürür.
GetAccountBalanceSubAccount Bir alt hesabın bakiyesini döndürür.
InnerTransfer Dahili hesaplarınız arasında (örneğin ana hesaptan alım satım hesabına) fon aktarır.

Para Çekme İşlemleri

Metot Açıklama
GetWithdrawalsList Son para çekme kayıtlarının bir listesini döndürür.
GetHistoricalWithdrawalsList Yakın dönemin ötesindeki geçmiş para çekme kayıtlarını döndürür.
GetWithdrawalsQuotas Belirli bir para birimi için para çekme kotasını ve limitlerini döndürür.
ApplyWithdraw Harici bir adrese para çekme işlemi başlatır.
CancelWithdraw Kimliğine göre bekleyen bir para çekme işlemini iptal eder.

Emirler

Metot Açıklama
PlaceOrder Yeni bir spot emri (piyasa veya limit, alış veya satış) verir.
PlaceMarginOrder Ödünç alınan fonlarla bir marj emri verir.
CancelOrderByClientOid İstemci tarafından atanan emir kimliğini kullanarak bir emri iptal eder.
GetOrder Borsa tarafından atanan kimliğine göre belirli bir emrin ayrıntılarını döndürür.
GetOrderByClientOid İstemci tarafından atanan kimliğine göre belirli bir emrin ayrıntılarını döndürür.
ListFills Gerçekleşen emirlerin (işlem gerçekleşmeleri) bir listesini döndürür.
GetRecentFills En son gerçekleşme kayıtlarını döndürür.

Stop Emirleri

Metot Açıklama
PlaceStopOrder Stop fiyatına ulaşıldığında tetiklenen bir stop emri verir.
PlaceStopMarketOrder Tetiklendiğinde piyasa fiyatından gerçekleşen bir stop-market emri verir.
PlaceStopLimitOrder Tetiklendiğinde bir limit emri oluşturan bir stop-limit emri verir.
CancelStopOrder Borsa tarafından atanan kimliğine göre bir stop emrini iptal eder.
CancelStopOrderByClientOid İstemci tarafından atanan kimliğine göre bir stop emrini iptal eder.
CancelAllStopOrders İsteğe bağlı olarak sembole göre filtrelenmiş tüm aktif stop emirlerini iptal eder.
GetStopOrder Borsa tarafından atanan kimliğine göre belirli bir stop emrinin ayrıntılarını döndürür.
GetStopOrderByClientOid İstemci tarafından atanan kimliğine göre belirli bir stop emrinin ayrıntılarını döndürür.
ListStopOrders Tüm aktif stop emirlerinin bir listesini döndürür.

Piyasa Verileri

Metot Açıklama
GetSymbolList Mevcut alım satım sembollerinin bir listesini döndürür.
GetAllTickers Tüm alım satım çiftleri için ticker verilerini döndürür.
GetMarketList Mevcut piyasaların bir listesini döndürür.
GetPartOrderBook100 Bir sembol için emir defterinin en iyi 100 kaydını döndürür.
GetFullOrderBook Bir sembol için tam emir defterini (Level 3 verileri) döndürür.
GetHistories Bir sembol için son işlem geçmişini döndürür.
GetKLines Bir sembol için belirli bir aralıkta mum/kline verilerini döndürür.
GetCurrencies Desteklenen tüm para birimlerinin bir listesini döndürür.
GetCurrencyDetail Belirli bir para biriminin ayrıntılarını (zincir bilgisi, hassasiyet vb.) döndürür.
GetFiatPrice Belirtilen para birimleri için fiat fiyatını (örneğin BTC'nin USD değeri) döndürür.

Futures WebSocket API

Futures WebSocket API, TsgcWSAPI_Kucoin_Futures tarafından sağlanır ve futures sözleşme verileri ile özel hesap olayları için gerçek zamanlı akış sunar.

Genel Kanallar

Metot Açıklama
SubscribeSymbolTickerV2 Bir futures sözleşme sembolü için V2 ticker güncellemelerine abone olur.
SubscribeSymbolTicker Bir futures sözleşme sembolü için ticker güncellemelerine abone olur.
SubscribeLevel2MarketData Bir futures sözleşmesi için Level 2 emir defteri verilerine abone olur.
SubscribeExecutionData Futures işlemleri için gerçek zamanlı eşleşme/gerçekleşme verilerine abone olur.
SubscribeLevel2_5BestAskBid Bir futures sözleşmesi için en iyi 5 alış/satış seviyesine abone olur.
SubscribeLevel2_50BestAskBid Bir futures sözleşmesi için en iyi 50 alış/satış seviyesine abone olur.
SubscribeContractMarketData Sözleşme düzeyinde piyasa verilerine (fonlama oranı, işaret fiyatı vb.) abone olur.
SubscribeSystemAnnouncements Sistem geneli duyurulara ve bakım bildirimlerine abone olur.
SubscribeTransactionStatistics Bir futures sözleşmesi için toplu işlem istatistiklerine abone olur.
Not: Futures tablolarında listelenen her Subscribe metodunun, o kanal için güncelleme almayı durdurmak üzere karşılık gelen bir UnSubscribe eşi vardır.

Özel Kanallar

Metot Açıklama
SubscribeTradeOrders Futures alım satım emirlerinizdeki gerçek zamanlı güncellemelere abone olur.
SubscribeStopOrder Futures için stop emri tetikleme ve durum güncellemelerine abone olur.
SubscribeAccountBalance Gerçek zamanlı futures hesap bakiyesi değişikliklerine abone olur.
SubscribePositionChange Pozisyon değişiklik olaylarına (açma, kapama, tasfiye) abone olur.

Futures REST API

Futures REST API'ye TsgcWSAPI_Kucoin_Futures bileşeninin REST_API özelliği üzerinden erişilir. Bu metotlar; marj yönetimini, risk limitlerini, fonlama geçmişini ve emir defteri sorgularını kapsar.

Metot Açıklama
AddMarginManually Bir futures pozisyonuna manuel olarak marj ekler.
ObtainFuturesRiskLimitLevel Bir futures sözleşmesi için geçerli risk limiti seviyesini döndürür.
AdjustRiskLimitLevel Bir futures sözleşmesi için risk limiti seviyesini ayarlar.
GetFundingHistory Bir futures sözleşmesi için fonlama oranı geçmişini döndürür.
GetPartOrderBook100 Futures emir defterinin en iyi 100 kaydını döndürür.
GetFullOrderBook Tam futures emir defterini döndürür.
GetLevel2PullingMessages Artımlı emir defteri güncellemeleri için Level 2 çekme mesajlarını döndürür.
GetInterestRateList Fonlama hesaplamaları için kullanılan faiz oranı listesini döndürür.
GetIndexList Bir futures sözleşmesi için endeks bileşim listesini döndürür.

Kod Örneği

Aşağıdaki örnek, spot alım satım için TsgcWSAPI_Kucoin bileşeninin nasıl oluşturulup yapılandırılacağını, API ile kimlik doğrulamayı, REST üzerinden ticker'ların nasıl alınacağını, bir emrin nasıl verileceğini ve WebSocket üzerinden gerçek zamanlı bir ticker akışına nasıl abone olunacağını gösterir.

var
  oClient: TsgcWebSocketClient;
  oKucoin: TsgcWSAPI_Kucoin;
begin
  // Create the WebSocket client
  oClient := TsgcWebSocketClient.Create(nil);
  oKucoin := TsgcWSAPI_Kucoin.Create(nil);
  oKucoin.Client := oClient;
  // Configure API credentials
  oKucoin.Kucoin.ApiKey := 'your_api_key';
  oKucoin.Kucoin.ApiSecret := 'your_api_secret';
  oKucoin.Kucoin.Passphrase := 'your_passphrase';
  // Connect to KuCoin
  oClient.Active := True;
  // REST: Get all tickers
  ShowMessage(oKucoin.REST_API.GetAllTickers);
  // REST: Place a limit order
  ShowMessage(oKucoin.REST_API.PlaceOrder(myOrder));
  // WebSocket: Subscribe to BTC-USDT ticker
  oKucoin.SubscribeSymbolTicker('BTC-USDT');
end;

WebSocket Olaylarını İşleme

Gelen mesajları işlemek için bir olay işleyici atayın. Olay, her güncelleme için konuyu, özneyi ve JSON verisini sağlar.

procedure TForm1.OnKucoinEvent(Sender: TObject;
  const aTopic, aSubject, aData: string);
begin
  // aTopic identifies the channel
  // aSubject provides the specific symbol or identifier
  // aData contains the JSON payload
  Memo1.Lines.Add(aTopic + ' [' + aSubject + ']: ' + aData);
end;

Configuration & Notes

Yapılandırma Özellikleri

Hem TsgcWSAPI_Kucoin (spot) hem de TsgcWSAPI_Kucoin_Futures (futures), Kucoin özelliği üzerinden erişilen aynı kimlik doğrulama özelliklerini paylaşır.

Özellik Tür Açıklama
Kucoin.ApiKey String KuCoin API anahtarınız. Bunu KuCoin API Management sayfasından oluşturun.
Kucoin.ApiSecret String KuCoin API gizli anahtarınız. Bu değeri güvende tutun ve istemci tarafı kodda asla açığa çıkarmayın.
Kucoin.Passphrase String API anahtarını oluştururken belirlediğiniz parola. Tüm kimliği doğrulanmış istekler için gereklidir.

Önemli Notlar

Güvenlik: API anahtarınızı, gizli anahtarınızı veya parolanızı asla doğrudan üretim kodunda sabit olarak yazmayın. Kimlik bilgilerini saklamak için güvenli bir yapılandırma dosyası veya ortam değişkeni kullanın.