Delphi CEX Plus API Client

· Bileşenler

sgcWebSockets 2023.8.0 sürümünden itibaren CEX.IO Plus API desteklenmektedir.

Desteklenen API'ler

WebSockets API

WebSocket, TCP tabanlı tam çift yönlü bir iletişim protokolüdür. Tam çift yönlü, her iki tarafın da aynı iletişim kanalını kullanarak birbirine asenkron olarak mesaj gönderebilmesi anlamına gelir. Bu bölüm, Exchange Plus ve İstemcinin birbirine hangi mesajları göndermesi gerektiğini açıklar. Tüm mesajlar geçerli JSON nesneleri olmalıdır.

WebSocket API çoğunlukla, REST API kullanılarak elde edilemeyen veya yapılması kolay olmayan bilgileri elde etmek ya da eylemleri gerçekleştirmek için kullanılır. Ancak, bazı istekler veya eylemler hem REST API hem de WebSocket API'de yapılabilir. Exchange Plus, İstemcinin daha önce gönderdiği bir isteğe yanıt olarak veya bir olay hakkında bildirim olarak (önceden İstemci isteği olmadan) İstemciye mesaj gönderir. 

Genel API Çağrıları

Genel API istek sınırı, sistemi DDoS saldırılarından korumak ve tüm İstemcilerin Exchange Plus API uç noktalarına aynı düzeyde kararlı erişime sahip olmasını sağlamak amacıyla uygulanır. Genel istekler, genel API isteklerinin yapıldığı IP adresine göre sınırlanır. İstek sınırları, her genel API çağrısıyla ilişkili maliyetten belirlenir. Varsayılan olarak, her genel isteğin 1 puanlık bir maliyeti vardır, ancak bazı belirli istekler için bu maliyet daha yüksek olabilir. Güncel istek sınırı maliyet bilgilerine her metodun belirtiminde bakın.

Exchange Plus, her Genel API çağrısının kendi maliyeti olduğunu göz önünde bulundurarak Genel API çağrılarını dakikada en fazla 100 puanla sınırlar (aşağıya bakın). İstek sınırına ulaşılırsa Exchange Plus hatayla yanıt verir, İstemciye disconnected olayı gönderir ve ardından WS bağlantısını kapatır. Exchange Plus, bir sonraki takvim dakikasından itibaren İstemciye hizmet vermeye devam eder. Aşağıdaki örnekte, istek sayacı 11:02:00.000'da sıfırlanacaktır. 

Örnek: BTC-USD çiftinin en son ticker'ını alın

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.OnCexPlusConnect := OnCexPlusConnectEvent;
oCexPlus.OnCexPlusMessage := OnCexPlusMessageEvent;
oClient.Active := True;
procedure OnCexPlusConnectEvent(Sender: TObject);
begin
  oCexPlus.GetTicker('BTC-USD');
end;
procedure OnCexPlusMessageEvent(Sender: TObject; Event, Msg: string);
begin
  ShowMessage('Ticker data: ' + Msg);
end; 

Özel API Çağrıları

Exchange Plus, Özel API'lere erişime izin vermek için API anahtarları kullanır.

İstemci, API Anahtarları Yönetim Profili bölümündeki Exchange Plus Web Terminal aracılığıyla api anahtarları oluşturabilir, yapılandırabilir ve yönetebilir, izin düzeylerini, API anahtarı için beyaz listeye alınmış IP'leri vb. ayarlayabilir.

API Anahtarları sınırı: Varsayılan olarak İstemci en fazla 5 API Anahtarına sahip olabilir.

API Anahtarlarını kullanırken belirli işlevlere erişimi kısıtlamak için her API Anahtarı için belirli bir izin kümesi tanımlanmalıdır. Tanımlanan izin kümesi gerekirse daha sonra düzenlenebilir.

API Anahtarları için aşağıdaki izin düzeyleri mevcuttur:


Örnek: emirleri alın.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your-api-key';
oCexPlus.CexPlus.ApiSecret := 'your-api-secret';
oCexPlus.OnCexPlusAuthenticated := OnCexPlusAuthenticatedEvent;
oCexPlus.OnCexPlusMessage := OnCexPlusMessageEvent;
oClient.Active := True;
procedure OnCexPlusAuthenticatedEvent(Sender: TObject);
begin
  oCexPlus.GetOrders();
end;
procedure OnCexPlusMessageEvent(Sender: TObject; Event, Msg: string);
begin
  ShowMessage('Orders: ' + Msg);
end; 

Windows için CEX Plus Demosu

sgcWebsockets kütüphanesiyle oluşturulan Windows için CEX Plus Demosunu indirin. https://www.esegece.com/download/protocols/sgcCEXPlus.zip