API Kucoin Futures

Kucoin Futures

 

A Kucoin é uma exchange de criptomoedas internacional e multilíngue. Ela oferece algumas APIs para acessar dados da Kucoin. As seguintes APIs são suportadas:

 

  1. WebSocket streams: permite que você faça subscribe a alguns métodos e obtenha dados em tempo real. Os eventos são enviados aos clientes pelo servidor para os assinantes. Usa o WebSocket como protocolo.
  2. REST API: os clientes podem requisitar ao servidor dados de mercado e de conta. Requer uma API Key, Secret e Passphrase para autenticar e usa HTTPs como protocolo.

 

 

Properties

A API da Kucoin tem 2 tipos de métodos: públicos e privados. Os métodos públicos podem ser acessados sem autenticação, exemplo: obter preços de ticker. Os métodos privados e relacionados a dados do usuário exigem o uso de chaves de API da Kucoin.

 

 

Most common uses

 

WebSocket Feed

Para assinar as mensagens de um canal a partir de um determinado servidor, o lado do cliente deve enviar uma mensagem de assinatura ao servidor.

Se a assinatura for bem-sucedida, o sistema enviará mensagens de ack a você, quando a resposta for definida como true.

{
"id":"1545910660739",
"type":"ack"
}
Enquanto houver mensagens de tópico geradas, o sistema enviará as mensagens correspondentes ao lado do cliente.

 

Os seguintes métodos de Assinatura / Cancelamento de assinatura são suportados.

 

Canais Públicos

 

Method Parâmetros Descrição
SubscribeSymbolTickerV2 Symbol Assine este tópico para obter o push em tempo real das mudanças de BBO. Após a assinatura, quando houver mudanças no order book, o sistema enviará as informações do ticker symbol em tempo real para você. Recomenda-se usar o novo tópico para informações pontuais.
SubscribeSymbolTicker Symbol Faça subscribe a este tópico para obter o push em tempo real de mudanças de BBO. O canal ticker fornece atualizações de preço em tempo real sempre que ocorre um match. Se várias ordens forem correspondidas ao mesmo tempo, apenas o último evento de correspondência será enviado.
SubscribeLevel2MarketData Symbol Assine este tópico para obter dados de order book de Level 2.
SubscribeExecutionData Symbol Para cada ordem executada, o sistema enviará a você as mensagens de match no formato a seguir.
SubscribeLevel2_5BestAskBid Symbol Retornado a cada 100 milissegundos no máximo.
SubscribeLevel2_50BestAskBid Symbol Retornado a cada 100 milissegundos no máximo.
SubscribeContractMarketData Symbol Assine este tópico para obter os dados de mercado do contrato.
SubscribeSystemAnnouncements Symbol Assine este tópico para obter os anúncios do sistema.
SubscribeTransactionStatistics Symbol As estatísticas de transações serão enviadas aos usuários a cada 5 segundos.
SubscribeKlines Symbol Assinar dados de klines (candlestick) de contratos.
SubscribeFundingFeeSettlement Symbol Assine notificações de liquidação de funding fee.

 

Se o parâmetro ACK for enviado como true, após uma assinatura / cancelamento de assinatura bem-sucedido, o cliente recebe uma mensagem sobre isso.

 

Private Channels

Requer uma ApiKey válida obtida da sua conta Kucoin. A ApiKey, o ApiSecret e a Passphrase devem ser definidos na propriedade Kucoin do componente de API cliente.

 

Os dados a seguir são enviados ao cliente toda vez que há uma alteração. Não há necessidade de assinar nenhum método; isso é feito automaticamente se você definir uma ApiKey válida.

 

Method Descrição
SubscribeTradeOrders Este tópico enviará todos os eventos de alteração das suas ordens.
SubscribeAccountBalance

Você receberá esta mensagem quando o saldo de uma conta for alterado. A mensagem contém os detalhes da alteração.

SubscribePositionChange O sistema enviará o evento de mudança quando o status da posição mudar.
SubscribeStopOrder Quando uma stop order é recebida pelo sistema, você receberá uma mensagem com o tipo "open". Isso significa que esta ordem entrou no sistema e aguardou para ser acionada.
SubscribeMarginMode Inscreve-se em mudanças de modo de margem. O sistema enviará o evento de mudança quando o modo de margem for atualizado.
SubscribeCrossMarginLeverage Faça subscribe a alterações de alavancagem de margem cruzada. O sistema enviará o evento de alteração quando a alavancagem de margem cruzada for atualizada.

 

 

REST API

Todos os endpoints retornam um objeto ou array JSON.

 

EndPoints da API Pública

 

Esses endpoints podem ser acessados sem nenhuma autorização.

 

General EndPoints

 

Method Parâmetros Descrição
GetServiceStatus   Testa a conectividade com a Rest API e obtém o Status do Serviço
GetServerTime   Testar a conectividade com a Rest API e obter a hora atual do servidor.

 

 

Market Data EndPoints

 

