Client API Delphi CEX Plus

· Composants

Depuis sgcWebSockets 2023.8.0, l'API CEX.IO Plus est prise en charge.

APIs prises en charge

API WebSockets

WebSocket est un protocole de communication full-duplex basé sur TCP. Full-duplex signifie que les deux parties peuvent s'envoyer des messages de manière asynchrone via le même canal de communication. Cette section décrit quels messages Exchange Plus et le client doivent s'échanger. Tous les messages doivent être des objets JSON valides.

L'API WebSocket est principalement utilisée pour obtenir des informations ou réaliser des actions qui ne sont pas disponibles ou pas faciles à faire via l'API REST. Cependant, certaines requêtes ou actions peuvent être réalisées à la fois en API REST et en API WebSocket. Exchange Plus envoie des messages au client en réponse à une requête précédemment envoyée par le client, ou comme notification d'un événement (sans requête préalable du client). 

Appels d'API publique

Une limite de débit d'API publique est appliquée afin de protéger le système contre les attaques DDoS et de garantir à tous les clients un même niveau d'accès stable aux endpoints de l'API Exchange Plus. Les requêtes publiques sont limitées par l'adresse IP depuis laquelle les requêtes d'API publique sont faites. Les limites de requêtes sont déterminées à partir du coût associé à chaque appel d'API publique. Par défaut, chaque requête publique a un coût de 1 point, mais pour certaines requêtes spécifiques ce coût peut être plus élevé. Consulte les informations à jour sur le coût des limites de débit dans la spécification de chaque méthode.

Exchange Plus limite les appels d'API publique à un maximum de 100 points par minute, en considérant que chaque appel d'API publique a son coût (voir ci-dessous). Si la limite de débit est atteinte, Exchange Plus répond par une erreur, envoie un événement de déconnexion au client et ferme ensuite la connexion WS. Exchange Plus continuera de servir le client à partir de la minute calendaire suivante. Dans l'exemple suivant, le compteur de requêtes sera réinitialisé à 11:02:00.000. 

Exemple : récupérer le dernier ticker de la paire BTC-USD

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; 

Appels d'API privée

Exchange Plus utilise des clés API pour autoriser l'accès aux APIs privées.

Le client peut générer, configurer et gérer les clés API, définir les niveaux de permission, les IP autorisées par clé API, etc. via le terminal web Exchange Plus dans la section Gestion des clés API du profil.

Limite des clés API : par défaut, le client peut avoir jusqu'à 5 clés API.

Pour restreindre l'accès à certaines fonctionnalités lors de l'utilisation des clés API, un ensemble spécifique de permissions doit être défini pour chaque clé API. L'ensemble de permissions défini peut être modifié ultérieurement si nécessaire.

Les niveaux de permission suivants sont disponibles pour les clés API :


Exemple : récupérer les ordres.

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; 

Démo CEX Plus pour Windows

Télécharge la démo CEX Plus pour Windows construite avec la bibliothèque sgcWebsockets. https://www.esegece.com/download/protocols/sgcCEXPlus.zip