API Kucoin

Kucoin

 

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 tiene 2 tipos de métodos: públicos y privados. Se puede acceder a los métodos públicos sin autenticación, por ejemplo: obtener precios de ticker. Los métodos privados relacionados con 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
SubscribeSymbolTicker Symbol Suscríbase a este tema para recibir notificaciones push de los cambios en BBO. Si no hay cambios en un segundo, no se enviará ninguna notificación. Se enviará cada 100 ms con el BBO más reciente. Si no hubo cambios respecto a los últimos datos, no se enviará ninguna notificación.
SubscribeAllSymbolsTicker   Suscríbase a este tópico para recibir las actualizaciones de BBO de todos los símbolos del mercado.
SubscribeSymbolSnapshot Symbol Suscríbase para obtener datos de instantánea para un único símbolo. Los datos de instantánea se envían cada 2 segundos.
SubscribeMarketSnapshot Mercado Suscríbase a este topic para obtener los datos de instantánea de todo el mercado. Los datos de instantánea se envían a intervalos de 2 segundos.
SubscribeLevel2MarketData Symbol Suscríbase a este tema para obtener datos del libro de órdenes de nivel 2. Cuando la suscripción al websocket sea exitosa, el sistema le enviará los datos de cambio incremental transmitidos por el websocket.
SubscribeLevel2_5BestAskBid Symbol El sistema devolverá los 5 mejores datos de órdenes de compra/venta, que son los datos de instantánea de cada 100 milisegundos (en otras palabras, los 5 mejores datos de órdenes de compra/venta devueltos cada 100 milisegundos en tiempo real).
SubscribeLevel2_50BestAskBid Symbol El sistema devolverá los datos de las 50 mejores órdenes de compra/venta, que son datos de instantánea cada 100 milisegundos (es decir, los datos de las 50 mejores órdenes de compra/venta se devuelven cada 100 milisegundos en tiempo real).
SubscribeKlines Symbol Suscríbase a este tema para obtener datos K-Line.
SubscribeMatchExecutionData Symbol Suscríbase a este tema para obtener el flujo de datos de eventos correspondiente al Nivel 3. Por cada orden negociada, el sistema le enviará los mensajes de coincidencia en el siguiente formato.
SubscribeIndexPrice Symbol Suscríbase a este tópico para obtener el precio del índice para el trading con margen.
SubscribeMarkPrice Symbol Suscríbase a este tema para obtener el precio de marca para el trading con margen.
SubscribeOrderBookChanged Symbol Suscríbase a este tema para obtener los cambios del libro de órdenes en operaciones con margen.
SubscribeLevel1 Symbol Suscribirse a los datos de mejor oferta/demanda de nivel 1 para un símbolo.

 

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.

SubscribePositionStatus El sistema enviará el evento de cambio cuando el estado de la posición cambie.
SubscribeMarginTradeOrders El sistema enviará este mensaje a los prestamistas cuando la orden entre en el libro de órdenes.
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.
SubscribeTradeOrdersV2 Suscribirse al canal de órdenes de negociación V2 para notificaciones de actualización de órdenes mejoradas.
SubscribeCrossMarginPosition Suscríbase a las actualizaciones de posición de margen cruzado. El sistema enviará el evento de cambio cuando la posición de margen cruzado cambie.
SubscribeIsolatedMarginPosition Suscribirse a las actualizaciones de posición de margen aislado. El sistema enviará el evento de cambio cuando cambie la posición de margen aislado.

 

 

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
GetSymbolList Mercado Realice una solicitud a este endpoint para obtener una lista de pares de divisas disponibles para operar. Si desea obtener la información de mercado del símbolo de negociación
GetTicker Symbol Realice una solicitud a este endpoint para obtener datos de mercado de Nivel 1. El valor devuelto incluye el mejor precio de compra y su tamaño, el mejor precio de venta y su tamaño, así como el último precio negociado y el último volumen negociado.
GetAllTickers   Solicitar tickers de mercado para todos los pares de negociación del mercado (incluido el volumen de 24 h).
Get24hrStats Symbol Realice una solicitud a este endpoint para obtener las estadísticas del ticker especificado en las últimas 24 horas.
GetMarketList   Solicite a través de este endpoint la divisa de transacción de todo el mercado de negociación.
GetPartOrderBook20 Symbol Realice una solicitud a este endpoint para obtener una lista de órdenes abiertas para un símbolo. El libro de órdenes de nivel 2 incluye todas las ofertas y demandas (agregadas por precio); este nivel devuelve un único tamaño por cada precio activo (como si solo existiera una orden para ese precio). El sistema le devolverá 20 datos (datos de oferta y demanda) del libro de órdenes.
GetPartOrderBook100 Symbol Solicite a través de este endpoint la lista de órdenes abiertas de un símbolo. El libro de órdenes de nivel 2 incluye todas las ofertas y demandas (agregadas por precio); este nivel devuelve solo un tamaño por cada precio activo (como si hubiera una única orden para ese precio). El sistema le devolverá 100 registros de datos (datos de compra y venta) del libro de órdenes.
GetFullOrderBook Symbol Solicite a través de este endpoint para obtener el libro de órdenes del símbolo especificado. El libro de órdenes de nivel 2 incluye todas las ofertas de compra y venta (agregadas por precio). Este nivel devuelve únicamente un tamaño agregado por cada precio (como si hubiera una sola orden para ese precio). Esta API devuelve datos con profundidad completa.
GetKLines Symbol Solicite a través de este endpoint para obtener la vela del símbolo especificado. Los datos se devuelven en grupos según el tipo solicitado.
GetCurrencies   Realice una solicitud a este endpoint para obtener la lista de divisas.
GetCurrencyDetail Divisa Realice una solicitud a este endpoint para obtener los detalles de divisa de una moneda específica
GetFiatPrice   Realice una solicitud a este endpoint para obtener los detalles de divisa de una moneda específica
GetPartOrderBook1 Symbol Realice una solicitud a través de este punto de conexión para obtener el mejor precio de compra/venta de Nivel 1 para un símbolo.

 

 

 