Method Parâmetros Descrição
GetOpenContractList   Envia uma requisição para obter as informações de todos os contratos abertos.
GetOrderInfoContract   Envia uma requisição para obter informações do contrato especificado.
GetTicker Symbol O ticker em tempo real inclui o último preço negociado, o último tamanho negociado, o ID da transação, o lado do tomador de liquidez, o melhor preço e tamanho de bid, o melhor preço e tamanho de ask, bem como o horário da transação das ordens. Essas mensagens também podem ser obtidas através de Websocket. O Sequence Number é usado para julgar se as mensagens enviadas pelo Websocket são contínuas.
GetPartOrderBook20 Symbol Obtém um snapshot das ordens em aberto agregadas para um símbolo.
GetPartOrderBook100 Symbol Obtém um snapshot das ordens em aberto agregadas para um símbolo.
GetFullOrderBook Symbol Obtém um snapshot das ordens em aberto agregadas para um símbolo.
GetLevel2PullingMessages Symbol Se as mensagens enviadas pelo Websocket não forem contínuas, você pode enviar a seguinte requisição e re-extrair os dados para garantir que a sequência não esteja faltando. Na requisição, o parâmetro start é o número de sequência da sua última mensagem recebida mais 1, e o parâmetro end é o número de sequência da sua mensagem recebida atual menos 1. Após re-extrair as mensagens e aplicá-las ao seu order book de exchange local, você pode continuar a atualizar o order book através do feed incremental do Websocket. Se a diferença entre os parâmetros end e start for maior que 500, pare de utilizar esta requisição e sugerimos que você reconstrua o orderbook Level 2.
GetTradeHistory Symbol Lista os últimos 100 trades de um símbolo.
GetInterestRateList Symbol Consulta a lista de taxas de juros.
GetIndexList Symbol Verificar lista de índices
GetCurrentMarkPrice Symbol Verificar o mark price atual.
GetPremiumIndex Symbol Submete uma requisição para obter o índice premium.
GetCurrentFundingRate Symbol Envia a requisição para verificar o mark price atual.
GetKLine Symbol Obtém os Dados de K Line do Contrato

 

 

 

Private API EndPoints

 

Requer uma APIKey e uma APISecret para ser autorizado pelo servidor.

 

User EndPoints

 

Method Parâmetros Descrição
GetAccountOverview   Get Account Overview
GetTransactionHistory   Se houver posições abertas, o status da primeira página retornada será Pending, indicando o lucro e a perda realizados no período de liquidação atual de 8 horas. Especifique o número de offset mínimo da página atual no campo offset para mudar de página.

 

 

Trade Endpoints

 

Method Parâmetros Descrição
PlaceOrder   Você pode colocar dois tipos de ordens: limit e market. As ordens só podem ser colocadas se sua conta tiver fundos suficientes. Uma vez que uma ordem é colocada, seus fundos ficarão retidos pela duração da ordem. A quantidade de fundos retidos depende do tipo de ordem e dos parâmetros especificados.
PlaceMarketOrder   Coloca uma Ordem a Mercado.
PlaceLimitOrder   Coloca uma Ordem Limit.
CancelOrder   Cancela uma Ordem pelo Order Id.
LimitOrderMassCancellation   Cancela todas as ordens abertas (excluindo stop orders). A resposta é uma lista de orderIDs das ordens canceladas.
StopOrderMassCancellation   Cancela todas as ordens stop não acionadas. A resposta é uma lista de orderIDs das ordens stop canceladas. Para cancelar ordens stop acionadas, use 'Limit Order Mass Cancelation'.
GetOrderList   Lista suas ordens atuais.
GetUntriggeredStopOrderList   Obter a lista de stop orders não acionadas.
GetListOrdersCompleted24hr   Obtém uma lista das últimas 1000 ordens nas últimas 24 horas. Se você precisar obter seu histórico recente de ordens negociadas com baixa latência, pode consultar este endpoint.
GetOrder   Obtém uma única ordem por order id (incluindo uma stop order).
GetOrderByClientOid   Obtém uma única ordem pelo client order id (incluindo uma ordem stop).
GetFills   Obtém uma lista de fills recentes.
GetRecentFills   Obtém uma lista dos 1000 fills mais recentes nas últimas 24 horas. Se você precisar obter seu histórico recente de ordens negociadas com baixa latência, pode consultar este endpoint.
ActiveOrderValueCalculation   Você pode consultar este endpoint para obter o número total e o valor de todas as suas ordens ativas.
GetPositionDetails   Obtém os detalhes da posição de uma posição especificada.
GetPositionList   Obtém os detalhes da posição de uma posição especificada.
AutoDepositMargin   Habilita/Desabilita o Auto-Deposit Margin
AddMarginManually   Adicionar Margem Manualmente
ObtainFuturesRiskLimitLevel   Esta interface pode ser usada para obter informações sobre o nível de limite de risco de um contrato específico
AdjustRiskLimitLevel   Esta interface é para o ajuste do nível de limite de risco. Ajustar o nível cancelará a ordem aberta, a resposta só pode indicar se o envio da requisição de ajuste foi bem-sucedido ou não.
GetFundingHistory   Envia uma requisição para obter o histórico de funding.
GetMaxOpenSize Obter o tamanho máximo de posição aberta para um contrato.
SwitchMarginMode Alterna entre os modos de margem cruzada e isolada.
GetMarginMode Obter o modo de margem atual de um contrato.

 

 

Eventos

As mensagens da Kucoin são recebidas no componente TsgcWebSocketClient; você pode utilizar os seguintes eventos:

 

OnConnect

Após uma conexão bem-sucedida ao servidor Kucoin.

OnDisconnect

Após uma desconexão do servidor Kucoin

OnMessage

Mensagens enviadas pelo servidor ao cliente são tratadas neste evento.

OnError

Se houver algum erro no protocolo, este evento será chamado.

OnException

Se houver uma exceção não tratada, este evento será chamado.

 

Adicionalmente, há um evento específico no Componente da API Kucoin, chamado OnKucoinHTTPException, que é gerado toda vez que há um erro ao chamar uma Requisição HTTP (REST API ou WebSocket Feeds).