API Kucoin

Kucoin

 

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 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 relacionados a dados do usuário exigem o uso das API keys 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
SubscribeSymbolTicker Symbol Inscreva-se neste tópico para obter o push de alterações de BBO. Se não houver alteração dentro de um segundo, ele não será enviado. Será enviado a cada 100ms com o BBO mais recente. Se não houve alteração em relação aos últimos dados, ele não será enviado.
SubscribeAllSymbolsTicker   Assine este tópico para obter o push de todas as mudanças de BBO dos símbolos de mercado.
SubscribeSymbolSnapshot Symbol Assina para obter dados de snapshot de um único símbolo. Os dados de snapshot são enviados em intervalos de 2 segundos.
SubscribeMarketSnapshot Market Assine este tópico para obter os dados de snapshot de todo o mercado. Os dados de snapshot são enviados em intervalos de 2 segundos.
SubscribeLevel2MarketData Symbol Assine este tópico para obter dados do livro de ordens Level2. Quando a assinatura do websocket for bem-sucedida, o sistema enviaria a você os dados de mudança incremental enviados pelo websocket.
SubscribeLevel2_5BestAskBid Symbol O sistema retornará os dados das 5 melhores ordens de ask/bid, que são os dados de snapshot a cada 100 milissegundos (em outras palavras, os dados das 5 melhores ordens de ask/bid retornados a cada 100 milissegundos em tempo real).
SubscribeLevel2_50BestAskBid Symbol O sistema retornará os dados das 50 melhores ordens de ask/bid, que são os dados de snapshot a cada 100 milissegundos (em outras palavras, os dados das 50 melhores ordens de ask/bid retornados a cada 100 milissegundos em tempo real).
SubscribeKlines Symbol Assine este tópico para obter os dados de K-Line.
SubscribeMatchExecutionData Symbol Assine este tópico para obter o fluxo de dados de eventos de correspondência do Level 3. Para cada ordem negociada, o sistema enviará as mensagens de correspondência no formato a seguir.
SubscribeIndexPrice Symbol Inscreva-se neste tópico para obter o preço de índice da negociação com margem.
SubscribeMarkPrice Symbol Assine este tópico para obter o mark price para trading de margem.
SubscribeOrderBookChanged Symbol Assine este tópico para obter as alterações do order book no trade de margem.
SubscribeLevel1 Symbol Assina os dados de melhor bid/ask de Level 1 para um símbolo.

 

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.

SubscribePositionStatus O sistema enviará o evento de mudança quando o status da posição mudar.
SubscribeMarginTradeOrders O sistema enviará esta mensagem aos lenders quando a ordem entrar no order book.
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.
SubscribeTradeOrdersV2 Assine o canal de ordens de negociação V2 para notificações aprimoradas de atualização de ordem.
SubscribeCrossMarginPosition Assine atualizações de posição de cross margin. O sistema enviará o evento de mudança quando a posição de cross margin mudar.
SubscribeIsolatedMarginPosition Assina atualizações de posição em margem isolada. O sistema enviará o evento de alteração quando a posição em margem isolada mudar.

 

 

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
GetSymbolList Market Faça uma requisição através deste endpoint para obter uma lista de pares de moedas disponíveis para negociação. Se você quiser obter as informações de mercado do símbolo de negociação
GetTicker Symbol Faça a requisição por este endpoint para obter Market Data de Nível 1. O valor retornado inclui o melhor preço e tamanho de bid, o melhor preço e tamanho de ask, bem como o último preço negociado e o último tamanho negociado.
GetAllTickers   Solicita os tickers de mercado para todos os pares de negociação do mercado (incluindo volume de 24h).
Get24hrStats Symbol Solicite por este endpoint para obter as estatísticas do ticker especificado nas últimas 24 horas.
GetMarketList   Faça uma requisição através deste endpoint para obter a moeda de transação de todo o mercado de negociação.
GetPartOrderBook20 Symbol Requisita por meio deste endpoint para obter uma lista de ordens abertas de um símbolo. O order book de Level-2 inclui todos os bids e asks (agregados por preço); este nível retorna apenas um tamanho para cada preço ativo (como se houvesse apenas uma única ordem para aquele preço). O sistema retornará 20 itens de dados (dados de ask e bid) no order book.
GetPartOrderBook100 Symbol Faça a requisição por este endpoint para obter uma lista de ordens abertas de um símbolo. O livro de ordens de Nível 2 inclui todos os bids e asks (agregados por preço); este nível retorna apenas um tamanho para cada preço ativo (como se houvesse apenas uma única ordem para aquele preço). O sistema retornará 100 itens de dados (dados de ask e bid) no livro de ordens.
GetFullOrderBook Symbol Requisite através deste endpoint para obter o order book do símbolo especificado. O order book Level 2 inclui todos os bids e asks (agregados por preço). Este nível retorna apenas um tamanho agregado para cada preço (como se houvesse apenas uma única ordem para esse preço). Esta API retornará dados com profundidade completa.
GetKLines Symbol Faça uma requisição por meio deste endpoint para obter a kline do símbolo especificado. Os dados são retornados em buckets agrupados com base no tipo solicitado.
GetCurrencies   Requisite através deste endpoint para obter a lista de moedas.
GetCurrencyDetail Currency Requisite através deste endpoint para obter os detalhes de uma moeda especificada
GetFiatPrice   Requisite através deste endpoint para obter os detalhes de uma moeda especificada
GetPartOrderBook1 Symbol Faça a requisição por este endpoint para obter o melhor bid/ask de Nível 1 de um símbolo.

 

 

 

