API Kucoin Futures

Kucoin Futures

 

Kucoin es un exchange de criptomonedas internacional y multilingüe. Ofrece varias APIs para acceder a los datos de Kucoin. Se admiten las siguientes APIs:

 

  1. WebSocket streams: le permite suscribirse a algunos métodos y obtener datos en tiempo real. El servidor envía eventos a los clientes suscriptores. Utiliza WebSocket como protocolo.
  2. REST API: los clientes pueden solicitar datos de mercado y de cuenta al servidor. Requiere una clave API, un secreto y una contraseña para autenticarse, y utiliza HTTPs como protocolo.

 

 

Propiedades

La API de Kucoin dispone de 2 tipos de métodos: públicos y privados. Los métodos públicos son accesibles sin autenticación, por ejemplo: obtener precios de ticker. Los métodos privados y relacionados con los datos del usuario requieren el uso de claves de API de Kucoin.

 

 

Usos más comunes

 

WebSocket Feed

Para suscribirse a los mensajes de un canal de un determinado servidor, el lado cliente debe enviar un mensaje de suscripción al servidor.

Si la suscripción tiene éxito, el sistema le enviará mensajes de acuse de recibo cuando la respuesta se establezca como true.

{
"id":"1545910660739",
"type":"ack"
}
Mientras haya mensajes de tema generados, el sistema enviará los mensajes correspondientes al lado del cliente.

 

Se admiten los siguientes métodos de suscripción / cancelación de suscripción.

 

Canales Públicos

 

Método Parámetros Descripción
SubscribeSymbolTickerV2 Symbol Suscríbase a este tema para recibir actualizaciones en tiempo real de los cambios de BBO. Tras la suscripción, cuando haya cambios en el libro de órdenes, el sistema le enviará la información del símbolo del ticker en tiempo real. Se recomienda usar el nuevo tema para información oportuna.
SubscribeSymbolTicker Symbol Suscríbase a este tema para recibir actualizaciones en tiempo real de los cambios en el BBO. El canal ticker proporciona actualizaciones de precio en tiempo real cada vez que se produce una coincidencia. Si se emparejan varias órdenes al mismo tiempo, solo se enviará el último evento de coincidencia.
SubscribeLevel2MarketData Symbol Suscribirse a este tema para obtener datos del libro de órdenes de Nivel 2.
SubscribeExecutionData Symbol Por cada orden ejecutada, el sistema le enviará los mensajes de coincidencia en el siguiente formato.
SubscribeLevel2_5BestAskBid Symbol Devuelto como máximo cada 100 milisegundos.
SubscribeLevel2_50BestAskBid Symbol Devuelto como máximo cada 100 milisegundos.
SubscribeContractMarketData Symbol Suscríbase a este tema para obtener los datos de mercado del contrato.
SubscribeSystemAnnouncements Symbol Suscríbase a este tema para recibir los anuncios del sistema.
SubscribeTransactionStatistics Symbol Las estadísticas de transacciones se enviarán a los usuarios cada 5 segundos.
SubscribeKlines Symbol Suscríbase a los datos de klines (velas) de contratos.
SubscribeFundingFeeSettlement Symbol Suscríbase a las notificaciones de liquidación de comisiones de financiación.

 

Si el parámetro ACK se envía como true, tras una suscripción o cancelación de suscripción satisfactoria, el cliente recibe un mensaje al respecto.

 

Canales Privados

Requiere una ApiKey válida obtenida de su cuenta Kucoin. La ApiKey, ApiSecret y Passphrase deben establecerse en la propiedad Kucoin del componente API del cliente.

 

Los siguientes datos se envían al cliente cada vez que hay un cambio. No es necesario suscribirse a ningún método; esto se realiza automáticamente si se establece un ApiKey válido.

 

Método Descripción
SubscribeTradeOrders Este tema enviará todos los eventos de cambio de sus órdenes.
SubscribeAccountBalance

Recibirá este mensaje cuando cambie el saldo de una cuenta. El mensaje contiene los detalles del cambio.

SubscribePositionChange El sistema enviará el evento de cambio cuando el estado de la posición cambie.
SubscribeStopOrder Cuando el sistema recibe una orden stop, recibirá un mensaje con el tipo "open". Significa que esta orden ha entrado en el sistema y está esperando ser activada.
SubscribeMarginMode Suscripción a cambios de modo de margen. El sistema enviará el evento de cambio cuando se actualice el modo de margen.
SubscribeCrossMarginLeverage Suscríbase a los cambios de apalancamiento en margen cruzado. El sistema enviará el evento de cambio cuando se actualice el apalancamiento en margen cruzado.

 

 

REST API

Todos los endpoints devuelven un objeto JSON o un array.

 

Endpoints de la API pública

 

Se puede acceder a estos endpoints sin ninguna autorización.

 

EndPoints generales

 

Método Parámetros Descripción
GetServiceStatus   Pruebe la conectividad con la API REST y obtenga el estado del servicio
GetServerTime   Compruebe la conectividad con la Rest API y obtenga la hora actual del servidor.

 

 

Endpoints de datos de mercado

 

