更新日志
2021年3月24日【新增v3跟单交易员分润文档】
1、交易员分润汇总
- 接口名称:交易员分润汇总
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/summary
2、历史分润按结算币种汇总
- 接口名称:历史分润按结算币种汇总
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/profitSettleTokenIdGroup
3、历史分润按日和结算币种统计
- 接口名称:历史分润按日和结算币种统计
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/profitDateGroupList
4、历史分润明细
- 接口名称:历史分润明细
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/profitDateList
5、待分润明细列表
- 接口名称:待分润明细列表
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/waitProfitDateList
2020年12月1日【新增WebsocketApi菜单栏】
1 用户当前计划委托频道
- 频道名称:用户当前计划委托频道
- 频道channel:{"op": "subscribe", "args": ["swap/current_plans:btcusd"]}
2 用户历史计划委托频道
- 频道名称:用户历史计划委托频道
- 频道channel:{"op": "subscribe", "args": ["swap/history_plans:btcusd"]}
3 公共-ticker频道
- 频道名称:公共-ticker频道
- 频道channel:{"op": "subscribe", "args": ["swap/ticker:btcusd"]}
- 修改内容:新增holding(持仓量),volume_token_24h(24小时交易量按币),volume_usdt_24h(24小时交易量按usdt)这三个字段
4 公共-k线频道
- 频道名称:公共-k线频道
- 频道channel:{"op": "subscribe", "args": ["swap/candle60s:btcusd"]}
- 修改内容:新增currency_volume(交易量(币))字段
2020年11月10日 【账户接口新增字段】
1 查询所有合约账户信息
- 接口名称:查询所有合约账户信息
- 接口URL:/api/swap/v3/account/accounts
- 修改内容:增加marginRatio(保证金率)字段
2020年11月3日【修改k线接口和仓位信息】
1 获取k线数据
- 接口名称:获取k线数据
- 接口URL:/api/swap/v3/market/candles
- 修改内容:增加startTime,endTime时间戳字段,兼容之前的start,end这两个字段
2 获取合约仓位信息
- 接口名称:获取合约仓位信息
- 接口URL:/api/swap/v3/position/allPosition
- 修改内容:响应信息增加keepMarginRate(维持保证金率)字段
2020年10月26日【新增合约跟单接口】
1、下单平仓单
- 接口名称:下单平仓单
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/closeTrackOrder
2、获取交易员当前带单列表
- 接口名称:获取交易员当前带单列表
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/currentTrack
3、获取历史带单列表
- 接口名称:获取交易员当前带单列表
- 接口类型:私有接口
- 接口URL:/api/swap/v3/trace/historyTrack
4、下单
- 接口名称:下单
- 接口URL:/api/swap/v3/order/placeOrder
- 修改内容:入参增加 presetTakeProfitPrice(预设的止盈价格),presetStopLossPrice(预设的止损价格)这两个参数
2020年10月10日【新增多个接口返回值】
1、获取全部ticker信息增“24小时成交量”字段
- 接口名称:获取合约的历史资金费率
- 接口URL:/api/swap/v3/market/tickers
- 修改内容: 新增字段base_volume,表示24小时成交量,单位币。
2、获取单个ticker信息增“24小时成交量”字段
- 接口名称:获取单个ticker信息
- 接口URL:/api/swap/v3/market/ticker
- 修改内容: 新增字段base_volume,表示24小时成交量,单位币。
3、获取全部合约仓位信息增“未实现盈亏”字段
- 接口名称:获取全部合约仓位信息
- 接口URL:/api/swap/v3/position/allPosition
- 修改内容: 新增字段unrealized_pnl,表示未实现盈亏。
4、获取单个合约仓位信息新增“未实现盈亏”字段
- 接口名称:获取全部合约仓位信息
- 接口URL:/api/swap/v3/position/singlePosition
- 修改内容: 新增字段unrealized_pnl(未实现盈亏)。
5、获取平台总持仓量新增多个字段
- 接口名称:获取平台总持仓量
- 接口URL:/api/swap/v3/market/open_interest
- 修改内容: 新增字段base_volume(总持仓左币量),target_volume(总持仓右币量)。
2020年9月16日【新增合约信息口返回值】
1、获取合约信息接口
- 接口名称:获取合约信息接口
- 接口URL:/api/swap/v3/market/contracts
- 修改内容: 新增2个字段maxLeverage(合约支持最大杠杆)、minLeverage(合约支持最小杠杆)
2020年9月14日【新增合约支持全仓】
1、获取合约信息接口
- 接口名称:修改用户账户模式
- 接口类型:私有接口
- 接口URL:/api/swap/v3/position/changeHoldModel
2020年9月7日【新增接口】
1、获取合约历史资金费率
- 接口名称:获取合约历史资金费率
- 接口类型:公有接口
- 接口URL:/api/swap/v3/market/historyFundRate
2、获取订单历史委托
- 接口名称:获取订单历史委托
- 接口类型:私有接口
- 接口URL:/api/swap/v3/order/history
3、获取订单当前委托
- 接口名称:获取订单当前委托
- 接口类型:私有接口
- 接口URL:/api/swap/v3/order/current
2020年6月9日【新增v3合约文档】
- 新增v3文档
- 错误信息支持中/英
简介
API 简介
欢迎使用Bitget开发者文档!
此文档是Bitget API的唯一官方文档,Bitget API提供的能力会在此持续更新,请大家及时关注。
你可以通过点击上方菜单来切换获取不同业务的API,还可通过点击右上方的语言按钮来切换文档语言。
文档右侧是针对请求参数以及响应结果的示例。
市商/量化
欢迎有优秀 maker 策略且交易量大的用户参与长期做市商项目。请提供以下信息发送邮件至:
- API@bitget.com 合约做市商申请。
- 提供 UID (需不存在返佣关系的 UID);
- 提供其他交易平台 maker 交易量截图证明(比如30天内成交量);
- 请简要阐述做市方法,不需要细节。
更新关注
关于API新增、更新、下线等信息Bitget会提前发布公告进行通知,建议您关注和订阅我们的公告,及时获取相关信息。
您可以点击 这里 订阅公告。
联系我们
使用过程中如有问题或者建议,您可选择以下方式联系我们:
- 发送邮件至API@bitget.com。
快速入门
接入准备
如需使用API ,请先登录网页端,完成API key的申请和权限配置,再据此文档详情进行开发和交易。
您可以点击 这里 创建 API Key。
每个用户可创建10组Api Key,每个Api Key可对应设置读取、交易两种权限。
权限说明如下:
- 读取权限:读取权限用于对数据的查询,例如:行情数据。
- 交易权限:交易权限用于下单、撤单等接口。
创建成功后请务必记住以下信息:
APIKeyAPI交易的身份标识,随机算法生成。Secretkey私钥,由系统随机生成,用于签名的生成。Passphrase口令,由用户自己设定,需要注意的是,Passphrase忘记之后是无法找回的,需要重新创建APIKey。
SDK/代码示例
SDK(推荐)
CCXT是我们的授权SDK提供者,您可以通过CCXT访问Bitget API。有关更多信息,请访问:https://ccxt.trade。
接口类型
本章节主要为接口类型分以下两个方面:
- 公共接口
- 私有接口
公共接口
公共接口可用于获取配置信息和行情数据。公共请求无需认证即可调用。
私有接口
私有接口可用于订单管理和账户管理。每个私有请求必须使用规范的验证形式进行签名。
私有接口需要使用您的APIKey进行验证。
访问限制
本章节主要为访问限制:
- Rest API 当访问超过频率限制时,将返回429状态:请求太频繁。
Rest API
如果传入有效的APIKey 用APIKey限速;如果没有则拿公网IP限速。
限速规则:各个接口上有单独的说明,如果没有一般接口限速为 10次/秒。
特殊说明:批量下单时,若下4个币对,每个币对10个订单时,计为一次请求。
API域名
您可以自行使用Rest API接入方式进行操作。
| 域名 | REST API | 建议使用 |
|---|---|---|
| 域名1 | https://capi.bitget.com | 国际 |
| 域名2 | https://capi.bitgetapi.com | 中国地区 |
API验证
发起请求
所有REST请求的header都必须包含以下key:
- ACCESS-KEY:API KEY作为一个字符串。
- ACCESS-SIGN:使用base64编码签名(请参阅签名消息)。
- ACCESS-TIMESTAMP:您请求的时间戳。
- ACCESS-PASSPHRASE:您在创建API KEY时设置的口令。
- Content-Type:统一设置为application/json。
- locale:支持多语言,如:中文(zh-CN),英语(en-US)
签名
ACCESS-SIGN的请求头是对 timestamp + method.toUpperCase() + requestPath + "?" + queryString + body 字符串(+表示字符串连接)使用 HMAC SHA256 方法加密,通过BASE64 编码输出而得到的。
签名各字段说明
- timestamp:与 ACCESS-TIMESTAMP 请求头相同。
- method:请求方法(POST/GET),字母全部大写。
- requestPath:请求接口路径。
- queryString:请求URL中(?后的请求参数)的查询字符串。
- body:请求主体对应的字符串,如果请求没有主体(通常为GET请求)则body可省略。
queryString为空时,签名格式
timestamp + method.toUpperCase() + requestPath + body
queryString不为空时,签名格式
timestamp + method.toUpperCase() + requestPath + "?" + queryString + body
举例说明
获取合约深度信息,以 cmt_btcusdt 为例:
- Timestamp = 1591089508404
- Method = "GET"
- requestPath = "/api/swap/v3/market/depth"
- queryString= "?symbol=cmt_btcusdt&limit=20"
生成待签名的字符串:
'1591089508404GET/api/swap/v1/market/depth?symbol=cmt_btcusdt&limit=20'
合约下单,以 cmt_btcusdt 为例:
- Timestamp = 1561022985382
- Method = "POST"
- requestPath = "/api/swap/v3/order/placeOrder"
- body = {"symbol":"cmt_btcusdt","size":"8","type":"1","match_price":"1","order_type":"1","client_oid":"bitget#123456"}
生成待签名的字符串:
'1561022985382POST/api/swap/v3/order/placeOrder{"symbol":"cmt_btcusdt","size":"8","type":"1","match_price":"1","order_type":"1","client_oid":"bitget#123456"}'
生成最终签名的步骤
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
请求交互
所有请求基于Https协议,请求头信息中Content-Type 需要统一设置为: 'application/json'。
请求交互说明
- 请求参数:根据接口请求参数规定进行参数封装。
- 提交请求参数:将封装好的请求参数通过GET/POST方式提交至服务器。
- 服务器响应:服务器首先对用户请求数据进行参数安全校验,通过校验后根据业务逻辑将响应数据以JSON格式返回给用户。
- 数据处理:对服务器响应数据进行处理。
成功
HTTP状态码200表示成功响应,并可能包含内容。如果响应含有内容,则将显示在相应的返回内容里面。
常见错误码
- 400 Bad Request – Invalid request format 请求格式无效
- 401 Unauthorized – Invalid API Key 无效的API Key
- 403 Forbidden – You do not have access to the requested resource 请求无权限
- 404 Not Found 没有找到请求
- 429 Too Many Requests 请求太频繁被系统限流
- 500 Internal Server Error – We had a problem with our server 服务器内部错误
- 如果失败body带有错误描述信息
标准规范
时间戳
请求签名中的ACCESS-TIMESTAMP的单位是毫秒。请求的时间戳必须在API服务时间的30秒内,否则请求将被视为过期并被拒绝。 如果本地服务器时间和API服务器时间之间存在较大的偏差,那么我们建议您使用通过查询API服务器时间来更新http header。
限频规则
如果请求过于频繁系统将自动限制请求,并在http header中返回429 too many requests状态码。
公共接口:如行情接口,统一限频为2秒最多20个请求。
授权接口:通过apikey限制授权接口的调用,参考每个接口的限频规则限频。
请求格式
目前只有两种格式的请求方法:GET和POST
- GET: 参数通过queryString在路径中传输到服务器。
- POST: 参数按照json格式发送body传输到服务器。
RestAPI
合约行情接口
获取服务端时间
限速规则:20次/2s
HTTP请求 返回服务器的时间
- GET /api/swap/v3/market/time
返回数据:
{
"epoch":"1591099099.896", //Unix时间戳的秒数
"iso":"2020-06-02T11:58:19.896Z", //ISO8601标准的时间格式
"timestamp":1591099099896 //Unix时间戳的毫秒数
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| epoch | Unix时间戳的秒数 |
| iso | ISO8601标准的时间格式 |
| timestamp | Unix时间戳的毫秒数 |
获取合约信息
限速规则:20次/2s
HTTP请求 获取所有合约的信息
- GET /api/swap/v3/market/contracts
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"coin":"USDT", //保证金币种
"contract_val":"0.0001", //合约面值
"delivery":[ //结算时间
"07:00:00",
"15:00:00",
"23:00:00"
],
"forwardContractFlag":true, //是否是正向合约
"priceEndStep":5, //价格最后一位步长
"quote_currency":"USDT", //计价币种
"size_increment":"0", //数量精度
"tick_size":"1", //价格精度
"underlying_index":"BTC" //合约币种
"minLeverage":1 // 最小杠杆
"maxLeverage":100 //最大杠杆
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| coin | 保证金币种 |
| contract_val | 合约面值 |
| delivery | 结算时间 |
| forwardContractFlag | 是否是正向合约 |
| priceEndStep | 价格最后一位步长 |
| quote_currency | 计价币种 |
| size_increment | 数量精度 |
| tick_size | 价格精度 |
| underlying_index | 合约币种 |
| minLeverage | 最小杠杆 |
| maxLeverage | 最大杠杆 |
获取深度数据
限速规则:20次/2s
HTTP请求 获取深度数据
- GET /api/swap/v3/market/depth
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| limit | Integer | 是 | 深度大小 范围在(1-200)之间 |
返回数据:
{
"asks":[
[
"8858.0", //价格
"19299", //数量
2.0 //废弃字段
]
],
"bids":[
[
"7466.0", //价格
"499", //数量
1.0 //废弃字段
],
[
"4995.0",
"12500",
2.0
]
],
"timestamp":"1591237821479"
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| asks | 买方深度 |
| bids | 卖方深度 |
| timestamp | 时间戳 |
获取全部ticker信息
限速规则:20次/2s
HTTP请求 获取全部ticker信息
- GET /api/swap/v3/market/tickers
返回数据:
[
{
"symbol":"cmt_bchusdt", //合约名称
"best_ask":"332.00", //卖一价
"best_bid":"203.00", //买一价
"high_24h":"394", //24小时最高价
"last":"332", //最新成交价
"low_24h":"332", //24小时最低价
"timestamp":"1591240033936", //系统时间戳
"volume_24h":"0", //24小时成交量,单位张数
"priceChangePercent": "-0.63", //24小时价格变动百分比
"base_volume":"15722.59", //24小时成交量 单位币
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| best_ask | 卖一价 |
| best_bid | 买一价 |
| high_24h | 24小时最高价 |
| last | 最新成交价 |
| low_24h | 24小时最低价 |
| timestamp | 系统时间戳 |
| volume_24h | 24小时成交量,张数 |
| priceChangePercent | 24小时价格变动百分比 |
| base_volume | 24小时成交量,按币统计 |
获取某个ticker信息
限速规则:20次/2s
HTTP请求 获取某个ticker信息
- GET /api/swap/v3/market/ticker
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"best_ask":"8858.0", //卖一价
"best_bid":"7466.0", //买一价
"high_24h":"8858", //24小时最高价
"last":"8858", //最新成交价
"low_24h":"8858", //24小时最低价
"timestamp":"1591252726275", //系统时间戳
"volume_24h":"0", //24小时成交量,单位张数
"priceChangePercent": "-0.63", //24小时价格变动百分比
"base_volume":"15722.59", //24小时成交量 单位币
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| best_ask | 卖一价 |
| best_bid | 买一价 |
| high_24h | 24小时最高价 |
| last | 最新成交价 |
| low_24h | 24小时最低价 |
| timestamp | 系统时间戳 |
| volume_24h | 24小时成交量,张数 |
| priceChangePercent | 24小时价格变动百分比 |
| base_volume | 24小时成交量,按币统计 |
获取成交数据
限速规则:20次/2s
HTTP请求
获取成交数据
- GET /api/swap/v3/market/trades
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| limit | String | 是 | 数据的size大小,范围在(1-100) |
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"price":"7844.00", //成交价格
"side":"buy", //成交方向:sell或者buy
"size":"48", //成交数量
"timestamp":"1591111746879", //成交时间戳
"trade_id":"651735392382353615" //成交id
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| price | 成交价格 |
| side | 成交方向:sell,buy |
| size | 成交数量 |
| timestamp | 成交时间戳 |
| trade_id | 成交id |
获取K线数据
限速规则:20次/2s
HTTP请求 获取K线数据
- GET /api/swap/v3/market/candles
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| start | String | 是 | 开始时间 (UTC时间,格式为:yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 标注废弃 |
| end | String | 是 | 结束时间 (UTC时间,格式为:yyyy-MM-dd'T'HH:mm:ss.SSS'Z') 标注废弃 |
| startTime | Long | 是 | 开始时间(时间戳) |
| endTime | Long | 是 | 结束时间(时间戳) |
| granularity | String | 是 | K线的时间单位,粒度(取值参考如下列表) |
| key | 描述 |
|---|---|
| 1分钟 | 60 |
| 5分钟 | 300 |
| 15分钟 | 900 |
| 30分钟 | 1800 |
| 1小时 | 3600 |
| 4小时 | 14400 |
| 12小时 | 43200 |
| 1天 | 86400 |
| 7天 | 604800 |
返回数据:
[
"1556687460000", //系统时间戳
"5315.5", //开盘价格
"5315.5", //最高价格
"5315.5", //最低价格
"5315.5", //收盘价格
"342", //交易量(按张折算)
"0.064340137494" //交易量(按币折算)
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| timestamp | 系统时间戳 |
| open | 开盘价格 |
| high | 最高价格 |
| low | 最低价格 |
| close | 收盘价格 |
| volume | 交易量(按张折算) |
| currency_volume | 交易量(按币折算) |
获取币种指数
限速规则:20次/2s
HTTP请求 获取币种指数
- GET /api/swap/v3/market/index
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"index":"9654.1", //现货指数价格
"timestamp":"1591256590003" //系统时间戳
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| index | 现货指数价格 |
| timestamp | 系统时间戳 |
获取平台总持仓量
限速规则:20次/2s
HTTP请求 获取平台总持仓量
- GET /api/swap/v3/market/open_interest
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol": "cmt_btcusdt",//合约名称
"amount": "4097696",//总持仓量,张数
"base_volume": "4097.696",//总持仓量,左币量
"target_volume": "47124323.5392",//总持仓量,右币量
"timestamp": "1603109860796",// 系统时间戳
"forwardContractFlag": true //是否是正向合约
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| amount | 总持仓量,张数 |
| forwardContractFlag | 是否是正向合约 |
| timestamp | 系统时间戳 |
| base_volume | 左币量 |
| target_volume | 右币量 |
获取合约最高限价和最低限价
限速规则:20次/2s
HTTP请求 获取合约最高限价和最低限价 - GET /api/swap/v3/market/price_limit
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"forwardContractFlag":true, //是否是正向合约
"highest":"14474.5", //最高买价
"lowest":"4824.5", //最低卖价
"timestamp":"1591257126461" //系统时间戳
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| forwardContractFlag | 是否是正向合约 |
| highest | 最高买价 |
| lowest | 最低卖价 |
| timestamp | 系统时间戳 |
获取合约下一次结算时间
限速规则:20次/2s
HTTP请求 获取合约下一次结算时间
- GET /api/swap/v3/market/funding_time
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"forwardContractFlag":false, //是否是正向合约
"funding_time":"1591282800000" //下一次的结算时间
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| forwardContractFlag | 是否是正向合约 |
| funding_time | 下一次的结算时间 |
获取合约历史资金费率
限速规则:20次/2s
HTTP请求 获取合约历史资金费率
- GET /api/swap/v3/market/historyFundRate
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数据的条数 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"funding_rate":"0.001", //资金费率
"funding_time":"19238271212" //结算时间
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| funding_rate | 资金费率 |
| funding_time | 结算时间 |
获取合约标记价格
限速规则:20次/2s
HTTP请求 获取合约标记价格
- GET /api/swap/v3/market/mark_price
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"mark_price":"8047.87", //标记价格
"timestamp":"1591264230941" //系统时间戳
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| mark_price | 标记价格 |
| timestamp | 系统时间戳 |
获取可开张数
限速规则:20次/2s
HTTP请求 获取可开张数
- GET /api/swap/v3/market/open_count
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| amount | BigDecimal | 是 | 开仓的总的金额 |
| openPrice | BigDecimal | 是 | 开仓价格 |
| leverage | BigDecimal | 否 | 杠杆默认20倍 |
返回数据:
{
"openCount":"199999" //可开张数
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| openCount | 可开张数 |
合约账户接口
查询所有合约账户信息
限速规则:1次/s
HTTP请求 查询所有合约账户信息
- GET /api/swap/v3/account/accounts
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"equity":"0.00000000", //账户权益
"fixed_balance":"0.00000000",//废弃字段
"total_avail_balance":"0.00000000", //可用余额
"margin":"0", //已用保证金
"realized_pnl":"0", //已实现盈亏
"unrealized_pnl":"0", //未实现盈亏
"longMarginRatio":"0",//逐仓多仓保证金率
"shortMarginRatio": "0",//逐仓空仓保证金率
"marginRatio": "0",//全仓保证金率
"margin_frozen":"0", //开仓冻结保证金
"timestamp":"1658098718494", //创建时间
"margin_mode":"fixed", //仓位模式 fixed逐仓模式 crossed全仓模式
"forwardContractFlag":true //是否是正向合约
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| equity | 账户权益 |
| fixed_balance | 逐仓可用余额 |
| total_avail_balance | 可用余额 |
| margin | 已用保证金 |
| realized_pnl | 已实现盈亏 |
| unrealized_pnl | 未实现盈亏 |
| longMarginRatio | 逐仓多仓保证金率 |
| shortMarginRatio | 逐仓空仓保证金率 |
| marginRatio | 全仓保证金率 |
| margin_frozen | 开仓冻结保证金 |
| timestamp | 创建时间 |
| margin_mode | 仓位模式 fixed逐仓模式 crossed全仓模式 |
| forwardContractFlag | 是否是正向合约 |
单个合约账户信息
限速规则:5次/s
HTTP请求 单个合约账户信息
- GET /api/swap/v3/account/account
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"equity":"0.00000000", //账户权益
"fixed_balance":"0.00000000", //废弃字段
"total_avail_balance":"0.00000000", //可用余额
"margin":"0", //已用保证金
"realized_pnl":"0", //已实现盈亏
"unrealized_pnl":"0", //未实现盈亏
"longMarginRatio":"0",//逐仓多仓保证金率
"shortMarginRatio": "0",//逐仓空仓保证金率
"marginRatio": "0",//全仓保证金率
"margin_frozen":"0", //开仓冻结保证金
"timestamp":"1658098718494", //创建时间
"margin_mode":"fixed", //仓位模式 fixed逐仓模式 crossed全仓模式
"forwardContractFlag":true //是否是正向合约
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| equity | 账户权益 |
| fixed_balance | 逐仓可用余额 |
| total_avail_balance | 可用余额 |
| margin | 已用保证金 |
| realized_pnl | 已实现盈亏 |
| unrealized_pnl | 未实现盈亏 |
| longMarginRatio | 逐仓多仓保证金率 |
| shortMarginRatio | 逐仓空仓保证金率 |
| marginRatio | 全仓保证金率 |
| margin_frozen | 开仓冻结保证金 |
| timestamp | 创建时间 |
| margin_mode | 仓位模式 fixed逐仓模式 crossed全仓模式 |
| forwardContractFlag | 是否是正向合约 |
获取单个合约的用户配置
限速规则:5次/s
HTTP请求 获取单个合约的用户配置
- GET /api/swap/v3/account/settings
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"long_leverage":"100", //多仓杠杆
"margin_mode":"fixed", //持仓模式 fixed逐仓模式 crossed全仓模式
"short_leverage":"2", //空仓杠杆
"forwardContractFlag":true //是否是正向合约
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| long_leverage | 多仓杠杆 |
| margin_mode | 持仓模式 fixed逐仓模式 crossed全仓模式 |
| short_leverage | 空仓杠杆 |
| forwardContractFlag | 是否是正向合约 |
调整杠杆
限速规则:5次/s
HTTP请求 调整杠杆
- POST /api/swap/v3/account/leverage
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| leverage | Integer | 是 | 杠杆倍数,可填写1-100之间的整数 |
| side | Integer | 是 | 持仓方向(1-多仓,2-空仓) 标注废弃 |
| holdSide | Integer | 是 | 持仓方向 (1-多仓,2-空仓) 全仓时此字段可以不传值 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"long_leverage":"100", //多仓杠杆
"margin_mode":"fixed", //持仓模式 fixed逐仓模式 crossed全仓模式
"short_leverage":"2", //空仓杠杆
"forwardContractFlag":true //是否是正向合约
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| long_leverage | 多仓杠杆 |
| margin_mode | 持仓模式 fixed逐仓模式 crossed全仓模式 |
| short_leverage | 空仓杠杆 |
| forwardContractFlag | 是否是正向合约 |
调整保证金
限速规则:20次/2s
HTTP请求 调整保证金
- POST /api/swap/v3/account/adjustMargin
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| amount | String | 是 | 数量 |
| positionType | Integer | 是 | 方向0多仓 1空仓 |
| type | Integer | 是 | 类型1增加 2减少 |
返回数据:
{
"result":true, //结果
"orderNo":"527252921197264814" //订单号
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| result | 结果 |
| orderNo | 订单号 |
自动追加保证金
限速规则:5次/s
HTTP请求 自动追加保证金
- POST /api/swap/v3/account/modifyAutoAppendMargin
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| side | Integer | 是 | 持仓方向 1多仓 2空仓 标注废弃 |
| holdSide | Integer | 是 | 持仓方向 1多仓 2空仓 |
| append_type | Integer | 是 | 追加保证金类型 0 不自动追加 1 自动追加 |
返回数据:
{
"result":true, //设置结果
"append_type":1 //当前设置状态:0表示不自动追加,1表示自动追加
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| result | 设置结果 |
| append_type | 当前设置状态:0表示不自动追加,1表示自动追加 |
获取全部合约仓位信息
限速规则:5次/s
HTTP请求 获取全部合约仓位信息
- GET /api/swap/v3/position/allPosition
返回数据:
[
{
"margin_mode":"fixed", //持仓模式 fixed逐仓模式 crossed全仓模式
"holding":[
{
"symbol":"cmt_btcusdt", //合约名称
"liquidation_price":"0.00", //预估爆仓价
"position":"0", //持仓数量
"avail_position":"0", //可平数量
"avg_cost":"0.00", //开仓平均价
"leverage":"2", //杠杆
"realized_pnl":"0.00000000", //已实现盈亏
"keepMarginRate":"0.005", //维持保证金率
"side":"1", //持仓方向 标注废弃
"holdSide": "1",// 持仓方向
"timestamp":"1557571623963", //系统时间戳
"margin":"0.0000000000000000", //已用保证金
"unrealized_pnl":"0.00000000" //未实现盈亏
}
]
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| margin_mode | 持仓模式 fixed逐仓模式 crossed全仓模式 |
| symbol | 合约名称 |
| liquidation_price | 预估爆仓价 |
| position | 持仓数量 |
| avail_position | 可平数量 |
| avg_cost | 开仓平均价 |
| leverage | 杠杆 |
| realized_pnl | 已实现盈亏 |
| keepMarginRate | 维持保证金率 |
| side | 方向 |
| holdSide | 持仓方向 |
| timestamp | 系统时间戳 |
| margin | 已用保证金 |
| unrealized_pnl | 未实现盈亏 |
获取单个合约仓位信息
限速规则:10次/s
HTTP请求 获取单个合约仓位信息
- GET /api/swap/v3/position/singlePosition
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
{
"margin_mode":"fixed", //持仓模式 fixed逐仓模式 crossed全仓模式
"holding":[
{
"symbol":"cmt_btcusdt", //合约名称
"liquidation_price":"0.00", //预估爆仓价
"position":"0", //持仓数量
"avail_position":"0", //可平数量
"avg_cost":"0.00", //开仓平均价
"leverage":"2", //杠杆
"realized_pnl":"0.00000000", //已实现盈亏
"keepMarginRate":"0.005", //维持保证金率
"side":"1", //持仓方向 标注废弃
"holdSide": "1",// 持仓方向
"timestamp":"1557571623963", //系统时间戳
"margin":"0.0000000000000000", //已用保证金
"unrealized_pnl":"0.00000000" //未实现盈亏
}
]
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| margin_mode | 持仓模式 fixed逐仓模式 crossed全仓模式 |
| symbol | 合约名称 |
| liquidation_price | 预估爆仓价 |
| position | 持仓数量 |
| avail_position | 可平数量 |
| avg_cost | 开仓平均价 |
| leverage | 杠杆 |
| realized_pnl | 已实现盈亏 |
| keepMarginRate | 维持保证金率 |
| side | 方向 |
| holdSide | 持仓方向 |
| timestamp | 系统时间戳 |
| margin | 已用保证金 |
| unrealized_pnl | 未实现盈亏 |
修改用户账户模式
限速规则:20次/s
HTTP请求 修改用户账户模式
- POST /api/swap/v3/position/changeHoldModel
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| holdModel | Integer | 是 | 账户模式(1 逐仓 2 全仓) |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"resultHoldMode":1, //返回账户模式 1 逐仓 2 全仓
"switchSuccess":true //是否修改成功 true 成功 false 失败
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| resultHoldMode | 返回账户模式 1 逐仓 2 全仓 |
| switchSuccess | 是否修改成功 true 成功 false 失败 |
合约交易接口
下单
限速规则:10次/s
HTTP请求 下单
- POST /api/swap/v3/order/placeOrder
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| client_oid | String | 是 | 自定义订单号(不超过40个字符,且不能是特殊字符,如火星字符等),不可以重复出现在挂单中。如空缺系统会自动赋值 |
| size | String | 是 | 下单数量(不能为0,不能为负数) |
| type | String | 是 | 1:开多 2:开空 3:平多 4:平空 |
| order_type | String | 是 | 0:普通,1:只做maker;2:全部成交或立即取消;3:立即成交并取消剩余 |
| match_price | String | 是 | 0:限价还是1:市价 |
| price | String | 否 | 委托价格(有精度限制,精度(tick_size)和步长(priceEndStep)取“合约信息接口”,限价必填) |
| presetTakeProfitPrice | BigDecimal | 否 | 预设的止盈价格 |
| presetStopLossPrice | BigDecimal | 否 | 预设的止损价格 |
返回数据:
{
"client_oid":"bitget#123456", //客户端请求标识
"order_id":"513466539039522813" //订单号
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| client_oid | 客户端请求标识 |
| order_id | 订单号 |
批量下单
限速规则:10次/s
HTTP请求 批量下单
- POST /api/swap/v3/order/batchOrders
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| orderDataList | List | 是 | 对象属性 例(price=5,size=2,type=1,match_price=1,order_type=1,client_oid="abc"),字段参考【合约下单】接口,且最多只能批量处理20笔订单 |
返回数据:
{
"result":true,
"order_info":[
{
"result":true, //成交结果
"client_oid":"dxdanzi", //客户端请求标识
"order_id":"513468410013679613" //成交订单Id
},
{
"result":true,
"client_oid":"dxdanzi",
"order_id":"513468410001096713"
}
]
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| result | 成交结果 |
| client_oid | 客户端请求标识 |
| order_id | 成交订单Id |
取消订单
限速规则:10次/s
HTTP请求 取消订单
- POST /api/swap/v3/order/cancel_order
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| orderId | String | 是 | 订单号 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"order_id":"513468410013679613", //订单号
"client_oid":"dxdanzi", //客户端标识
"result":true //取消结果
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| order_id | 订单号 |
| client_oid | 客户端标识 |
| result | 取消结果 |
批量撤单
限速规则:10次/s
HTTP请求 批量撤单
- POST /api/swap/v3/order/cancel_batch_orders
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| ids | List |
是 | 订单号的集合 |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"result":true, //处理结果
"order_ids":[
"258414711",//成功的id
"478585558"
],
"fail_infos":[
{
"order_id":"258414711", //失败的id
"err_code":"401", //错误code
"err_msg":"" //错误信息
}
]
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| result | 处理结果 |
| order_ids | 订单ids |
| order_id | 订单号 |
| err_code | 错误code |
| err_msg | 错误信息 |
获取单订单信息
限速规则:10次/s
HTTP请求 获取单订单信息
- GET /api/swap/v3/order/detail
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| orderId | String | 是 | 订单号 |
返回数据:
{
"symbol":"cmt_btcusdt",//合约名称
"size":"12", //委托数量
"timestamp":"15582271175271", //废弃字段
"client_oid":"cmdtde", //客户端标识
"createTime":"1698475585258", //创建时间戳
"filled_qty":"0", //成交数量
"fee":"0", //手续费
"order_id":"513468410013679613", //订单id
"price":"12", //委托价格
"price_avg":"0", //成交均价
"status":"-1", //订单状态
"type":"1", //委托类型
"order_type":"0", //订单类型
"totalProfits":"253" //总盈亏
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| size | 委托数量 |
| timestamp | 系统时间戳 //废弃字段 |
| client_oid | 客户端标识 |
| createTime | 创建时间戳 |
| filled_qty | 成交数量 |
| fee | 手续费 |
| order_id | 订单id |
| price | 委托价格 |
| price_avg | 成交均价 |
| status | 订单状态( -1:撤销成功 0:等待成交 1:部分成交 2:完全成交) |
| type | 委托类型 1:开多 2:开空 3:平多 4:平空 5:减仓平多 6:减仓平空 7:协议平多 8:协议平空 9:爆仓平多 10:爆仓平空 |
| order_type | 订单类型 0:普通委托 1:只做Maker(Post only) 2:全部成交或立即取消(FOK) 3:立即成交并取消剩余(IOC) |
| totalProfits | 总盈亏 |
获取订单历史委托
限速规则:10次/s
HTTP请求 获取订单历史委托
- GET /api/swap/v3/order/history
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数据的条数 |
| createDate | Integer | 是 | 天数 (天数必须小于或等于90,不能为负数) |
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"size":"12", //委托数量
"client_oid":"cmdtde", //客户端标识
"createTime":"1698475585258", //创建时间戳
"filled_qty":"0", //成交数量
"fee":"0", //手续费
"order_id":"513468410013679613", //订单id
"price":"12", //委托价格
"price_avg":"0", //成交均价
"status":"-1", //订单状态
"type":"1", //委托类型
"order_type":"0", //订单类型
"totalProfits":"253" //总盈亏
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| size | 委托数量 |
| client_oid | 客户端标识 |
| createTime | 创建时间戳 |
| filled_qty | 成交数量 |
| fee | 手续费 |
| order_id | 订单id |
| price | 委托价格 |
| price_avg | 成交均价 |
| status | 订单状态( -1:撤销成功 0:等待成交 1:部分成交 2:完全成交) |
| type | 委托类型 1:开多 2:开空 3:平多 4:平空 5:减仓平多 6:减仓平空 7:协议平多 8:协议平空 9:爆仓平多 10:爆仓平空 |
| order_type | 订单类型 0:普通委托 1:只做Maker(Post only) 2:全部成交或立即取消(FOK) 3:立即成交并取消剩余(IOC) |
| totalProfits | 总盈亏 |
获取订单当前委托
限速规则:10次/s
HTTP请求 获取订单当前委托
- GET /api/swap/v3/order/current
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"size":"12", //委托数量
"client_oid":"cmdtde", //客户端标识
"createTime":"1698475585258", //创建时间戳
"filled_qty":"0", //成交数量
"fee":"0", //手续费
"order_id":"513468410013679613", //订单id
"price":"12", //委托价格
"price_avg":"0", //成交均价
"status":"-1", //订单状态
"type":"1", //委托类型
"order_type":"0", //订单类型
"totalProfits":"253" //总盈亏
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| size | 委托数量 |
| client_oid | 客户端标识 |
| createTime | 创建时间戳 |
| filled_qty | 成交数量 |
| fee | 手续费 |
| order_id | 订单id |
| price | 委托价格 |
| price_avg | 成交均价 |
| status | 订单状态( -1:撤销成功 0:等待成交 1:部分成交 2:完全成交) |
| type | 委托类型 1:开多 2:开空 3:平多 4:平空 5:减仓平多 6:减仓平空 7:协议平多 8:协议平空 9:爆仓平多 10:爆仓平空 |
| order_type | 订单类型 0:普通委托 1:只做Maker(Post only) 2:全部成交或立即取消(FOK) 3:立即成交并取消剩余(IOC) |
| totalProfits | 总盈亏 |
查询成交明细
限速规则:10次/s
HTTP请求 查询成交明细
- GET /api/swap/v3/order/fills
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| orderId | String | 是 | 订单号 |
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"trade_id":"6667390", //成交Id
"order_id":"525946425993854915", //订单id
"price":"9839.00", //成交价格
"order_qty":"3466", //成交数量
"fee":"-0.0000528407360000", //手续费
"timestamp":"1561121514442", //创建时间戳
"exec_type":"M", //流动性方向
"side":"3", //委托类型 标注废弃
"delegateType": "3" //委托类型
}
]
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| trade_id | 成交Id |
| order_id | 订单id |
| price | 成交价格 |
| order_qty | 成交数量 |
| fee | 手续费 |
| timestamp | 创建时间戳 |
| exec_type | 流动性方向,T:taker M:maker |
| side | 委托类型(1:开多;2:开空;3:平多;4:平空;5:强制平多;6:强制平空;11:协议平多;12:协议平空;13:爆仓平多查询;14:爆仓平空查询 |
| delegateType | 委托类型(1:开多;2:开空;3:平多;4:平空;5:强制平多;6:强制平空;11:协议平多;12:协议平空;13:爆仓平多查询;14:爆仓平空查询 |
计划委托下单
限速规则:10次/s
HTTP请求 计划委托下单
- POST /api/swap/v3/order/plan_order
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| client_oid | String | 是 | 自定义订单号(不超过40个字符,且不能是特殊字符,如火星字符等),不可以重复出现在挂单中。如空缺系统会自动赋值 |
| size | String | 是 | 下单张数(不能为0,不能为负数) |
| type | String | 是 | 类型 1开仓 2平仓 |
| side | String | 是 | 持仓方向 1多仓 2空仓 标注废弃 |
| holdSide | String | 是 | 持仓方向 1多仓 2空仓 |
| match_type | String | 是 | 0:限价还是1:市价 |
| execute_price | String | 是 | 执行价格 |
| trigger_price | String | 是 | 触发价格 |
返回数据:
{
"client_oid":"bitget#123456", //客户端标识
"order_id":"589579827556646928" //计划委托订单号
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| client_oid | 客户端标识 |
| order_id | 计划委托订单号 |
计划委托撤单
限速规则:10次/s
HTTP请求 计划委托撤单
- POST /api/swap/v3/order/cancel_plan
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| orderId | String | 是 | 订单号 |
返回数据:
{
"order_id":"5895798275566469458", //订单号
"client_oid":"bitget#123456", //客户端标识
"result":false, //是否撤销成功
"err_code":"403", //撤销失败时的原因code
"err_msg":"订单不存在" //撤销失败时的原因
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| order_id | 订单号 |
| client_oid | 客户端标识 |
| result | 是否撤销成功 |
| err_code | 撤销失败时的原因code |
| err_msg | 撤销失败时的原因 |
查询当前计划委托
限速规则:10次/s
HTTP请求 查询当前计划委托
- GET /api/swap/v3/order/currentPlan
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| side | String | 是 | 委托类型 1开多 2开空 3平多 4平空 标注废弃 |
| delegateType | String | 是 | 委托类型 1开多 2开空 3平多 4平空 |
| pageIndex | String | 是 | 当前页(1-200整数) |
| pageSize | String | 是 | 每页数量(1-100整数) |
| startTime | String | 否 | 查询开始时间(时间戳) |
| endTime | String | 否 | 查询结束时间(时间戳) |
返回数据:
{
"list":[
{
"symbol":"cmt_btcusdt", //合约名称
"execute_count":"0", //执行数量
"delegate_count":"1222222", //委托数量
"create_time":1576294708136, //创建时间戳
"update_time":1576294708136, //更新时间戳
"direction":1, //方向
"direction_desc":"开多", //方向描述
"trigger_price":"22222210.0", //触发价格
"execute_price":"7490.0", //执行价格
"order_id":"589588227514433528", //订单号
"order_type":0, //订单类型
"status":1, //状态
"status_desc":"未执行状态", //状态描述
"create_trade_price":"7490" //计划委托时的成交价
}
],
"nextPage":false //是否有下一页
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| nextPage | 是否有下一页 |
| execute_count | 执行数量 |
| delegate_count | 委托数量 |
| create_time | 创建时间戳 |
| update_time | 更新时间戳 |
| direction | 方向 1开多 2开空 3平多 4平空" |
| direction_desc | 方向 1开多 2开空 3平多 4平空"的描述 |
| trigger_price | 触发价格 |
| execute_price | 执行价格 |
| order_id | 订单号 |
| order_type | 订单类型 0限价 1市价 |
| status | 状态 1未执行状态 2已委托 3执行失败状态 4用户取消状态 |
| status_desc | 状态描述 (1未执行状态 2已委托 3执行失败状态 4用户取消状态) |
| create_trade_price | 计划委托时的成交价 |
查询计划历史委托
限速规则:10次/s
HTTP请求 查询计划历史委托
- GET /api/swap/v3/order/historyPlan
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| side | String | 是 | 委托类型 1开多 2开空 3平多 4平空 标注废弃 |
| delegateType | String | 是 | 委托类型 1开多 2开空 3平多 4平空 |
| pageIndex | String | 是 | 当前页(1-200整数) |
| pageSize | String | 是 | 每页数量(1-100整数) |
| startTime | String | 否 | 查询开始时间(时间戳) |
| endTime | String | 否 | 查询结束时间(时间戳) |
返回数据:
{
"list":[
{
"symbol":"cmt_btcusdt", //合约名称
"execute_count":"0", //执行数量
"delegate_count":"1222222",//委托数量
"create_time":1576294708136,//创建时间戳
"update_time":1576294708136, //更新时间戳
"direction":1, //方向
"direction_desc":"开多", //方向描述
"trigger_price":"22222210.0", //触发价格
"execute_price":"7490.0", //执行价格
"order_id":"589588227514433528", //订单号
"order_type":0, //订单类型
"status":1, // 订单状态
"status_desc":"未执行状态", //订单状态描述
"create_trade_price":"7490" //计划委托时的成交价
}
],
"nextPage":false //是否有下一页
}
返回值说明
| 返回字段 | 字段说明 |
|---|---|
| symbol | 合约名称 |
| nextPage | 是否有下一页 |
| execute_count | 执行数量 |
| delegate_count | 委托数量 |
| create_time | 创建时间戳 |
| update_time | 更新时间戳 |
| direction | 方向 1开多 2开空 3平多 4平空" |
| direction_desc | 方向 1开多 2开空 3平多 4平空"的描述 |
| trigger_price | 触发价格 |
| execute_price | 执行价格 |
| order_id | 订单号 |
| order_type | 订单类型0限价 1市价 |
| status | 订单状态 1未执行状态 2已委托 3执行失败状态 4用户取消状态 |
| status_desc | 状态描述(1未执行状态 2已委托 3执行失败状态 4用户取消状态) |
| create_trade_price | 计划委托时的成交价 |
跟单交易接口
获取当前带单列表
限速规则:20次/s
HTTP请求 获取当前带单列表
- GET /api/swap/v3/trace/currentTrack
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名 |
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数量(1-100整数) |
返回数据:
[
{
"symbol":"cmt_btcusdt", //合约名称
"orderNo":"699848017573842632", //订单号
"holdSide":1, //仓位方向 1 多仓 2 空仓
"openLeverage":20, //开仓杠杆
"averageOpenPrice":11451.50000, //平均开仓价格
"openTime":1602582690614, //开仓时间
"openDealCount":"10", //持仓数量(开仓成交张数)
"stopProfitPrice":"123.14", //止盈价
"stopLossPrice":"20.52" //止损价
}
]
带单订单平仓
限速规则:1次/s
HTTP请求 带单订单平仓
- POST /api/swap/v3/trace/closeTrackOrder
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 合约名称 |
| trackingNo | Long | 是 | 追踪订单号 获取'/api/swap/v3/trace/currentTrack'接口返回结果orderNo |
返回数据:
{
"trackingNo":6258224712558517, //跟单号
"result":true //跟单结果
}
获取历史带单列表
限速规则:20次/s
HTTP请求 获取历史带单列表
- GET /api/swap/v3/trace/historyTrack
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数量(1-100整数) |
| createDate | Integer | 是 | 从当前时间算起往前查询的天数 (天数必须小于或等于90,不能为负数) |
返回数据:
{
"symbol":"cmt_btcusdt", //合约名称
"orderNo": "682799071840175632", //订单号
"holdSide":1, //仓位方向 1 多头仓位 0 空头仓位
"openLevel": 20, //开仓杠杆
"openAvgPrice" :"11366.50", //开仓均价
"openTime": 1598517905197, //开仓时间
"closeDealCount": "10", //平仓成交张数
"closeTime":1599135145368, //平仓触发时间
"closeAvgPrice": "11272.00", //平仓均价
"stopType": "1", //0 普通 1止盈 2止损(平仓类型)
"achievedProfits": "-0.07650000", //已实现盈亏
"openFee": "-0.00680910", //开仓累计手续费
"closeFee": "0.000000" //平仓累计手续费
}
交易员分润汇总
限速规则:20次/s
HTTP请求 交易员分润汇总
- GET /api/swap/v3/trace/summary
返回数据:
{
"yesterdaySplitProfit":"0", //昨日分润
"sumProfit": "0", //累计分润
"waitProfit":"0" //待分润
}
历史分润按结算币种汇总
限速规则:20次/s
HTTP请求 历史分润按结算币种汇总
- GET /api/swap/v3/trace/profitSettleTokenIdGroup
返回数据:
{
"settleTokenId":"usdt", //计价币
"profit": "0" //分润
}
历史分润按日和结算币种统计
限速规则:20次/s
HTTP请求 历史分润
- GET /api/swap/v3/trace/profitDateGroupList
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数量(1-100整数) |
返回数据:
{
"settleTokenId":"usdt", //结算币
"profit": "0", //分润
"date": "1616487216598" //时间
}
历史分润明细
限速规则:20次/s
HTTP请求 历史分润明细按日期及结算币种查询
- GET /api/swap/v3/trace/profitDateList
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数量(1-100整数) |
| settleTokenId | String | 是 | 结算币("USDT", "ETH", "BTC", "BCH") |
| date | Long | 是 | 历史分润按日和结算币种统计接口返回时间(1616487216598) |
返回数据:
{
"settleTokenId":"usdt", //结算币
"profit": "0", //分润
"nickName": "" //昵称
}
待分润明细列表
限速规则:20次/s
HTTP请求 待分润明细列表
- GET /api/swap/v3/trace/waitProfitDateList
请求参数
| 参数名 | 参数类型 | 是否必须 | 描述 |
|---|---|---|---|
| pageIndex | String | 是 | 页码,为空默认第一页,从1开始 |
| pageSize | String | 是 | 每页数量(1-100整数) |
返回数据:
{
"settleTokenId":"usdt", //结算币
"profit": "0", //分润
"nickName": "" //昵称
}
WebSocketAPI
永续合约
以下是永续合约v3 WebSocketAPI
概述
WebSocket是HTML5一种新的协议(Protocol)。它实现了客户端与服务器全双工通信, 使得数据可以快速地双向传播。通过一次简单的握手就 可以建立客户端和服务器连接, 服务器根据业务规则可以主动推送信息给客户端。其优点如下:
- 客户端和服务器进行数据传输时,请求头信息比较小,大概2个字节。
- 客户端和服务器皆可以主动地发送数据给对方。
- 不需要多次创建TCP请求和销毁,节约宽带和服务器的资源。
强烈建议开发者使用WebSocket API获取市场行情和买卖深度等信息。
| 域名 | WebSocket API | 建议使用 |
|---|---|---|
| 域名1 | wss://csocketapi.bitget.com/ws/v1 | 国际 |
| 域名2 | wss://csocketapi.bitgetapi.com/ws/v1 | 中国地区 |
连接说明:
连接上ws后30s内订阅或订阅后30s内用户未发送ping指令,系统会自动断开连接
指令格式
请求格式:
{"op": "value", "args": ["value1","value2"]}
其中 op 的取值为 1--subscribe 订阅; 2-- unsubscribe 取消订阅 ;3--login 登录
args: 取值为频道名,可以定义一个或者多个频道
成功响应格式:
{"event": "value","channel":"value"}
{"table":"channel","data":"[{"value1","value2"}]"}
失败响应格式:
{"event":"error","message":"error_message","errorCode":""}
交易对格式
反向合约(示例):
btcusd、ethusd、ltcusd、xrpusd、bchusd、eosusd
正向合约(示例):
cmt_bnbusdt、cmt_btcusdt
模拟盘合约(示例):
sbtcusd(反向合约模拟盘)、cmt_btcsusdt(正向合约模拟盘)
订阅
用户可以选择订阅一个或者多个频道,多个频道总长度不能超过4096个字节
{"op": "subscribe", "args": ["SubscriptionTopic"]}
说明 : op 的取值是 subscribe
args 数组内容为频道名称
其中channelname 是以 business/channel组成
永续推送业务business为swap, channel为此业务下每个具体的名称,如果channel的名字不能以一个字母区分将会以 " _ " 进行连接
例:
"swap/ticker:btcusd" or "swap/price_range:btcusd"
filter 是可筛选数据,具体参考每个频道说明
示例:
send:
{"op": "subscribe", "args": ["swap/ticker:btcusd", "swap/candle60s:btcusd"]}
response:
{"event": subscribe,"channel":"swap/ticker:btcusd"}
{"event": subscribe,"channel":"swap/candle60s:btcusd"}
{"table":"swap/ticker","data":[{"high_24h":"3369","instrument_id":"btcusd","last":"3299", "low_24h":"3112","timestamp":"2018-12-09T08:12:04.659Z","volume_24h":"8389225"}]}
{"table":"swap/candle60s","data":[{"instrument_id":"btcusd","candle":["2018-12-09T08:12:00.000Z", "3299.8","3299.8","3299","3299","82","2.4854"]}]}
取消订阅
可以取消一个或者多个频道
{"op": "unsubscribe", "args": [SubscriptionTopic]}
例如:
请求:
{"op": "unsubscribe", "args": ["swap/ticker:btcusd", "swap/candle60s:btcusd"]}
返回:
{"event":"unsubscribe","channel":"swap/ticker:btcusd"} {"event":"unsubscribe","channel":"swap/candle60s:btcusd"}
登录
签名方式说明参考API概述里的验证部分
登录订阅格式:
{"op":"login","args":["api_key","passphrase","timestamp","sign"]}
响应:
{"event":"login","success":true}
例:
{"op":"login","args":["bg_573af5eca856acd91c230da294ce2105","123456","1538054050", "8RCOqCJAhhEh4PWcZB/96QojLDqMAg4qNynIixFzS3E="]}
api_key:为用户申请的APIKey
passphrase:为申请v3 api时所填写,如果没有口令的话传入空字符串("")即可
timestamp:为时间戳 是Unix Epoch时间,单位是秒, 时间戳30秒后会过期
sign:为签名字符串,签名规则参照如下:
Message即(待签名字符串)为: timestamp+method+requestPath
其中timestamp示例:const timestamp = '' + Date.now() / 1000
method一律默认为'GET'
requestPath 一律默认为'/user/verify'
生成最终签名的步骤
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
如果登录失败会自动断开链接
连接限制
连接限制:1次/s
订阅限制:每小时240次
连接上ws后如果一直没有数据返回,30s 后自动断开链接, 建议用户进行以下操作:
每次接收到消息后,用户设置一个定时器 ,定时20秒。
如果定时器被触发(20 秒内没有收到新消息),发送字符串 'ping'。
期待一个文字字符串'pong'作为回应。如果在 20秒内未收到,请发出错误或重新连接。
出现网络问题会自动断开连接
频道说明
无需登录的频道包括:行情频道,K线频道,交易数据频道,资金费率频道,限价范围频道,深度数据频道,标记价格频道
需登录的频道包括:用户账户频道,用户交易频道,用户持仓频道
无需登录的频道名称如下:
swap/ticker // 行情数据频道
swap/candle60s // 1分钟 k线数据频道
swap/candle300s // 5分钟 k线数据频道
swap/candle900s // 15分钟 k线数据频道
swap/candle1800s // 30分钟 k线数据频道
swap/candle3600s // 1小时 k线数据频道
swap/candle14400s // 4小时 k线数据频道
swap/candle43200s // 12小时 k线数据频道
swap/candle86400s // 1day k线数据频道
swap/candle604800s // 1week k线数据频道
swap/trade // 交易信息频道
swap/funding_rate//资金费率频道
swap/price_range//限价范围频道
swap/depth //深度数据频道,首次200档,后续增量
swap/depth5 //深度数据频道,每次返回前5档
swap/mark_price// 标记价格频道
需登录的频道如下:
swap/account //用户账户信息频道
swap/position //用户持仓信息频道
swap/order //用户交易数据频道
用户持仓频道
获取用户持仓信息,需用用户登录
send示例
{"op": "subscribe", "args": ["swap/position:btcusd"]}
其中swap/ position为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/position",
"data": [{
"holding": [{
"avail_position": "1",
"avg_cost": "0.2985",
"leverage": "5",
"liquidation_price": "0.0136",
"margin": "6.8129",
"position": "1",
"realized_pnl": "-0.0239",
"unrealized_pnl": "0.0001",
"side": "long",
"timestamp": "1559544244016"
}, {
"avail_position": "1",
"avg_cost": "0.2935",
"leverage": "5",
"liquidation_price": "0.0136",
"margin": "6.8129",
"position": "1",
"realized_pnl": "-0.0239",
"unrealized_pnl": "0.0001",
"side": "short",
"timestamp": "1559544244016"
}],
"instrument_id": "xrpusd",
"margin_mode": "crossed"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| liquidation_price | String | 预估强平价 |
| position | String | 持仓数量 |
| avail_position | String | 可平数量 |
| avg_cost | String | 开仓平均价 |
| instrument_id | String | 合约名称 |
| leverage | String | 杠杆 |
| realized_pnl | String | 已实现盈亏 |
| unrealized_pnl | String | 未实现盈亏 |
| side | String | 方向(long/short) |
| timestamp | String | 创建时间 |
| margin | String | 保证金 |
| margin_mode | String | fixed:逐仓crossed:全仓 |
用户账户频道
获取账户信息,需用用户登录
send示例
{"op": "subscribe", "args": ["swap/account:btcusd"]}
其中swap/account为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/account",
"data": [{
"equity": "21.9334",
"fixed_balance": "0.0000",
"instrument_id": "xrpusd",
"margin": "6.8129",
"margin_frozen": "6.8143",
"margin_mode": "crossed",
"realized_pnl": "0.0000",
"timestamp": "1559544244016",
"total_avail_balance": "22.0043",
"unrealized_pnl": "-0.0710"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| equity | String | 账户权益 |
| instrument_id | String | 合约名称 |
| margin | String | 已用保证金 |
| margin_frozen | String | 开仓冻结保证金 |
| realized_pnl | String | 已实现盈亏 |
| timestamp | String | 创建时间 |
| total_avail_balance | String | 账户余额 |
| unrealized_pnl | String | 未实现盈亏 |
| fixed_balance | String | 逐仓账户余额 |
| margin_mode | String | 账户类型:逐仓fixed 全仓crossed |
用户交易频道
获取用户交易数据,需用用户登录
send示例
{"op": "subscribe", "args": ["swap/order:btcusd"]}
其中swap/order为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/order",
"data": [{
"last_fill_time": "1559544244016",
"filled_qty": "0",
"fee": "0.000000",
"client_oid": "",
"last_fill_qty": "0",
"price_avg": "0.0000",
"type": "2",
"instrument_id": "xrpusd",
"last_fill_px": "0",
"size": "1",
"price": "0.2935",
"error_code": "0",
"contract_val": "10",
"state": "0",
"order_id": "6c-a-625f6f638-0",
"order_type": "0",
"status": "0",
"timestamp": "1559544244016"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| instrument_id | String | 合约名称,如btcusd |
| size | String | 委托数量 |
| timestamp | String | 创建时间 |
| filled_qty | String | 成交数量 |
| fee | String | 手续费 |
| order_id | String | 订单id |
| client_oid | String | 用户设置的订单id |
| price | String | 委托价格 |
| price_avg | String | 成交均价 |
| type | String | 1:开多 2:开空 3:平多 4:平空 |
| contract_val | String | 合约面值 |
| order_type | String | 0:普通委托 1:只做Maker(Post only) 2:全部成交或立即取消(FOK) 3:立即成交并取消剩余(IOC) |
| last_fill_time | String | 最新成交时间 |
| state | String | 订单状态("1":新单,"2":部分成交,"3":全部成交 ,"5":撤销, "6":触发风险撤销) |
用户当前计划委托频道
获取用户当前计划委托数据,需用用户登录
send示例
{"op": "subscribe", "args": ["swap/current_plans:btcusd"]}
其中swap/current_plans为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/current_plans",
"data": [{
"id": "513468410013679613",
"contractId": "btcusd",
"amount": "12",
"direction": "1",
"done": "0",
"forcePrice": "24",
"price": "12",
"status": "1",
"time": "1606553787494",
"forceTime": "1606553777494"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| id | String | 记录编号 |
| contractId | String | 产品编码 |
| amount | String | 委托张数 |
| direction | String | 委托类型 1:开多 2:开空 3:平多 4:平空 5:减仓平多 6:减仓平空 7:协议平多 8:协议平空 9:爆仓平多 10:爆仓平空 |
| done | String | 成交张数 |
| forcePrice | String | 触发强制的价格 |
| price | String | 委托价格 |
| status | String | 订单状态( -1:撤销成功 0:等待成交 1:部分成交 2:完全成交) |
| time | String | 时间 |
| forceTime | String | 触发强制的时间 |
用户历史计划委托频道
获取用户历史计划委托数据,需用用户登录
send示例
{"op": "subscribe", "args": ["swap/history_plans:btcusd"]}
其中swap/history_plans为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/history_plans",
"data": [{
"id": "513468410013679613",
"arvPrice": "32",
"amount": "12",
"contractId": "btcusd",
"time": "1606554020500",
"dealCount": "12",
"delegatePrice": "120.00",
"direction": "1",
"forcePrice": "24",
"forceTime": "1606554010500",
"orderType": "1",
"pnl": "2541.21",
"status": "1",
"totalProfits": "1422.32"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| id | String | 记录编号 |
| arvPrice | String | 成交均价 |
| amount | String | 委托数量 |
| contractId | String | 产品编码 |
| time | String | 时间 |
| dealCount | String | 成交数量 |
| delegatePrice | String | 委托价格 |
| direction | String | 委托类型 1:开多 2:开空 3:平多 4:平空 5:减仓平多 6:减仓平空 7:协议平多 8:协议平空 9:爆仓平多 10:爆仓平空 |
| forcePrice | String | 触发强制的价格 |
| forceTime | String | 触发强制的时间 |
| orderType | String | 订单类型 0限价 1市价 |
| pnl | String | 已实现盈亏 |
| status | String | 订单状态( -1:撤销成功 0:等待成交 1:部分成交 2:完全成交) |
| totalProfits | String | 总收益 |
公共-Ticker频道
获取平台全部永续合约的最新成交价、买一价、卖一价和24交易量
send示例
{"op": "subscribe", "args": ["swap/ticker:btcusd"]}
其中swap/ticker为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/ticker",
"data": [{
"best_ask": "5603.5",
"best_bid": "5600.1",
"high_24h": "5773.7",
"instrument_id": "btcusd",
"last": "5603.3",
"low_24h": "5566",
"timestamp": "1559544244016",
"volume_24h": "1538076",
"holding": "1555450.000000",
"volume_token_24h":"17955.2439",
"volume_usdt_24h": "179556.2439"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| instrument_id | String | 合约名称,如btcusd |
| best_bid | String | 买一价 |
| best_ask | String | 卖一价 |
| last | String | 最新成交价 |
| high_24h | String | 24小时最高价 |
| low_24h | String | 24小时最低价 |
| volume_24h | String | 24小时成交量按(张) |
| holding | String | 持仓量 |
| volume_token_24h | String | 24小时成交量按(币) |
| volume_usdt_24h | String | 24小时usdt量 |
| timestamp | String | 系统时间戳 |
公共-k线频道
获取合约的K线数据
频道列表:
swap/candle60s // 1分钟k线数据频道
swap/candle300s // 5分钟k线数据频道
swap/candle900s // 15分钟k线数据频道
swap/candle1800s // 30分钟k线数据频道
swap/candle3600s // 1小时k线数据频道
swap/candle14400s // 4小时k线数据频道
swap/candle43200s // 12小时k线数据频道
swap/candle86400s // 1dayk线数据频道
swap/candle604800s // 1week k线数据频道
send示例
{"op": "subscribe", "args": ["swap/candle60s:btcusd"]}
其中swap/candle60s为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/candle60s",
"data": [{
"instrument_id": "btcusd",
"candle": ["1559544244016", "5613", "5611.9", "5611.9", "1218", "21.7009","21.7009"]
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| timestamp | String | 开始时间 |
| open | String | 开盘价格 |
| high | String | 最高价格 |
| low | String | 最低价格 |
| close | String | 收盘价格 |
| volume | String | 交易量(张) |
| currency_volume | String | 交易量(币) |
| instrument_id | String | 合约btcusd |
公共-交易频道
获取最近的成交数据。
send示例
{"op": "subscribe", "args": ["swap/trade:btcusd"]}
其中swap/trade为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/trade",
"data": [{
"instrument_id": "btcusd",
"price": "5611.9",
"side": "buy",
"size": "2",
"timestamp": "1559544244016",
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| price | String | 成交价格 |
| size | String | 成交数量 |
| side | String | 成交方向(buy or sell) |
| timestamp | String | 成交时间 |
| instrument_id | String | btcusd |
公共-资金费率频道
获取合约资金费率
send示例
{"op": "subscribe", "args": ["swap/funding_rate:btcusd"]}
其中swap/funding_rate为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/funding_rate",
"data": [{
"funding_rate": "-0.00067",
"funding_time": "1559544244016",
"instrument_id": "btcusd",
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| instrument_id | String | 合约名称,如btcusd |
| funding_time | String | 下一次结算时间 |
| funding_rate | String | 当前资金费率 |
公共-限价频道
获取合约当前开仓的最高买价和最低卖价。
send示例
{"op": "subscribe", "args": ["swap/price_range:btcusd"]}
其中swap/ price_range为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/price_range",
"data": [{
"highest": "5665.9",
"instrument_id": "btcusd",
"lowest": "5553.6",
"timestamp": "1559544244016"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| timestamp | String | 系统时间戳 |
| lowest | String | 最低卖价 |
| instrument_id | String | 合约名称,如btcusd |
| highest | String | 最高买价 |
公共-深度5频道
每次返回前五档的深度数据
send示例
{"op": "subscribe", "args": ["swap/depth5:btcusd"]}
其中swap/depth5为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/depth5",
"data": [{
"asks": [
["5621.7", "58"],
["5621.8", "125"],
["5622", "84"],
["5622.5", "6"],
["5623", "1"]
],
"bids": [
["5621.3", "287"],
["5621.2", "41"],
["5621.1", "2"],
["5621", "26"],
["5620.9", "640"]
],
"instrument_id": "btcusd",
"timestamp": "1559544244016"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| asks | String | 卖方深度 |
| bids | String | 买方深度 |
| timestamp | String | 时间戳 |
| instrument_id | String | 合约ID |
["411.8","6"] [String,String] 411.8为深度价格,10为此价格数量
公共-深度频道
首次返回200档,后续为增量
send示例
{"op": "subscribe", "args": ["swap/depth:btcusd"]}
其中swap/depth为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/depth",
"action": "(partial/update)",
"data": [{
"asks": [
["5621.7", "58"],
["5621.8", "125"],
["5622", "84"],
["5622.5", "6"],
["5623", "1"]
],
"bids": [
["5621.3", "287"],
["5621.2", "41"],
["5621.1", "2"],
["5621", "26"],
["5620.9", "640"]
],
"instrument_id": "btcusd",
"timestamp": "1559544244016"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| asks | String | 卖方深度 |
| bids | String | 买方深度 |
| action | String | 全量增量标识 |
| timestamp | String | 时间戳 |
| instrument_id | String | 合约ID |
["411.8","6"] [String,String] 411.8为深度价格,10为此价格数量
公共-标记价格频道
获取标记价格
send示例
{"op": "subscribe", "args": ["swap/mark_price:btcusd"]}
其中swap/ mark_price为频道名,btcusd为instrument_id
返回示例:
{
"table": "swap/mark_price",
"data": [{
"instrument_id": "btcusd",
"mark_price": "5620.9",
"timestamp": "1559544244016"
}]
}
返回参数
| 参数名 | 参数类型 | 描述 |
|---|---|---|
| instrument_id | String | 合约名称,如btcusd |
| mark_price | String | 标记价格 |
| timestamp | String | 系统时间戳 |
WebSocketAPI错误码
| 错误描述 | 错误信息 | 错误码 |
|---|---|---|
| 无效的ACCESS_PASSPHRASE | Invalid ACCESS_PASSPHRASE | 30001 |
| 无效的ACCESS_TIMESTAMP | Invalid ACCESS_TIMESTAMP | 30002 |
| 无效的ACCESS_KEY | Invalid ACCESS_KEY | 30003 |
| 请求时间戳过期 | Timestamp request expired | 30004 |
| 无效的sign | Invalid sign | 30005 |
| 登录失败 | Login failure | 30006 |
| 不合法的请求 | Unrecognized request | 30007 |
| 频道不存在 | Channel doesn't exist | 30008 |
| 用户需要登录 | User not logged in/User must be logged in | 30009 |
| 交易对不存在 | Symbol not exists | 30010 |
| 交易对未开放 | Symbol not open | 30011 |
RestAPI错误代码
公共错误码
| 错误提示 | 错误码 | http状态码 |
|---|---|---|
| 请求头"ACCESS_KEY"不能为空 | 40001 | 400 |
| 请求头"ACCESS_SIGN"不能为空 | 40002 | 400 |
| 请求头"ACCESS_TIMESTAMP"不能为空 | 40003 | 400 |
| 无效的ACCESS_TIMESTAMP | 40005 | 400 |
| 无效的ACCESS_KEY | 40006 | 400 |
| 无效的Content_Type,请使用“application/json”格式 | 40007 | 400 |
| 请求时间戳过期 | 40008 | 400 |
| api 校验失败 | 40009 | 400 |
| 请求太频繁 | 429 | 429 |
| 请求头"ACCESS_PASSPHRASE"不能为空 | 40011 | 400 |
| apikey/passphrase不正确 | 40012 | 400 |
| 用户被冻结 | 40013 | 400 |
| 权限不正确 | 40014 | 400 |
| 系统错误 | 40015 | 400 |
| 用户必须绑定手机或者谷歌 | 40016 | 400 |
| 参数校验失败 | 40017 | 400 |
| 非法的ip请求 | 40018 | 400 |
合约错误码
| 错误提示 | 错误码 | http状态码 |
|---|---|---|
| 合约配置不存在,请检查参数 | 40102 | 400 |
| 查不到该订单的数据,请确认订单号 | 40109 | 400 |
| 服务器升级,请稍后再试 | 40200 | 400 |
| 暂未获得使用权限,如需使用,请联系客服 | 40301 | 400 |
| 最多只能查询20000条数据 | 40303 | 400 |
| client_oid长度不大于40,且不能是火星字符 | 40305 | 400 |
| 批量处理订单最多只能处理50条 | 40306 | 400 |
| 该合约正在临时维护 | 40308 | 400 |
| 该合约已下架 | 40309 | 400 |
| 状态校验异常 | 40400 | 400 |
| 该操作无法执行 | 40401 | 400 |
| 查询方向不是计划委托的方向 | 40407 | 400 |
| 范围错误 | 40408 | 400 |
| 格式错误 | 40409 | 400 |
| 只能查最近三个月的数据 | 40704 | 400 |
| 起止时间不能超过90天 | 40705 | 400 |
| 开始时间大于结束时间 | 40707 | 400 |
| 该仓位暂无持仓,不能设置自动追加保证金 | 40709 | 400 |
| 账户非正常状态 | 40710 | 400 |
| 合约账户余额不足 | 40711 | 400 |
| 保证金数量不足 | 40712 | 400 |
| 不能超过最大可转出保证金数量 | 40713 | 400 |
| 仓位为零,不允许直接追加保证金 | 40714 | 400 |
| 委托数量大于最大可开张数 | 40715 | 400 |
| 该交易对不支持全仓模式 | 40716 | 400 |
| 平仓张数不能超过持有张数 | 40717 | 400 |
| 平多委托价格不允许低于爆仓价 | 40718 | 400 |
| 平空委托价格不允许高于爆仓价 | 40719 | 400 |
| 合约对手深度不存在 | 40720 | 400 |
| 当前不允许挂市价单 | 40721 | 400 |
| 因价格波动过大,市价委托成本不足,开仓委托失败 | 40722 | 400 |
| 未成交委托单总数过高 | 40723 | 400 |
| 参数为空 | 40724 | 400 |
| 合约服务返回错误 | 40725 | 400 |
| 全仓模式不支持自动追加保证金 | 40726 | 400 |
| 全仓模式不支持调整保证金 | 40727 | 400 |
| 您当前为交易员身份,请在当前带单下进行平仓 | 40728 | 400 |
| 调整仓位失败,当前持有仓位或委托或者计划委托 | 40729 | 400 |
| 当前有委托,或者计划委托,无法调整杠杆 | 40730 | 400 |
| 该产品不支持跟单交易 | 40731 | 400 |
| 当前不是交易员身份 | 40732 | 400 |
| 跟单平仓已经处理完成 | 40733 | 400 |
| 下单失败,交易员最少开仓张数%s张 | 40734 | 400 |
| 多头仓位止盈价格请大于开仓均价 | 40735 | 400 |
| 多头仓位止盈价格请大于当前价格 | 40736 | 400 |
| 空头仓位止盈价格请小于开仓均价 | 40737 | 400 |
| 空头仓位止盈价格请小于当前价格 | 40738 | 400 |
| 多头仓位止损价格请小于开仓均价 | 40739 | 400 |
| 多头仓位止损价格请小于当前价格 | 40740 | 400 |
| 空头仓位止损价格请大于开仓均价 | 40741 | 400 |
| 空头仓位止损价格请大于当前价格 | 40742 | 400 |
| 该订单正在平仓中,不能再次平仓 | 40743 | 400 |
| 该追踪订单状态错误 | 40744 | 400 |
| 此带单正在委托中,暂不支持平仓 | 40745 | 400 |
| 当前最多可平仓张数为%s张,超过的张数请到当前带单下平仓 | 40746 | 400 |
| 赠金不允许双向持仓 | 40747 | 400 |
| 委托价格高于最高买价 | 40748 | 400 |
| 委托价格低于于最低卖价 | 40749 | 400 |
| 该合约的计划委托已达到上限 | 40750 | 400 |
| 该合约的止盈止损委托已达到上限 | 40751 | 400| |