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:
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.
REST API
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.
| 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.
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. |
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. |
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).