API Kucoin

Kucoin

 

Kucoin 是一家国际多语言加密货币交易所。它提供一些 API 以访问 Kucoin 数据。以下 API 受支持:

 

  1. WebSocket 流:允许您订阅某些方法并实时获取数据。服务器将事件推送给订阅者。使用 WebSocket 作为协议。
  2. REST API:客户端可向服务器请求市场和账户数据。需要 API Key、Secret 和 Passphrase 进行认证,并使用 HTTPs 作为协议。

 

 

属性

Kucoin API 有两种方法:公开方法和私有方法。公开方法无需身份验证即可访问,例如获取行情价格。与用户数据相关的私有方法需要使用 Kucoin API 密钥。

 

 

最常见的用途

 

WebSocket Feed

要从特定服务器订阅通道消息,客户端应向服务器发送订阅消息。

如果订阅成功,当响应设置为 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 订阅逐仓保证金持仓更新。当逐仓保证金持仓发生变化时,系统将推送变更事件。

 

 

REST API

所有端点均返回 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)出错时都会触发。