Método Parámetros Descripción
GetOpenContractList   Enviar solicitud para obtener la información de todos los contratos abiertos.
GetOrderInfoContract   Envíe una solicitud para obtener información del contrato especificado.
GetTicker Symbol El ticker en tiempo real incluye el último precio negociado, el último tamaño negociado, el ID de transacción, el lado del tomador de liquidez, el mejor precio y tamaño de compra, el mejor precio y tamaño de venta, así como el tiempo de transacción de las órdenes. Estos mensajes también se pueden obtener a través de WebSocket. El número de secuencia se utiliza para determinar si los mensajes enviados por WebSocket son continuos.
GetPartOrderBook20 Symbol Obtenga una instantánea de las órdenes abiertas agregadas para un símbolo.
GetPartOrderBook100 Symbol Obtenga una instantánea de las órdenes abiertas agregadas para un símbolo.
GetFullOrderBook Symbol Obtenga una instantánea de las órdenes abiertas agregadas para un símbolo.
GetLevel2PullingMessages Symbol Si los mensajes enviados por Websocket no son continuos, puede enviar la siguiente solicitud y volver a obtener los datos para garantizar que la secuencia no tenga huecos. En la solicitud, el parámetro start es el número de secuencia del último mensaje recibido más 1, y el parámetro end es el número de secuencia del mensaje recibido actualmente menos 1. Después de volver a obtener los mensajes y aplicarlos a su libro de órdenes local, puede continuar actualizando el libro de órdenes mediante el feed incremental de Websocket. Si la diferencia entre el parámetro end y start es superior a 500, deje de usar esta solicitud y le sugerimos que reconstruya el libro de órdenes de Nivel 2.
GetTradeHistory Symbol Listar las últimas 100 operaciones para un símbolo.
GetInterestRateList Symbol Consultar la lista de tipos de interés.
GetIndexList Symbol Comprobar lista de índices
GetCurrentMarkPrice Symbol Compruebe el precio de marca actual.
GetPremiumIndex Symbol Envía una solicitud para obtener el índice premium.
GetCurrentFundingRate Symbol Envía una solicitud para consultar el precio de marca actual.
GetKLine Symbol Obtener datos de K Line del contrato

 

 

 

Endpoints de API privada

 

Requiere una APIKey y un APISecret para ser autorizado por el servidor.

 

User EndPoints

 

Método Parámetros Descripción
GetAccountOverview   Obtener Resumen de Cuenta
GetTransactionHistory   Si hay posiciones abiertas, el estado de la primera página devuelta será Pending, lo que indica el beneficio y la pérdida realizados en el período de liquidación actual de 8 horas. Especifique el número de desplazamiento mínimo de la página actual en el campo offset para cambiar de página.

 

 

Endpoints de operaciones

 

Método Parámetros Descripción
PlaceOrder   Puede realizar dos tipos de órdenes: límite y mercado. Las órdenes solo pueden colocarse si su cuenta tiene fondos suficientes. Una vez colocada una orden, sus fondos quedarán retenidos durante la vigencia de la misma. La cantidad de fondos retenidos depende del tipo de orden y de los parámetros especificados.
PlaceMarketOrder   Coloca una Orden de Mercado.
PlaceLimitOrder   Coloca una Orden Límite.
CancelOrder   Cancela una orden por ID de orden.
LimitOrderMassCancellation   Cancela todas las órdenes abiertas (excepto las órdenes stop). La respuesta es una lista de orderID de las órdenes canceladas.
StopOrderMassCancellation   Cancelar todas las órdenes stop no activadas. La respuesta es una lista de IDs de las órdenes stop canceladas. Para cancelar órdenes stop activadas, utilice 'Limit Order Mass Cancelation'.
GetOrderList   Liste sus órdenes actuales.
GetUntriggeredStopOrderList   Obtener la lista de órdenes stop no activadas.
GetListOrdersCompleted24hr   Obtiene una lista de las últimas 1000 órdenes en las últimas 24 horas. Si necesita obtener el historial de órdenes ejecutadas recientemente con baja latencia, puede consultar este endpoint.
GetOrder   Obtener una única orden por id de orden (incluida una orden stop).
GetOrderByClientOid   Obtener una única orden por ID de orden del cliente (incluida una orden stop).
GetFills   Obtener una lista de las operaciones recientes ejecutadas.
GetRecentFills   Obtiene una lista de las últimas 1000 operaciones ejecutadas en las últimas 24 horas. Si necesita obtener el historial de órdenes negociadas recientemente con baja latencia, puede consultar este endpoint.
ActiveOrderValueCalculation   Puede consultar este endpoint para obtener el número total y el valor de todas sus órdenes activas.
GetPositionDetails   Obtener los detalles de una posición específica.
GetPositionList   Obtener los detalles de una posición específica.
AutoDepositMargin   Activar/Desactivar el depósito automático de margen
AddMarginManually   Añadir Margen Manualmente
ObtainFuturesRiskLimitLevel   Esta interfaz puede usarse para obtener información sobre el nivel de límite de riesgo de un contrato específico
AdjustRiskLimitLevel   Esta interfaz permite ajustar el nivel de límite de riesgo. Ajustar el nivel cancelará la orden abierta; la respuesta solo puede indicar si el envío de la solicitud de ajuste se ha realizado correctamente o no.
GetFundingHistory   Enviar solicitud para obtener el historial de financiación.
GetMaxOpenSize Obtener el tamaño máximo de posición abierta para un contrato.
SwitchMarginMode Cambiar entre los modos de margen cruzado y margen aislado.
GetMarginMode Obtiene el modo de margen actual para un contrato.

 

 

Eventos

Los mensajes de Kucoin se reciben en el componente TsgcWebSocketClient; puede usar los siguientes eventos:

 

OnConnect

Después de una conexión exitosa al servidor de Kucoin.

OnDisconnect

Tras una desconexión del servidor de Kucoin

OnMessage

Los mensajes enviados por el servidor al cliente se gestionan en este evento.

OnError

Si hay algún error en el protocolo, se llamará a este evento.

OnException

Si hay una excepción no controlada, se invocará este evento.

 

Además, hay un evento específico en el componente de la API de Kucoin, llamado OnKucoinHTTPException, que se activa cada vez que hay un error al llamar a una solicitud HTTP (API REST o WebSocket Feeds).