Endpoints de API privada

 

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

 

User EndPoints

 

Método Parámetros Descripción
GetAllSubAccounts   Puede obtener la información del usuario de todos los subusuarios a través de esta interfaz.
GetListAccounts   Obtener una lista de cuentas.
GetAccount AccountId Información de una sola cuenta. Utilice este endpoint cuando conozca el accountId.
GetAccountBalanceSubAccount SubUserId Este endpoint devuelve la información de cuenta de un subusuario especificado por el subUserId.
InnerTransfer   Este endpoint de la API puede utilizarse para transferir fondos entre cuentas internamente. Los usuarios pueden transferir fondos entre su cuenta principal, cuenta de trading, cuenta de margen cruzado y cuenta de margen aislado de forma gratuita. Se admite la transferencia de fondos desde la cuenta principal, la cuenta de margen cruzado y la cuenta de trading a la cuenta de futuros, pero no se admite la transferencia desde cuentas de futuros a otras cuentas.
GetDepositAddresses Moneda Obtiene las direcciones de depósito para una divisa.
CreateDepositAddress Moneda Crear una nueva dirección de depósito para una divisa.
GetDepositList   Obtener el historial de depósitos.
GetAccountLedgers   Obtiene las entradas del libro mayor de la cuenta.
GetTradeFees Símbolos Obtiene las tarifas de operación para los símbolos especificados.

 

 

Puntos de Acceso de Retiro

 

Método Parámetros Descripción
GetWithdrawalsList   Obtiene una lista de los Retiros.
GetHistoricalWithdrawalsList   Lista de retiros históricos de KuCoin V1.
GetWithdrawalsQuotas Moneda Obtener cuotas de retiros
ApplyWithdraw Moneda, Dirección, Importe Crear un retiro
CancelWithdraw WithdrawalId Solo se pueden cancelar las solicitudes de retiro con estado PROCESSING.

 

 

Endpoints de operaciones

 

Método Parámetros Descripción
PlaceOrder   Puede colocar dos tipos de órdenes: límite y mercado. Las órdenes solo pueden colocarse si su cuenta tiene fondos suficientes. Una vez colocada una orden, los fondos de su cuenta quedarán retenidos durante el tiempo que dure la orden. El importe y el tipo de fondos retenidos dependen del tipo de orden y de los parámetros especificados.
PlaceMarketOrder   Coloca una Orden de Mercado.
PlaceLimitOrder   Coloca una Orden Límite.
PlaceMarginOrder   Coloca una orden de margen.
CancelOrder   Cancela una orden por ID de orden.
CancelOrderByClientOid   Cancela una orden por ID de orden del cliente.
CancelAllOrders   Cancelar todas las órdenes abiertas.
ListOrders   Solicite a este punto final para obtener su lista de órdenes actual. Los elementos están paginados y ordenados para mostrar los más recientes primero.
GetRecentOrders   Realice una solicitud a través de este punto de acceso para obtener 1000 órdenes en las últimas 24 horas.
GetOrder   Realice una solicitud a este endpoint para obtener información de una sola orden por ID de orden.
GetOrderByClientOid   Solicite a través de este endpoint la información de un único pedido mediante el ID de pedido del cliente.
ListFills   Solicite a través de este endpoint para obtener las transacciones recientes.
GetRecentFills   Realice una solicitud a este endpoint para obtener una lista de 1000 transacciones en las últimas 24 horas.
PlaceStopOrder   Coloca una orden Stop.
PlaceStopMarketOrder   Coloca una Orden de Mercado Stop.
PlaceStopLimitOrder   Coloca una orden Stop Limit.
CancelStopOrder   Cancela una orden Stop abierta por Id de orden
CancelStopOrderByClientOid   Cancela una Orden Stop Abierta por Id de Orden del Cliente
CancelAllStopOrders   Cancelar todas las órdenes stop
GetStopOrder   Solicite a través de esta interfaz la información de una orden de stop mediante el ID de la orden.
GetStopOrderByClientOid   Solicite a través de esta interfaz para obtener información de una orden stop mediante el ID de orden del cliente.
ListStopOrders   Realice una solicitud a este endpoint para obtener su lista actual de órdenes stop no activadas. Los elementos están paginados y ordenados para mostrar los más recientes primero.
PlaceHFOrder   Colocar una orden de alta frecuencia.
CancelHFOrder   Cancela una orden de alta frecuencia por ID de orden.
CancelHFOrderByClientOid   Cancelar una orden de alta frecuencia por ID de orden del cliente.
CancelAllHFOrders   Cancelar todas las órdenes de alta frecuencia.
GetHFActiveOrders   Obtener órdenes de alta frecuencia activas.
GetHFDoneOrders   Obtener órdenes de alta frecuencia completadas.
GetHFOrder   Obtener una orden de alta frecuencia específica por ID de orden.

 

 

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