Kucoin 是一家国际多语言加密货币交易所。它提供一些 API 以访问 Kucoin 数据。以下 API 受支持:
Kucoin API 有两种方法:公开方法和私有方法。公开方法无需身份验证即可访问,例如获取行情价格。与用户数据相关的私有方法需要使用 Kucoin API 密钥。
REST API
要从特定服务器订阅通道消息,客户端应向服务器发送订阅消息。
如果订阅成功,当响应设置为 true 时,系统将向您发送 ack 消息。
{
"id":"1545910660739",
"type":"ack"
}
当有主题消息产生时,系统将向客户端发送相应的消息。
支持以下订阅/取消订阅方法。
| 方法 | 参数 | 描述 |
| SubscribeSymbolTicker | 交易对 | 订阅此主题可获取 BBO 变动推送。若一秒内无变动则不推送。每 100 毫秒推送一次最新 BBO,若与上次数据相比无变化则不推送。 |
| SubscribeAllSymbolsTicker | 订阅此主题,获取所有市场交易对最优买卖价(BBO)变动的推送。 | |
| SubscribeSymbolSnapshot | 交易对 | 订阅以获取单个交易对的快照数据。快照数据每 2 秒推送一次。 |
| SubscribeMarketSnapshot | 市场 | 订阅此主题以获取整个市场的快照数据。快照数据每 2 秒推送一次。 |
| SubscribeLevel2MarketData | 交易对 | 订阅此主题以获取 Level2 订单簿数据。WebSocket 订阅成功后,系统将通过 WebSocket 实时推送增量变更数据。 |
| SubscribeLevel2_5BestAskBid | 交易对 | 系统将每 100 毫秒返回一次 5 档最优买卖报价的快照数据(即实时每 100 毫秒返回 5 档最优买卖报价数据)。 |
| SubscribeLevel2_50BestAskBid | 交易对 | 系统将返回 50 个最优买卖报价数据,这是每 100 毫秒一次的快照数据(即每 100 毫秒实时返回 50 个最优买卖报价数据)。 |
| SubscribeKlines | 交易对 | 订阅此主题以获取 K 线数据。 |
| SubscribeMatchExecutionData | 交易对 | 订阅此主题以获取 Level 3 的撮合事件数据流。每次订单成交时,系统将以以下格式向您发送撮合消息。 |
| SubscribeIndexPrice | 交易对 | 订阅此主题以获取保证金交易的指数价格。 |
| SubscribeMarkPrice | 交易对 | 订阅此主题以获取保证金交易的标记价格。 |
| SubscribeOrderBookChanged | 交易对 | 订阅此主题以获取保证金交易的订单簿变化。 |
| SubscribeLevel1 | 交易对 | 订阅某个交易对的 Level 1 最优买卖价数据。 |
如果将 ACK 参数设为 true,在成功订阅/取消订阅后,客户端将收到相关通知消息。
需要从您的 Kucoin 账户获取有效的 ApiKey。ApiKey、ApiSecret 和 Passphrase 必须在客户端 API 组件的 Kucoin 属性中设置。
每次发生变化时,以下数据将被推送给客户端。如果设置了有效的 ApiKey,无需订阅任何方法,系统将自动完成订阅。
| 方法 | 描述 |
| SubscribeTradeOrders | 本主题将推送您的订单的所有变更事件。 |
| SubscribeAccountBalance |
当账户余额发生变化时,您将收到此消息。消息包含变化的详情。 |
| SubscribePositionStatus | 当持仓状态发生变化时,系统将推送变更事件。 |
| SubscribeMarginTradeOrders | 当订单进入订单簿时,系统将向出借方推送此消息。 |
| SubscribeStopOrder | 当系统收到止损订单时,您将收到类型为 "open" 的消息,表示该订单已进入系统并等待触发。 |
| SubscribeTradeOrdersV2 | 订阅 V2 交易订单频道,获取增强的订单更新通知。 |
| SubscribeCrossMarginPosition | 订阅全仓保证金持仓更新。当全仓保证金持仓发生变化时,系统将推送变更事件。 |
| SubscribeIsolatedMarginPosition | 订阅逐仓保证金持仓更新。当逐仓保证金持仓发生变化时,系统将推送变更事件。 |
所有端点均返回 JSON 对象或数组。
公共 API 端点
这些端点无需任何授权即可访问。
通用端点
| 方法 | 参数 | 描述 |
| GetServiceStatus | 测试与 REST API 的连接并获取服务状态 | |
| GetServerTime | 测试与 Rest API 的连接性并获取当前服务器时间。 |
市场数据端点
| 方法 | 参数 | 描述 |
| GetSymbolList | 市场 | 通过此端点请求获取可交易的货币对列表。若要获取交易品种的市场信息 |
| GetTicker | 交易对 | 通过此端点请求获取一级市场数据。返回值包括最优买价和买量、最优卖价和卖量,以及最新成交价和最新成交量。 |
| GetAllTickers | 请求市场中所有交易对的行情数据(包括 24 小时交易量)。 | |
| Get24hrStats | 交易对 | 通过此端点请求,获取指定行情在最近 24 小时内的统计数据。 |
| GetMarketList | 通过此端点请求获取整个交易市场的交易货币。 | |
| GetPartOrderBook20 | 交易对 | 通过此端点请求,获取某个交易对的未平仓订单列表。Level-2 订单簿包含所有买卖报价(按价格聚合),此级别仅返回每个活跃价格的一个数量(仿佛该价格只有一个订单)。系统将在订单簿中返回 20 条数据(买入和卖出数据)。 |
| GetPartOrderBook100 | 交易对 | 通过此端点请求获取某个交易对的未完成订单列表。二级订单簿包含所有买卖挂单(按价格聚合),此级别对每个活跃价格只返回一个数量(如同该价格只有一笔订单)。系统将返回订单簿中的 100 条数据(买卖双方各 50 条)。 |
| GetFullOrderBook | 交易对 | 通过此端点请求,可获取指定交易对的订单簿。Level 2 订单簿包含所有买单和卖单(按价格聚合)。该级别对每个价格仅返回一个聚合数量(即视为该价格只有一个订单)。此 API 将返回完整深度的数据。 |
| GetKLines | 交易对 | 通过此端点请求获取指定标的的 K 线数据。数据根据请求的类型按分组桶返回。 |
| GetCurrencies | 通过此端点请求获取货币列表。 | |
| GetCurrencyDetail | 货币 | 通过此端点获取指定货币的货币详情 |
| GetFiatPrice | 通过此端点获取指定货币的货币详情 | |
| GetPartOrderBook1 | 交易对 | 通过此端点获取某个交易对的一级最优买卖价。 |
私有 API 端点
需要 APIKey 和 APISecret 才能获得服务器授权。
用户端点
| 方法 | 参数 | 描述 |
| GetAllSubAccounts | 您可以通过此接口获取所有子用户的用户信息。 | |
| GetListAccounts | 获取账户列表。 | |
| GetAccount | AccountId | 单个账户的信息。当您知道 accountId 时,请使用此端点。 |
| GetAccountBalanceSubAccount | SubUserId | 此端点返回由 subUserId 指定的子用户的账户信息。 |
| InnerTransfer | 此 API 端点可用于在账户之间内部划转资金。用户可在主账户、交易账户、全仓保证金账户和逐仓保证金账户之间免费划转资金。支持从主账户、全仓保证金账户和交易账户向期货账户划转,但不支持从期货账户向其他账户划转。 | |
| GetDepositAddresses | 货币 | 获取货币的存款地址。 |
| CreateDepositAddress | 货币 | 为某种货币创建新的存款地址。 |
| GetDepositList | 获取充值历史记录。 | |
| GetAccountLedgers | 获取账户账本条目。 | |
| GetTradeFees | 交易对 | 获取指定交易对的交易手续费。 |
提现端点
| 方法 | 参数 | 描述 |
| GetWithdrawalsList | 获取提款列表。 | |
| GetHistoricalWithdrawalsList | KuCoin V1 历史提现记录列表。 | |
| GetWithdrawalsQuotas | 货币 | 获取提款限额 |
| ApplyWithdraw | Currency, Address, Amount | 创建提款 |
| CancelWithdraw | WithdrawalId | 只有 PROCESSING 状态的提现请求才能被取消。 |
交易端点
| 方法 | 参数 | 描述 |
| PlaceOrder | 您可以下两种类型的订单:限价单和市价单。只有在账户有足够资金的情况下才能下单。订单下达后,账户资金将在订单有效期间被冻结。冻结多少资金以及哪些资金取决于订单类型和指定的参数 | |
| PlaceMarketOrder | 下市价单。 | |
| PlaceLimitOrder | 下一个限价单。 | |
| PlaceMarginOrder | 下达保证金订单。 | |
| CancelOrder | 通过订单 ID 取消订单。 | |
| CancelOrderByClientOid | 按客户订单 ID 取消订单。 | |
| CancelAllOrders | 取消所有未成交订单。 | |
| ListOrders | 通过此端点请求获取当前订单列表。项目分页显示,并按最新优先排序 | |
| GetRecentOrders | 请求此端点以获取过去 24 小时内的 1000 笔订单。 | |
| GetOrder | 通过此端点请求,按订单 ID 获取单个订单信息。 | |
| GetOrderByClientOid | 通过此端点请求,按客户端订单 ID 获取单个订单信息。 | |
| ListFills | 通过此端点请求获取最近的成交记录。 | |
| GetRecentFills | 通过此端点请求获取最近 24 小时内的 1000 条成交记录列表。 | |
| PlaceStopOrder | 下止损单。 | |
| PlaceStopMarketOrder | 下达止损市价订单。 | |
| PlaceStopLimitOrder | 下止损限价单。 | |
| CancelStopOrder | 按订单 ID 取消未触发的止损订单 | |
| CancelStopOrderByClientOid | 按客户端订单 ID 取消未触发的止损订单 | |
| CancelAllStopOrders | 取消所有止损单 | |
| GetStopOrder | 通过此接口请求,通过订单 ID 获取止损订单信息。 | |
| GetStopOrderByClientOid | 通过此接口,使用客户订单 ID 请求获取止损订单信息。 | |
| ListStopOrders | 通过此端点请求获取您当前未触发的止损订单列表。条目已分页并按最新时间排序。 | |
| PlaceHFOrder | 下高频订单。 | |
| CancelHFOrder | 按订单 ID 取消高频订单。 | |
| CancelHFOrderByClientOid | 通过客户端订单 ID 取消高频订单。 | |
| CancelAllHFOrders | 取消所有高频订单。 | |
| GetHFActiveOrders | 获取活跃的高频订单。 | |
| GetHFDoneOrders | 获取已完成的高频订单。 | |
| GetHFOrder | 通过订单 ID 获取特定高频订单。 |
Kucoin 消息在 TsgcWebSocketClient 组件中接收,您可以使用以下事件:
OnConnect
成功连接到 Kucoin 服务器后。
OnDisconnect
从 KuCoin 服务器断开连接后
OnMessage
服务器发送给客户端的消息在此事件中处理。
OnError
如果协议出现任何错误,将调用此事件。
OnException
如果存在未处理的异常,将调用此事件。
此外,Kucoin API 组件中有一个名为 OnKucoinHTTPException 的特定事件,每次调用 HTTP 请求(REST API 或 WebSocket Feeds)出错时都会触发。