Cliente Delphi para a API CEX Plus

· Componentes

A partir do sgcWebSockets 2023.8.0, a CEX.IO Plus API é suportada.

APIs suportadas

WebSockets API

O WebSocket é um protocolo de comunicação full-duplex baseado em TCP. Full-duplex significa que ambas as partes podem enviar mensagens entre si de forma assíncrona usando o mesmo canal de comunicação. Esta seção descreve quais mensagens o Exchange Plus e o cliente devem trocar entre si. Todas as mensagens devem ser objetos JSON válidos.

A WebSocket API é usada principalmente para obter informações ou executar ações que não estão disponíveis ou são difíceis de realizar via REST API. No entanto, algumas requisições ou ações podem ser feitas tanto pela REST API quanto pela WebSocket API. O Exchange Plus envia mensagens ao cliente como resposta a uma requisição enviada anteriormente pelo cliente, ou como notificação sobre algum evento (sem requisição prévia do cliente). 

Chamadas à API Pública

O limite de taxa da API Pública é aplicado para proteger o sistema contra ataques DDoS e garantir que todos os clientes tenham o mesmo nível estável de acesso aos endpoints da Exchange Plus API. As requisições públicas são limitadas pelo endereço IP a partir do qual as requisições são feitas. Os limites de requisição são determinados pelo custo associado a cada chamada de API pública. Por padrão, cada requisição pública tem um custo de 1 ponto, mas para algumas requisições específicas o custo pode ser maior. Consulte as informações atualizadas sobre o custo do limite de taxa de requisição na especificação de cada método.

O Exchange Plus limita as chamadas à API Pública a no máximo 100 pontos por minuto, considerando que cada chamada à API Pública tem seu próprio custo (veja abaixo). Se o limite de taxa de requisição for atingido, o Exchange Plus responde com um erro, envia um evento de desconexão ao cliente e encerra a conexão WS. O Exchange Plus continuará a atender o cliente a partir do próximo minuto do calendário. No exemplo a seguir, o contador de requisições será redefinido às 11:02:00.000. 

Exemplo: obter o ticker mais recente do par 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; 

Chamadas à API Privada

O Exchange Plus usa chaves de API para permitir o acesso às APIs Privadas.

O cliente pode gerar, configurar e gerenciar chaves de API, definir níveis de permissão, IPs na lista de permissões para a chave de API etc. via o Exchange Plus Web Terminal, na seção de gerenciamento de perfil de chaves de API.

Limite de chaves de API: Por padrão, o cliente pode ter até 5 chaves de API.

Para restringir o acesso a determinadas funcionalidades ao usar chaves de API, deve-se definir um conjunto específico de permissões para cada chave. O conjunto de permissões definido pode ser editado posteriormente, se necessário.

Os seguintes níveis de permissão estão disponíveis para chaves de API:


Exemplo: obter as ordens.

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; 

CEX Plus Demo for Windows

Baixe a demo CEX Plus para Windows desenvolvida com a biblioteca sgcWebSockets. https://www.esegece.com/download/protocols/sgcCEXPlus.zip