Private API EndPoints

 

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

 

User EndPoints

 

Method Parâmetros Descrição
GetAllSubAccounts   Você pode obter as informações de usuário de todos os sub-usuários por meio desta interface.
GetListAccounts   Obter uma lista de contas.
GetAccount AccountId Informações de uma única conta. Utilize este endpoint quando você conhecer o accountId.
GetAccountBalanceSubAccount SubUserId Este endpoint retorna as informações da conta de um subusuário especificado pelo subUserId.
InnerTransfer   Este endpoint da API pode ser usado para transferir fundos entre contas internamente. Os usuários podem transferir fundos entre sua conta principal, conta de negociação, conta de margem cruzada e conta de margem isolada gratuitamente. A transferência de fundos da conta principal, conta de margem cruzada e conta de negociação para a conta de futuros é suportada, mas a transferência de fundos das contas de futuros para outras contas não é suportada.
GetDepositAddresses Currency Obtém os endereços de depósito de uma moeda.
CreateDepositAddress Currency Criar um novo endereço de depósito para uma moeda.
GetDepositList   Obter histórico de depósitos.
GetAccountLedgers   Obter as entradas do ledger da conta.
GetTradeFees Symbols Obtém as taxas de trade para os símbolos especificados.

 

 

Endpoints de saque

 

Method Parâmetros Descrição
GetWithdrawalsList   Obtém uma lista dos Withdrawals.
GetHistoricalWithdrawalsList   Lista de saques históricos da KuCoin V1.
GetWithdrawalsQuotas Currency Get Withdrawals Quotas
ApplyWithdraw Currency, Address, Amount Cria um Withdraw
CancelWithdraw WithdrawalId Somente requisições de saque com status PROCESSING podem ser canceladas.

 

 

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 colocada uma ordem, os fundos da sua conta ficarão retidos pela duração da ordem. Quanto e quais fundos ficam retidos depende do tipo de ordem e dos parâmetros especificados.
PlaceMarketOrder   Coloca uma Ordem a Mercado.
PlaceLimitOrder   Coloca uma Ordem Limit.
PlaceMarginOrder   Coloca uma Margin Order.
CancelOrder   Cancela uma Ordem pelo Order Id.
CancelOrderByClientOid   Cancela uma ordem pelo Client Order Id.
CancelAllOrders   Cancela todas as ordens abertas.
ListOrders   Faça uma requisição por este endpoint para obter sua lista de ordens atual. Os itens são paginados e ordenados para mostrar os mais recentes primeiro
GetRecentOrders   Requisite por meio deste endpoint para obter 1000 ordens nas últimas 24 horas.
GetOrder   Requisita por meio deste endpoint para obter as informações de uma única ordem pelo order ID.
GetOrderByClientOid   Solicite por este endpoint para obter as informações de uma única ordem pelo Client order ID.
ListFills   Solicite por este endpoint para obter os fills recentes.
GetRecentFills   Requisita por meio deste endpoint para obter uma lista de 1000 fills nas últimas 24 horas.
PlaceStopOrder   Coloca uma Stop Order.
PlaceStopMarketOrder   Coloca uma Ordem Stop Market.
PlaceStopLimitOrder   Coloca uma ordem Stop Limit.
CancelStopOrder   Cancela uma Open Stop Order pelo Order Id
CancelStopOrderByClientOid   Cancela uma Open Stop Order pelo Client Order Id
CancelAllStopOrders   Cancel All Stop Orders
GetStopOrder   Faça uma requisição através desta interface para obter informações de uma ordem stop pelo ID da ordem.
GetStopOrderByClientOid   Requisita por meio desta interface para obter informações de uma ordem stop pelo Client order ID.
ListStopOrders   Faça uma requisição neste endpoint para obter a sua lista atual de stop orders não disparadas. Os itens são paginados e ordenados para mostrar os mais recentes primeiro.
PlaceHFOrder   Coloca uma ordem de alta frequência.
CancelHFOrder   Cancela uma ordem de alta frequência pelo order ID.
CancelHFOrderByClientOid   Cancela uma ordem de alta frequência pelo ID da ordem do cliente.
CancelAllHFOrders   Cancelar todas as ordens de alta frequência.
GetHFActiveOrders   Obter ordens ativas de alta frequência.
GetHFDoneOrders   Obter ordens de alta frequência concluídas.
GetHFOrder   Obtém uma ordem específica de alta frequência pelo ID da ordem.

 

 

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).