Welcome
欢迎来到Bitget API文档,点击这里直接开始
近期接口变更预告
新功能预告
编号 | 接口 | 上线日期 | 描述 |
---|---|---|---|
2 | API 即将支持 自动追加保证金 | 待定 | 开发测试中 |
更新预告
ETA 2023年11月1号 接口/api/mix/v1/account/account 新增响应字段 'crossedUnrealizedPL' 'isolatedUnrealizedPL'
更新日志
2023年10月下旬
合约下单接口逻辑更新预告:
- 原逻辑:单向持仓模式 + "reduceOnly":true时,下平仓单的数量超过持仓数量时,下单会报异常 '40757-Not enough position is available.';
- 新逻辑:单向持仓模式 + "reduceOnly":true时,
- 如果仓位数量为0(已经被平仓),新增抛出异常:
45006-position的仓位不足
- 如果仓位数量不足(超量平仓),抛出原异常:
40757-Not enough position is available.
- 如果仓位数量为0(已经被平仓),新增抛出异常:
- 双向持仓模式 下超量平仓单 逻辑不变
2023年09月21
接口/api/mix/v1/position/allPosition-v2 新增响应字段 'uTime'
2023年09月05日
- 新增接口 获取合并深度数据
2023年08月31日
2023年08月29日
- Websocket 持仓频道 添加响应字段
autoMargin
: 自动添加保证金, 取值: on/off
2023年08月23日
Websocket订阅异常响应格式变更:
From:
To:
2023年08月23日
- 新增接口 逐仓自动追加保证金
2023年08月21日
- 以下接口添加响应字段
autoMargin
: 自动添加保证金
2023年08月11日
- API支持RSA密钥签名,增加RSA 签名示例
2023年07月25日
- 新增 获取历史持仓记录
2023年07月03日
- 新增 获取历史k线
- 新增 获取指数价格历史k线
- 新增 获取标记价格历史k线
2023年06月30日
- 新增 获取风控条款
2023年06月28日
- 新增 模拟盘模拟币测试
- 新增 模拟币websocket
2023年06月15日
- symbolStatus 新增状态: 'restrictedAPI'
- 计划委托下单 新增参数 'productType'
2023年06月05日
更新接口下单 响应字段描述 'orderId'
2023年05月26日
- 新增接口 一键平仓
2023年05月22日
2023年05月20日
- /api/mix/v1/order/current, /api/mix/v1/order/marginCoinCurrent , /api/mix/v1/order/detail 和 /api/mix/v1/order/history 新增响应字段:
orderSource
2023年05月12日
- 接口 获取交易员列表 新增参数
traderUid
交易员uid 和traderNickName
交易员昵称
2023年05月08日
2023年05月06日
- 新增接口 跟随者取消跟随交易员
2023年04月21日
- 新增接口 获取单个合约仓位信息V2
- 新增接口 获取全部合约仓位信息V2
2023年03月28日
- 新增接口 获取仓位档位配置
- 新增接口 交易员查看自己交易数据指标统计
- 新增接口 跟单用户查看跟单设置
- 新增接口 跟单用户跟单设置
- 新增接口 跟单用户根据跟单号平仓
- 新增接口 跟单用户根据币对、方向、仓位模式、保证金平仓
- 新增接口 跟单用户设置止盈止损
2023年03月17日
- 新增接口 获取成交明细
- 新增接口 按symbol撤单
- 新增接口 计划委托(止盈止损)按symbol撤单
2023年03月15日
- /api/mix/v1/market/ticker 与 /api/mix/v1/market/tickers 新增响应字段: 'indexPrice', 'fundingRate', 'holdingAmount'
- /api/mix/v1/market/candles 请求参数 'limit' 最大值: 1000
- /api/mix/v1/account/account and /api/mix/v1/account/accounts 新增响应字段 'unrealizedPL', 'bonus'
- /api/mix/v1/account/sub-account-contract-assets 新增响应字段 'bonus'
- /api/mix/v1/order/cancel-order 新增请求参数 'clientOid'
- /api/mix/v1/order/cancel-batch-orders 新增请求字段: 'clientOids', 新增响应字段: 'client_order_ids'
- /api/mix/v1/order/current 新增响应字段: 'priceAvg', 'filledAmount', 'leverage', 'marginMode', 'reduceOnly', 'enterPointSource', 'tradeSide', 'holdMode', 'uTime'
- /api/mix/v1/order/history and /api/mix/v1/order/historyProductType 新增请求字段: 'clientOid'; 新增响应字段: : reduceOnly', 'enterPointSource', 'tradeSide', 'holdMode'
- /api/mix/v1/order/detail 新增响应字段: 'leverage', 'marginMode', 'reduceOnly', 'enterPointSource', 'tradeSide', 'holdMode'
- /api/mix/v1/order/fills and /api/mix/v1/order/allFills 新增响应字段:: 'enterPointSource', 'tradeSide', 'holdMode','takerMakerFlag'
- /api/mix/v1/plan/modifyPlan, /api/mix/v1/plan/modifyPlanPreset, /api/mix/v1/plan/placeTPSL, /api/mix/v1/plan/placeTrailStop, /api/mix/v1/plan/placePositionsTPSL, /api/mix/v1/plan/modifyTPSLPlan, /api/mix/v1/plan/cancelPlan, 新增请求字段 'clientOid'
- /api/mix/v1/plan/currentPlan and /api/mix/v1/plan/historyPlan added response fields: 'clientOid', 'rangeRate', 'enterPointSource', 'tradeSide', 'holdMode'
- 订单频道 新增推送字段 'hM', 'eps', 'tS', 'low',
- 计划委托频道 新增推送字段 'hM', 'eps', 'triggerTime', 'userId', 'version', 'triggerPxType', 'key'
- RestAPI错误代码 与 WebSocket错误代码 新增error code
2023年02月28日
- business 新增类型: 'contract_settle_fee': 资金费率
2023年02月13日
- 新增接口 VIP 费率
- 接口 /api/mix/v1/order/fills /api/mix/v1/order/allFills 文档补充响应字段 profit/fillAmount
2023年01月30日
- /api/mix/v1/plan/placePlan 新增参数: 'reduceOnly'
- /api/mix/v1/plan/modifyTPSLPlan 参数 'triggerPrice' 必填
- /api/mix/v1/trace/modifyTPSL 更新参数描述: 'stopProfitPrice' & 'stopLossPrice'
2023年01月27日
- 获取所有子账户合约资产信息 响应参数添加unrealizedPL
- 止盈止损下单 请求参数triggerType描述更新
2023年01月11日
2022年12月28日
- 切换官方telegram群
- business 添加 'burst_long_loss_query', 'burst_short_loss_query'
- Websocket -> account channel -> 推送数据:删除crossMaxAvailable和fixedMaxAvailable,替换成maxOpenPosAvailable
2022年12月21日
- /api/mix/v1/plan/placeTrailStop 补充参数side
2022年12月16日
- /api/mix/v1/account/setPositionMode 更新curl示例中的请求参数
- /api/mix/v1/order/placeOrder clientOid 幂等有效期 30 天
- 交易员创建订单限速: 1/s
- /api/mix/v1/trace/currentTrack 说明最大 pageSize
- /api/mix/v1/account/setMargin 说明 'amount' 的用法
- /api/mix/v1/order/batch-orders 说明最大批量下单数量: 50
2022年12月07日
- 以下接口指定限定planType值:
- /api/mix/v1/plan/placeTPSL
- /api/mix/v1/plan/placePositionsTPSL
- /api/mix/v1/plan/modifyTPSLPlan
- /api/mix/v1/plan/cancelPlan
2022年12月06日
- RestAPI -> 账户接口 -> added 获取所有子账户合约资产信息
- WebsocketAPI -> 私有频道 -> 订单频道 -> 推送数据参数 -> 'status' 补充枚举: 'init'
- WebsocketAPI -> 公共频道 -> 行情频道 -> 推送数据参数 -> 新增 'bidSz', 'askSz'等字段
2022年11月23日
2022年11月11日
- 新增接口 RestAPI -> 账户接口 -> 调节单双向持仓模式
- 补充说明单向持仓时的 下单 逻辑
- 补充说明单向持仓时的 一键反手 逻辑
- 订单状态补充: 'init' 状态
- 新增单向持仓相关类型 side 值,新增trade side
2022年10月27日
- 新增channel WebSocketAPI -> 公共频道 -> 交易详情频道
- WebSocketAPI -> 公共频道 -> 深度频道 新增 channel值:books1
- WebSocketAPI -> 私有频道 -> 计划委托频道 新增推送字段 websocket plantype
2022年10月14日
2022年9月15日
2022年9月6日
2022年8月29日
2022年8月19日
行情接口
->获取K线数据
新增UTC0 时区节点查询行情接口
->单个Ticker行情获取
,全部ticker行情获取
新增openUtc
,chgUtc
UTC0 时区价格
2022年8月16日
-
合约信息接口
新增sizeMultiplier
数量乘数字段
2022年8月15日
- Get 请求方式禁止在
RequestBody
传递参数, 请以QueryString
方式传递参数
2022年8月11日
跟单接口
->获取交易员跟单交易对
新增响应参数,交易员最小开仓数量
2022年8月08日
- 增加加密代码示例
2022年8月06日
- 增加PostMan 请求demo
2022年8月03日
- 每个接口新增请求示例
2022年8月01日
- /api/mix/v1/account/accountBusinessBill 新增根据业务线查询流水
2022年7月22日
- 新增支持USDC 合约
- /api/mix/v1/order/marginCoinCurrent 保证金参数改为 非必传, 可以获取当前业务线下所有当前委托
- /api/mix/v1/order/allFills 新增根据业务线查询成交明细
2022年7月21日
- Websocket 连接增加规则, 请参考 连接 目录
2022年07月20日
- 接口响应
requestTime
字段已废弃,请不要在使用此字段
2022年07月8日
- 增加计划委托websocket频道
2022年06月24日
/api/mix/v1/trace/modifyTPSL
增加交易员修改止盈止损接口
2022年06月10日
/api/mix/v1/order/detail
增加clientOid
参数
2022年04月02日
- 新增合约账户流水接口
/followerOrder
跟单交易接口增加保证金字段
2022年03月04日
- 仓位接口增加
keepMarginRate
维持保证金率
2022年02月25日
- 止盈止损下单新增 根据数量下单
size
非必填 - 获取全部成交明细新增
lastEndId
查询分页
2022年02月12日
- 新增查询交易对杠杆倍数 获取交易对支持的杠杆
- 获取成交明细支持查询全部明细 查询成交明细
2022年1月05日【限频规则修改新增域名】
- 去掉https://capi.bitgetapi.com
新增域名 https://api.bitget.com
- 限频规则修改
请求路径 | 规则 |
---|---|
/api/mix/v1/account/setLeverage | 5c/1s |
/api/mix/v1/account/setMargin | 5c/1s |
/api/mix/v1/account/setMarginMode | 5c/1s |
/api/mix/v1/account/setPositionMode | 5c/1s |
/api/mix/v1/position/allPosition | 5c/1s |
2021年12月08日【专业合约WebSocket私有频道上线】
- 专业合约私有频道接口上线
2021年10月26日【新增接口】
- 跟单接口增加跟随者查看跟单接口
- 交易员查看平仓跟单交易对信息接口
- 交易员设置跟单交易对接口
- Golang SDK 上线
- Nodejs SDK 上线
2021年9月26日【专业合约WebSocket公共频道上线】
- 专业合约公共频道接口上线
- 仓位接口新增爆仓价字段
2021年9月08日【合约列表和Ticker行情】
- 获取全部合约列表和获取全部ticker行情接口需要传入productType参数,支持模拟盘交易
2021年9月06日【新增账户列表查询】
2021年7月27日【新增混合合约V1文档】
- 新增V1文档
- 错误信息支持中/英
简介
API 简介
欢迎使用Bitget开发者文档!
此文档是Bitget API的唯一官方文档,Bitget API提供的能力会在此持续更新,请大家及时关注。
你可以通过点击上方菜单来切换获取不同业务的API,还可通过点击右上方的语言按钮来切换文档语言。
文档右侧是针对请求参数以及响应结果的示例。
更新关注
关于API新增、更新、下线等信息Bitget会提前发布公告进行通知,建议您关注和订阅我们的公告,及时获取相关信息。
您可以点击 这里 订阅公告。
联系我们
使用过程中如有问题或者建议,您可选择以下方式联系我们:
- 发送邮件至 API@bitget.com。
- Telegram 点击加入
常见问题
- Q1: 交易员为什么不能平仓?
A : 交易员平仓不能调用 下单接口,需要调用 交易员平仓接口
- Q2: 下单交易对我是传 BTCUSDT_UMCBL 还是传 BTCUSDT ?
A : 下单接口所有的 symbol
参数都是传 合约信息接口接口的 symbol
返回的值
Q3 : websocket 订阅时
instId
传的是什么?A :
instId
传的是 合约信息接口symbolName
Q4: 接口
symbol
区分大小写吗?A :
symbol
区分大小写 必须一律大写
快速入门
接入准备
如需使用API ,请先登录网页端,完成API key的申请和权限配置,再据此文档详情进行开发和交易。
您可以点击 这里 创建 API Key。
每个用户可创建10组Api Key,每个Api Key可对应设置读取、交易两种权限。
权限说明如下:
- 读取权限:读取权限用于对数据的查询,例如:行情数据。
- 交易权限:交易权限用于下单、撤单等接口。
- 划转权限:划转权限用于在Bitget用户账户之间划转加密货币。
- 提币权限:提币权限用于从Bitget账户转出资产。
请注意,您只能通过IP白名单提币。
创建成功后请务必记住以下信息:
APIKey
API交易的身份标识,随机算法生成。Secretkey
私钥,由系统随机生成,用于签名的生成。Passphrase
口令,由用户自己设定,需要注意的是,Passphrase忘记之后是无法找回的,需要重新创建APIKey。
SDK/代码示例
SDK(推荐)
Java | Python | Golang | NodeJs | PHP
PostMan(推荐) PostMan
您应该首先在 PostMan 左侧的环境选项卡中配置 API 密钥、密钥和密码。
接口类型
本章节主要为接口类型分以下两个方面:
- 公共接口
- 私有接口
公共接口
公共接口可用于获取配置信息和行情数据。公共请求无需认证即可调用。
私有接口
私有接口可用于订单管理和账户管理。每个私有请求必须使用规范的验证形式进行签名。
私有接口需要使用您的APIKey进行验证。
访问限制
本章节主要为访问限制:
- Rest API 当访问超过频率限制时,将返回429状态:请求太频繁。
Rest API
如果传入有效的APIKey 用APIKey限速;如果没有则拿公网IP限速。
限速规则:各个接口上有单独的说明,如果没有一般接口限速为 10次/秒。
特殊说明:批量下单时,若下4个币对,每个币对10个订单时,计为一次请求。
API域名
您可以自行使用Rest API接入方式进行操作。
域名 | REST API | 建议使用 |
---|---|---|
域名1 | https://api.bitget.com | 主域名 |
域名2 | https://capi.bitget.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)
//Java
System.currentTimeMillis();
//python
import time
time.time_ns() / 1000000
//Golang
import (
"time"
)
int64(time.Now().UnixNano()/1000000)
//Javascript
Math.round(new Date())
//PHP
microtime(true) * 1000;
签名
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
举例说明
获取合约深度信息,以 BTCUSDT_UMCBL 为例:
- Timestamp = 16273667805456
- Method = "GET"
- requestPath = "/api/mix/V1/market/depth"
- queryString= "?symbol=BTCUSDT_UMCBL&limit=20"
生成待签名的字符串:
'16273667805456GET/api/mix/v1/market/depth?symbol=BTCUSDT_UMCBL&limit=20'
合约下单,以 BTCUSDT_UMCBL 为例:
- Timestamp = 16273667805456
- Method = "POST"
- requestPath = "/api/mix/v1/order/placeOrder"
- body = {"symbol":"BTCUSDT_UMCBL","size":"8","side":"open_long","orderType":"limit","client_oid":"bitget#123456"}
生成待签名的字符串:
'16273667805456POST/api/mix/v1/order/placeOrder{"symbol":"BTCUSDT_UMCBL","size":"8","side":"open_long","order_type":"limit","client_oid":"bitget#123456"}'
生成最终签名的步骤
HMAC
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
RSA
第一步,使用RSA私钥privateKey对待签名字符串进行SHA-256签名。
第二步,对生成的签名字符串进行编码为 base64 string,得到签名字符串进行接口请求。
HMAC 签名示例
Java
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.management.RuntimeErrorException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import org.springframework.util.Base64Utils;
@Slf4j
public class CheckSign {
private static final String secretKey = "";
public static void main(String[] args) throws Exception {
//POST sign example
// String timestamp = "1684813405151";
// String body = "{\"symbol\":\"TRXUSDT_UMCBL\",\"marginCoin\":\"USDT\",\"size\":551,\"side\":\"open_long\",\"orderType\":\"limit\",\"price\":0.0555,\"timeInForceValue\":\"normal\"}";
//
// String sign = generate(timestamp,"POST","/api/mix/v1/order/placeOrder" ,null,body,secretKey);
// log.info("sign:{}",sign);
//GET sign example
String timestamp = "1684814440729";
String queryString = "symbol=btcusdt_umcbl&marginCoin=usdt";
String sign = generate(timestamp,"GET","/api/mix/v1/account/account" ,queryString,null,secretKey);
log.info("sign:{}",sign);
}
private static Mac MAC;
static {
try {
CheckSign.MAC = Mac.getInstance("HmacSHA256");
} catch (NoSuchAlgorithmException var1) {
throw new RuntimeErrorException(new Error("Can't get Mac's instance."));
}
}
public static String generate(String timestamp, String method, String requestPath,
String queryString, String body, String secretKey)
throws CloneNotSupportedException, InvalidKeyException, UnsupportedEncodingException {
method = method.toUpperCase();
body = StringUtils.defaultIfBlank(body, StringUtils.EMPTY);
queryString = StringUtils.isBlank(queryString) ? StringUtils.EMPTY : "?" + queryString;
String preHash = timestamp + method + requestPath + queryString + body;
log.info("preHash:{}",preHash);
byte[] secretKeyBytes = secretKey.getBytes("UTF-8");
SecretKeySpec secretKeySpec = new SecretKeySpec(secretKeyBytes, "HmacSHA256");
Mac mac = (Mac) CheckSign.MAC.clone();
mac.init(secretKeySpec);
return Base64.getEncoder().encodeToString(mac.doFinal(preHash.getBytes("UTF-8")));
}
}
Python
import hmac
import base64
import json
import time
def get_timestamp():
return int(time.time() * 1000)
def sign(message, secret_key):
mac = hmac.new(bytes(secret_key, encoding='utf8'), bytes(message, encoding='utf-8'), digestmod='sha256')
d = mac.digest()
return base64.b64encode(d)
def pre_hash(timestamp, method, request_path, body):
return str(timestamp) + str.upper(method) + request_path + body
def parse_params_to_str(params):
url = '?'
for key, value in params.items():
url = url + str(key) + '=' + str(value) + '&'
return url[0:-1]
if __name__ == '__main__':
API_SECRET_KEY = ""
timestamp = "1685013478665" # get_timestamp()
request_path = "/api/mix/v1/order/placeOrder"
# POST
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT", "price": 0.0555, "size": 551, "side": "open_long", "orderType": "limit", "timeInForceValue": "normal"}
body = json.dumps(params)
sign = sign(pre_hash(timestamp, "POST", request_path, str(body)), API_SECRET_KEY)
print(sign)
# GET
body = ""
request_path = "/api/mix/v1/account/account"
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT"}
request_path = request_path + parse_params_to_str(params)
sign = sign(pre_hash(timestamp, "GET", request_path, str(body)), API_SECRET_KEY)
print(sign)
RSA 签名示例
Java
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.management.RuntimeErrorException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
@Slf4j
public class CheckSign {
public static void main(String[] args) throws Exception {
//GET sign example
// String timestamp = "1684814440729";
// String queryString = "symbol=btcusdt_umcbl&marginCoin=usdt";
// String signContent = timestamp + "GET" + "/api/mix/v1/account/account?" + queryString;
// String sign = generate(signContent);
// log.info("sign:{}",sign);
//POST sign example
String timestamp = "1684814440729";
String preContent = timestamp + "POST" + "/api/spot/v1/trade/orders";
String body = "{\"symbol\":\"btcusdt_spbl\",\"quantity\":\"8\",\"side\":\"buy\",\"price\":\"1\",\"orderType\":\"limit\",\"clientOrderId\":\"bitget1233456\"}";
String signContent = preContent + body;
String sign = generate(signContent);
log.info("sign:{}",sign);
}
/**
*
* @param content: the string to be signed
* @return
*/
private String generate(String content) {
String privateKey = "-----BEGIN PRIVATE KEY-----\n" +
"xxxxxxxxxxxxxxxxxxxx9w0BAQEFAASCBKgwggSkAgEAAoIBAQD5C1iP01MC9fh5\n" +
"43mGx8WgJRAp3Xz9Tcqfz6HzoSg+zd8HVxKXRTXBwMDBfLxfQXobptz1tDlPUs+g\n" +
"YI38X8XEBZi5U4EBaZ5qHxArBTimyNXX6WNL6hTw0MI238cGKiW0WvWd9v6Z6/LX\n" +
"i6uFUiUEsZiiuHXcO7EKGuvBrVIRl57FzvOPD5QKfhVxcHr63NfEViAEQfQH4IN2\n" +
"+mu+L8epkWkmbua4jILUP+LXvHN7ZMiWP9bouw3r4l6v0NJ4XyucSYJL9fJ81rsI\n" +
"iUoD1S7xlSboujR4RSsFZKFyurE1c8XiU2aZ2qq+6vjby0ncE4dKVu5x/iJZ4gsL\n" +
"bneZujBLAgMBAAECggEAD6cF5uw6QGpjNo30emMd6aXKsUbpbyYvgQHUxPIxDFl2\n" +
"FgkD8xv3d/j8ZGzJjhcYbJp9MrgkDfc/c23+HomKbXqIkcVMy2DvAu523q1SVTE0\n" +
"N4DEq+XHcSc9vaMs6BdIDWDWJRp8AAKTXba6jgOOrg/Xbwq25aOeyerNPHv/N3m3\n" +
"VImJZVV+ZcetUZ82UdX7NkvV4qmRi8se47OXUT9aypzpvGbSukkqXuE4GtKGoybR\n" +
"R1sJtU10ap3QvyVNshn2QJnRd3GN2UENDvZS3ZvSY6f/Cq7K/EAmrsstOdUB2Ihn\n" +
"POnI9/MrghWFq/n3ekuArWc54bDai0deKFl9KvI2oQKBgQD9ekRFMB6ueRCCeoyg\n" +
"TOGvvW3d7X7G90XKL1xKhrg6mYh65hfQaxbihfOcrneFOoc3BgZwnbAZpF+hlq9J\n" +
"klu69adhYlMxP2nF3PGj5vPln9/rd6/gcFFE9o7zZhI166PsmlxQ7/N0SCnlao7y\n" +
"HZQoeeFJ1xuvCHVlNsTR+XZ88QKBgQD7hckVvGxIftcZsHChP8TFcDAn1IsaVbyt\n" +
"i1UZ5JPznSLTcdb8YPtFr9afiCJ4b2NqRe8gCpUCUi+urnoMMsqMxTUMopiLPh2S\n" +
"SYaBgpQYUIDLpt+Wx06krbOOyXVZ8RtgYLMpMhFCsRyzovqe8/LZQfQKWfQGTAXS\n" +
"qL5vdyiw+wKBgQC7DMDYdbwOcFRYlOq1WEarExTCUoHdfZfIrc5jSKsmwynN14H3\n" +
"US9gFg1BsBWPATPKzO1vqU3Mfln7umC73/9FJgZQfOh7TRpW4saGduXAq4voDTiC\n" +
"XR/7zh6LSuVhWPRsozRAnfF/+8i+/TVjQaSVgetYPB63uXw4JoRzlq1zYQKBgQDJ\n" +
"7ASb25G+vX1n1TsGaNBKhR9TypEFylDXreTbDaMtTzg3Mcwa/qyarGiL2Fl8AEh6\n" +
"d7xaJ8SqgVpgTRgUFO6BBozpINt/5ZUN7NL7w92qi25qkAQt4sGi+QQOnHMGisak\n" +
"n90VNGmg9dkJ6cxzsXqDqiwF52M9bui5zthbWfkj4wKBgEFVT+jf235aihaS88Oj\n" +
"MbR078tvsFiRBICHlYCIef7/a+gt7N1u9sEGlPspY3HuPamA39201BuItD9X83VR\n" +
"Vg+HjkeQIIrxmfvZn1O8/l+ItSNUzQhX6T0cSdCo6KtmZLBQ6Zaw7r63GcdvSdR2\n" +
"xxxxxxxxxxxxxxxxxxxxxxx\n" +
"-----END PRIVATE KEY-----\n";
try {
String parsedPem = privateKey.replace("\n", "").trim();
parsedPem = parsedPem
.replace("-----BEGIN PRIVATE KEY-----", "")
.replace("-----END PRIVATE KEY-----", "");
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64Utils.decodeFromString(parsedPem));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey priKey = keyFactory.generatePrivate(priPKCS8);
Signature signature = Signature.getInstance("SHA256WithRSA");
signature.initSign(priKey);
signature.update(content.getBytes(StandardCharsets.UTF_8));
String sign = Base64Utils.encodeToString(signature.sign());
return sign;
} catch (Exception ex) {
throw new RuntimeException("create sign failed", ex);
}
}
}
Python
import base64
import json
import time
import base64
from Crypto.Hash import SHA256
from Crypto.Signature import PKCS1_v1_5
from Crypto.PublicKey import RSA
def get_timestamp():
return int(time.time() * 1000)
def rsa_sign(message, private_key):
pri_key = RSA.importKey(private_key)
encoded_param = SHA256.new(bytes(message, encoding='utf-8'))
sign_str = PKCS1_v1_5.new(pri_key).sign(encoded_param)
return base64.b64encode(sign_str).decode()
def pre_hash(timestamp, method, request_path, body):
return str(timestamp) + str.upper(method) + request_path + body
def parse_params_to_str(params):
url = '?'
for key, value in params.items():
url = url + str(key) + '=' + str(value) + '&'
return url[0:-1]
if __name__ == '__main__':
private_key = '''-----BEGIN PRIVATE KEY-----
XXXXXXXXXXANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdTR5gmwGH77wE
e0ljABC58EVhiw7fPXWhMh7gZwurQQ8M/I9/VA8lDjwwoGuuJ6enurdfwhpZxeZH
P3wdmwvD7XLESEXVuxJv5hdpI9m6ydInK9SA8IbaF4yYWp0l4N2mA44MzadA7QZq
bQtQPlyPZHeia5q/NZHFWCrCbW2lGAAWwrhQq9LceVIW75e213xtnps0pGlII7Ye
xLkoazuhC1X8YNSxlCdLOiz1GvOeVSeiSZx31o/O+rj7tDFpSgZJEXRmtGRoJkJy
10EGSrvUMezCVSOcb1hCExg4osK6rBKnDjFjwQvwvNNZq0JG+CkfH8eHAa7gSK50
In51go29AgMBAAECggEAEvYk30hQGu7PH0stQX3UhlVsR6HXnRlvgIrmJe7F/VLO
WaZoNdUQLktU/heYY1nsX8+mIyjmvEOayqPgdkEmXevVlcuQf38Zbduynr3vlRCX
AJnL9+8GkmucSxFBODuu/EAZc3mm27C2wUV7w6SAy9g0g6Os97ehZsSGAwHl4aye
i6KtB07LAA10Eh5Ptq4YAfCYiUO7j10pQ+DJKqN9N1eyjyw5eixEgCpudcbpCc9X
+EK6zxk8Ynr0ANX8/LwvokqgYBK1UIL6ear0dtKmeFU+KwrmkKZfXk8/Amr/O8Ot
iHTTr1SLyQKRzq3La149LMmNkUYxaMSV/KGTEV7ukQKBgQDQl/fA3mxXtQg2IjTB
cvDBGhB4c3haECWcP7TQWJDb30vxOKeq1k9YPUfegZga5zlyV28PAZnb0m5x07+0
OY4862brT+pje9OhQxfkAY6AtJaiIqhCcw5ew8Go/Ja1ML0jZESWG1MWBJtCcFTm
d3+n9yU1fB1Ze0adilYmyu7zwwKBgQDBDPJZgSj7YssPyRmo3bO0MjknfYBqXvwi
6TxV11mJRe5BJ9Rc2WXGfEm3DEn7TO/Wv0t7Yqm6/sXg5HzriN/PHlaVtE6wlXe7
3gpYKjlm99KO7KKWYqP812mASl6ydLX9QWozlOXjVhWMuSGqMWjut4J3P8jlkOJ6
pNq9c8/gfwKBgQCxwvAl8ubNj78hsuDWgsddKIMkwvKrfdsvXrMOYouAdLjZJvjs
A5q2jfKzUil3s9km8g/479pYlOn+Iv/Z7Lqke8/HdOFASoQ9h1nSuujgEgXUwkg1
6Ks0Ywqkoi0k2BY3FPnGGh8iQma1pdkUVn35fAq/m7e/S+kP1JY6lPIx1QKBgQCS
jxul67KLNrNmpot+ceGt2bseSd8l4jqU3nDZ0oW8+4Qnnu9QFhN4Hn9wIjpAOGaU
p+HMKFknB6h+Vbior98JxMSDHsHmuXKPA8DishumGlqV+vxsIzLQD1Ge/dbqsERB
olnYEyB7+KyfiyUNqjk5kcPQeHIyJk5qQaF21udoTQKBgDOMbtM0Nq7cd/SAHISR
VYIGGXRFNqAjLJW7DRJGxw3AEwxKG+nxNLeG7GsQDyPCvZSKwRpdpXRTh+6mzXqe
pQ6+33v2gOtez8Cwo6tgyKRi6QPObQk00vbrKEBTihP30m81rwBPzjwj7iKXxWgA
DJoVsaqGOaIf4qXXXXXXXXXX
-----END PRIVATE KEY-----'''
timestamp = get_timestamp()
request_path = "/api/mix/v1/order/placeOrder"
# POST
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT", "price": 0.0555, "size": 551, "side": "open_long", "orderType": "limit", "timeInForceValue": "normal"}
body = json.dumps(params)
sign = rsa_sign(pre_hash(timestamp, "POST", request_path, str(body)), private_key)
print(sign)
# GET
body = ""
request_path = "/api/mix/v1/account/account"
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT"}
request_path = request_path + parse_params_to_str(params)
sign = rsa_sign(pre_hash(timestamp, "GET", request_path, str(body)), private_key)
print(sign)
NodeJs
export function sign() {
const private_key = '-----BEGIN PRIVATE KEY-----\n' +
'XXXXXXXXXXANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdTR5gmwGH77wE\n' +
'e0ljABC58EVhiw7fPXWhMh7gZwurQQ8M/I9/VA8lDjwwoGuuJ6enurdfwhpZxeZH\n' +
'P3wdmwvD7XLESEXVuxJv5hdpI9m6ydInK9SA8IbaF4yYWp0l4N2mA44MzadA7QZq\n' +
'bQtQPlyPZHeia5q/NZHFWCrCbW2lGAAWwrhQq9LceVIW75e213xtnps0pGlII7Ye\n' +
'xLkoazuhC1X8YNSxlCdLOiz1GvOeVSeiSZx31o/O+rj7tDFpSgZJEXRmtGRoJkJy\n' +
'10EGSrvUMezCVSOcb1hCExg4osK6rBKnDjFjwQvwvNNZq0JG+CkfH8eHAa7gSK50\n' +
'In51go29AgMBAAECggEAEvYk30hQGu7PH0stQX3UhlVsR6HXnRlvgIrmJe7F/VLO\n' +
'WaZoNdUQLktU/heYY1nsX8+mIyjmvEOayqPgdkEmXevVlcuQf38Zbduynr3vlRCX\n' +
'AJnL9+8GkmucSxFBODuu/EAZc3mm27C2wUV7w6SAy9g0g6Os97ehZsSGAwHl4aye\n' +
'i6KtB07LAA10Eh5Ptq4YAfCYiUO7j10pQ+DJKqN9N1eyjyw5eixEgCpudcbpCc9X\n' +
'+EK6zxk8Ynr0ANX8/LwvokqgYBK1UIL6ear0dtKmeFU+KwrmkKZfXk8/Amr/O8Ot\n' +
'iHTTr1SLyQKRzq3La149LMmNkUYxaMSV/KGTEV7ukQKBgQDQl/fA3mxXtQg2IjTB\n' +
'cvDBGhB4c3haECWcP7TQWJDb30vxOKeq1k9YPUfegZga5zlyV28PAZnb0m5x07+0\n' +
'OY4862brT+pje9OhQxfkAY6AtJaiIqhCcw5ew8Go/Ja1ML0jZESWG1MWBJtCcFTm\n' +
'd3+n9yU1fB1Ze0adilYmyu7zwwKBgQDBDPJZgSj7YssPyRmo3bO0MjknfYBqXvwi\n' +
'6TxV11mJRe5BJ9Rc2WXGfEm3DEn7TO/Wv0t7Yqm6/sXg5HzriN/PHlaVtE6wlXe7\n' +
'3gpYKjlm99KO7KKWYqP812mASl6ydLX9QWozlOXjVhWMuSGqMWjut4J3P8jlkOJ6\n' +
'pNq9c8/gfwKBgQCxwvAl8ubNj78hsuDWgsddKIMkwvKrfdsvXrMOYouAdLjZJvjs\n' +
'A5q2jfKzUil3s9km8g/479pYlOn+Iv/Z7Lqke8/HdOFASoQ9h1nSuujgEgXUwkg1\n' +
'6Ks0Ywqkoi0k2BY3FPnGGh8iQma1pdkUVn35fAq/m7e/S+kP1JY6lPIx1QKBgQCS\n' +
'jxul67KLNrNmpot+ceGt2bseSd8l4jqU3nDZ0oW8+4Qnnu9QFhN4Hn9wIjpAOGaU\n' +
'p+HMKFknB6h+Vbior98JxMSDHsHmuXKPA8DishumGlqV+vxsIzLQD1Ge/dbqsERB\n' +
'olnYEyB7+KyfiyUNqjk5kcPQeHIyJk5qQaF21udoTQKBgDOMbtM0Nq7cd/SAHISR\n' +
'VYIGGXRFNqAjLJW7DRJGxw3AEwxKG+nxNLeG7GsQDyPCvZSKwRpdpXRTh+6mzXqe\n' +
'pQ6+33v2gOtez8Cwo6tgyKRi6QPObQk00vbrKEBTihP30m81rwBPzjwj7iKXxWgA\n' +
'DJoVsaqGOaIf4qXXXXXXXXXX\n' +
'-----END PRIVATE KEY-----\n'
const ts = Date.now();
const NodeRSA = require('node-rsa')
const pri_key = new NodeRSA(private_key)
//GET
const ts = Date.now();
const params = 'coin=USDT&startTime=1687744761000&endTime=1690336761929'
const endpoint = '/api/spot/v1/wallet/withdrawal-list'
const method = "GET"
const pre_hash = String(ts) + method + endpoint + '?' + params
const sign = pri_key.sign(pre_hash, 'base64', 'UTF-8')
//POST
const endpoint_post = '/api/spot/v1/trade/open-orders'
const params_post = '{"symbol": "BTCUSDT_SPBL"}'
const method_post = "POST"
const pre_hash_post = String(ts) + method_post + endpoint_post + params_post
const sign_post = pri_key.sign(pre_hash_post, 'base64', 'UTF-8')
return sign
}
请求交互
所有请求基于Https协议,POST 请求头信息中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状态码。
- 公共接口:如行情接口,统一限频为1秒最多20个请求。
- 授权接口:通过apikey限制授权接口的调用,参考每个接口的限频规则限频。
请求格式
目前只有两种格式的请求方法:GET和POST
- GET: 参数通过queryString在路径中传输到服务器。
- POST: 参数按照json格式发送body传输到服务器。
API 公共参数
side(交易指令)
字段 | 说明 |
---|---|
open_long | 开多 |
open_short | 开空 |
close_long | 平多 |
close_short | 平空 |
buy_single | 单向持仓买 |
sell_single | 单向持仓卖 |
business(记录类型)
字段 | 说明 |
---|---|
open_long | 开多 |
open_short | 开空 |
close_long | 平多 |
close_short | 平空 |
trans_from_exchange | 由现货账户转入 |
trans_to_exchange | 转出至现货账户 |
contract_settle_fee | 资金费率 |
contract_main_settle_fee | 全仓资金费率。废弃,请勿在查询中使用 |
contract_margin_settle_fee | 逐仓资金费率。废弃,请勿在查询中使用 |
tracking_trader_income | 带单分润 |
burst_long_loss_query | 爆仓平多 |
burst_short_loss_query | 爆仓平空 |
tradeSide(交易方向)
double_hold 的交易方向
字段 | 说明 |
---|---|
open_long | 开多 |
open_short | 开空 |
close_long | 平多 |
close_short | 平空 |
reduce_close_long | 强制减多 |
reduce_close_short | 强制减空 |
offset_close_long | 轧差强制减多 |
offset_close_short | 轧差强制减空 |
burst_close_long | 爆仓平多 |
burst_close_short | 爆仓平空 |
delivery_close_long | 多头交割 |
delivery_close_short | 空头交割 |
single_hold 的交易方向
字段 | 说明 |
---|---|
buy_single | 单边持仓时买 |
sell_single | 单边持仓时卖 |
reduce_buy_single | 单边持仓时减仓买 |
reduce_sell_single | 单边持仓时减仓卖 |
burst_buy_single | 爆仓买 |
burst_sell_single | 爆仓卖 |
delivery_buy_single | 单边持仓时多头交割 |
delivery_sell_single | 单边持仓时空头交割 |
orderType(交易类型)
字段 | 说明 |
---|---|
limit | 限价 |
market | 市价 |
timeInForceValue(订单有效期)
字段 | 说明 |
---|---|
normal | 普通订单, 订单会一直有效,直到被成交或者取消 |
post_only | 只做 maker 订单 |
ioc | 无法立即成交的部分就撤销 |
fok | 无法全部立即成交就撤销 |
triggerType(触发类型)
字段 | 说明 |
---|---|
fill_price | 成交价触发 |
market_price | 标记价 mark price 触发 |
planType(计划委托类型)
planType 的交易方向
字段 | 说明 |
---|---|
normal_plan | 普通计划 |
profit_plan | 止盈计划 |
loss_plan | 止损计划 |
pos_profit | 仓位止盈 |
pos_loss | 仓位止损 |
moving_plan | 移动止盈止损 |
track_plan | 追踪委托 |
holdSide(持仓方向)
字段 | 说明 |
---|---|
long | 多仓 |
short | 空仓 |
marginMode(仓位模式)
字段 | 说明 |
---|---|
fixed | 逐仓 |
crossed | 全仓 |
holdMode(持仓模式)
字段 | 说明 |
---|---|
single_hold | 单向持仓 |
double_hold | 双向持仓 |
planStatus(计划委托状态)
字段 | 说明 |
---|---|
no_trigger | 未触发 |
triggered | 已触发 |
fail_trigger | 触发失败 |
cancel | 已撤销 |
productType(产品线类型)
字段 | 说明 |
---|---|
umcbl | USDT专业合约 |
dmcbl | 混合合约 |
cmcbl | USDC专业合约 |
sumcbl | USDT专业合约模拟盘 |
sdmcbl | 混合合约模拟盘 |
scmcbl | USDC专业合约模拟盘 |
state(订单状态)
字段 | 说明 |
---|---|
init | 初始订单,插入DB成功 |
new | 新建订单,orderbook中等待撮合 |
partially_filled | 部分成交 |
filled | 全部成交 |
canceled | 已撤销 |
isPlan(获取计划委托类型)
字段 | 说明 |
---|---|
plan | 计划委托 |
profit_loss | 止盈止损 |
granularity(K线类别)
- 1min(1分钟)
- 5min(5分钟)
- 15min(15分钟)
- 30min(30分钟)
- 1h(1小时)
- 4h(4小时)
- 6h(6小时)
- 12h(12小时)
- 1day(1天)
- 3day (3天)
- 1week(1周)
- 1M (月线)
- 6Hutc (零时区 6小时线)
- 12Hutc (零时区12小时线)
- 1Dutc (零时区 1日线)
- 3Dutc (零时区 3日线)
- 1Wutc (零时区 周线)
- 1Mutc (零时区 月线)
老分类,不建议再使用
- 60(1minute)
- 300(5minute)
- 900(15minute)
- 1800(30minute)
- 3600(1hour)
- 14400(4hour)
- 43200(12hour)
- 86400(1day)
- 604800(1week)
Websocket planType
- pl: 默认值, 当新增/撤消/修改/触发计划委托时推送
- tp: 部分止盈, 当新增/撤消/修改/触发部分止盈止损时推送
- sl: 部分止损, 当新增/撤消/修改/触发部分止盈止损时推送
- ptp: 仓位止盈, 当新增/撤消/修改/触发仓位止盈止损时推送
- psl: 仓位止损, 当新增/撤消/修改/触发仓位止盈止损时推送
symbolStatus
- normal 正常
- maintain 维护
- off 下架
- restrictedAPI API限制下单
- limit_open 禁止开仓
enterPointSource
Words | Description |
---|---|
WEB | 自Web端创建的订单 |
API | 自API端创建的订单 |
SYS | 系统托管订单, 通常由强制平仓逻辑生成 |
ANDROID | 自Android系统端创建的订单 |
IOS | 自IOS系统端创建的订单 |
orderSource
Words | Description |
---|---|
normal | 正常下单 |
market | 市价单 |
profit_market | 市价止盈单 |
loss_market | 市价止损单 |
Trader_delegate | 交易员带单下单 |
trader_profit | 交易员止盈 |
trader_loss | 交易员止损 |
reverse | 反手订单 |
trader_reverse | 交易员带单反手 |
profit_limit | 止盈限价 |
loss_limit | 止损限价 |
liquidation | 爆仓单 |
delivery_close_long | 多仓交割 |
delivery_close_short | 空仓交割 |
pos_profit_limit | 仓位止盈限价 |
pos_profit_market | 仓位止盈市价 |
pos_loss_limit | 仓位止损限价 |
pos_loss_market | 仓位止损市价 |
模拟盘模拟币测试
模拟盘的币有:SUSDT, SBTC, SETH, SEOS, SUSDC, 模拟币是无价值的,只是给用户来模拟交易,试手交易的, 模拟币在注册账号之后就会自动到账户里:合约账户-模拟U本位合约账户
子账户不支持模拟盘测试,请使用母账户测试
模拟盘获取币对合约信息
请求API接口:/api/mix/v1/market/contracts?productType=sumcbl
method:GET
productType
- sumcbl 模拟盘U本位合约
- sdmcbl 模拟盘币本位合约
- scmcbl 模拟盘USDC本位合约
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1687763055328,
"data": [
{
"symbol": "SBTCSUSDT_SUMCBL",
"makerFeeRate": "0.0002",
"takerFeeRate": "0.0006",
"feeRateUpRatio": "0.1",
"openCostUpRatio": "0.1",
"quoteCoin": "SUSDT",
"baseCoin": "SBTC",
"buyLimitPriceRatio": "0.01",
"sellLimitPriceRatio": "0.01",
"supportMarginCoins": [
"SUSDT"
],
"minTradeNum": "0.001",
"priceEndStep": "5",
"volumePlace": "3",
"pricePlace": "1",
"sizeMultiplier": "0.001",
"symbolType": "perpetual",
"symbolStatus": "normal",
"offTime": "-1",
"limitOpenTime": "-1",
"maintainTime": "",
"symbolName": "SBTCSUSDT"
},
{
"symbol": "SETHSUSDT_SUMCBL",
"makerFeeRate": "0.0002",
"takerFeeRate": "0.0006",
"feeRateUpRatio": "0.1",
"openCostUpRatio": "0.1",
"quoteCoin": "SUSDT",
"baseCoin": "SETH",
"buyLimitPriceRatio": "0.03",
"sellLimitPriceRatio": "0.03",
"supportMarginCoins": [
"SUSDT"
],
"minTradeNum": "0.001",
"priceEndStep": "1",
"volumePlace": "3",
"pricePlace": "2",
"sizeMultiplier": "0.001",
"symbolType": "perpetual",
"symbolStatus": "normal",
"offTime": "-1",
"limitOpenTime": "-1",
"maintainTime": "",
"symbolName": "SETHSUSDT"
}
]
}
模拟盘获取币对深度信息
请求API接口:/api/mix/v1/market/depth?symbol=SBTCSUSDT_SUMCBL
method:GET
productType
- sumcbl 模拟盘U本位合约
- sdmcbl 模拟盘币本位合约
- scmcbl 模拟盘USDC本位合约
返回信息:
{
"code":"00000",
"data":{
"asks":[
[
"30002",
"0.2300000000000000"
],
[
"30002.5",
"0.91"
],
[
"30003",
"0.18"
]
],
"bids":[
[
"29987",
"0.28"
],
[
"300",
"0.3333000000000000"
]
],
"timestamp":"1627115809358"
},
"msg":"success",
"requestTime":1627115809358
}
模拟盘获取币对ticker信息
请求API接口:/api/mix/v1/market/tickers?symbol=SBTCSUSDT_SUMCBL
method:GET
productType
- sumcbl 模拟盘U本位合约
- sdmcbl 模拟盘币本位合约
- scmcbl 模拟盘USDC本位合约
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1687764449397,
"data": [
{
"symbol": "SEOSSUSDT_SUMCBL",
"last": "0.732",
"bestAsk": "0.736",
"bestBid": "0.731",
"bidSz": "39322",
"askSz": "21875",
"high24h": "0.753",
"low24h": "0.701",
"timestamp": "1687764449400",
"priceChangePercent": "0.01667",
"baseVolume": "5092110",
"quoteVolume": "3684527.064",
"usdtVolume": "3684527.064",
"openUtc": "0.724",
"chgUtc": "0.01105",
"indexPrice": "0.73204",
"fundingRate": "-0.0006",
"holdingAmount": "14571063"
},
{
"symbol": "SXRPSUSDT_SUMCBL",
"last": "0.4834",
"bestAsk": "0.4835",
"bestBid": "0.4833",
"bidSz": "89142",
"askSz": "231868",
"high24h": "0.4975",
"low24h": "0.4804",
"timestamp": "1687764449400",
"priceChangePercent": "-0.01105",
"baseVolume": "9267164",
"quoteVolume": "4529961.9166",
"usdtVolume": "4529961.9166",
"openUtc": "0.4898",
"chgUtc": "-0.01307",
"indexPrice": "0.483906",
"fundingRate": "0.0006",
"holdingAmount": "58883676"
}
]
}
模拟盘获取账户信息
请求API接口:/api/mix/v1/account/account?symbol=SBTCSUSDT_SUMCBL&marginCoin=SUSDT
method:GET
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1687765715697,
"data": {
"marginCoin": "SUSDT",
"locked": "0",
"available": "2579.07608651",
"crossMaxAvailable": "2579.07608651",
"fixedMaxAvailable": "2579.07608651",
"maxTransferOut": "2579.07608651",
"equity": "2579.07608651",
"usdtEquity": "2579.076086513333",
"btcEquity": "0.085011902546",
"crossRiskRate": "0",
"crossMarginLeverage": 6,
"fixedLongLeverage": 6,
"fixedShortLeverage": 20,
"marginMode": "fixed",
"holdMode": "double_hold",
"unrealizedPL": "0",
"bonus": "0"
}
}
模拟盘获取合约币对可开数量
请求API接口:/api/mix/v1/account/open-count
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/account/open-count" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT","openPrice": "30189.5","leverage": "20","openAmount":"5000"}'
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1687766165234,
"data": {
"openCount": 2.975
}
}
模拟盘获单个取合约持仓信息
请求API接口: /api/mix/v1/position/singlePosition?symbol=SBTCSUSDT_SUMCBL&marginCoin=SUSDT
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/account/open-count" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT","openPrice": "30189.5","leverage": "20","openAmount":"5000"}'
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"marginCoin": "SUSDT",
"symbol": "SBTCSUSDT_SUMCBL",
"holdSide": "long",
"openDelegateCount": "0",
"margin": "0",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 6,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "fixed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
},
{
"marginCoin": "SUSDT",
"symbol": "SBTCSUSDT_SUMCBL",
"holdSide": "short",
"openDelegateCount": "0",
"margin": "0",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 20,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "fixed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
}
]
}
模拟盘获全部合约持仓信息
请求API接口: /api/mix/v1/position/singlePosition?productType=SUMCBL
method:GET
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"marginCoin": "SUSDT",
"symbol": "SBTCSUSDT_SUMCBL",
"holdSide": "long",
"openDelegateCount": "0",
"margin": "0",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 6,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "fixed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
},
{
"marginCoin": "SUSDT",
"symbol": "SBTCSUSDT_SUMCBL",
"holdSide": "short",
"openDelegateCount": "0",
"margin": "0",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 20,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "fixed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
}
]
}
模拟盘合约下单接口
请求API接口: /api/mix/v1/order/placeOrder
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/order/placeOrder" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCUSDT_SUMCBL","marginCoin": "SUSDT","size": "0.01","price": "30145.5","side":"open_long","orderType":"limit","timeInForceValue":"normal","clientOid":"myClientOid00001"}'
返回信息:
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
模拟盘合约计划委托下单接口
请求API接口: /api/mix/v1/plan/placePlan
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placePlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT","size": "0.01","executePrice": "31145.5","triggerPrice":"30555.5","side":"open_long","orderType":"limit","triggerType":"market_price","clientOid":"test@483939290000"}'
返回信息:
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
模拟盘合约计划委托下单接口
请求API接口: /api/mix/v1/plan/placePlan
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placePlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT","size": "0.01","executePrice": "31145.5","triggerPrice":"30555.5","side":"open_long","orderType":"limit","triggerType":"market_price","clientOid":"test@483939290000"}'
返回信息:
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
模拟盘合约计划委托撤单接口
请求API接口: /api/mix/v1/plan/cancelPlan
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/plan/cancelPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"803521986049314816","symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT","planType":"loss_plan"}'
返回信息:
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
模拟盘合约计划委托一键撤单接口
请求API接口: /api/mix/v1/plan/cancelPlan
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/plan/cancelAllPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType":"SUMCBL","planType": "profit_plan"}'
planType
- profit_plan
- normal_plan
- loss_plan
- pos_profit
- pos_loss
- track_plan 追踪委托
- moving_plan 移动止盈止损
返回信息:
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
模拟盘合约当前计划委托接口
请求API接口: /api/mix/v1/plan/currentPlan?symbol=SBTCSUSDT_SUMCBL&isPlan=plan
method:GET
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"orderId": "1083162196761448449",
"clientOid": "1083162196761448448",
"symbol": "SBTCSUSDT_SUMCBL",
"marginCoin": "SUSDT",
"size": "0.01",
"executePrice": "0",
"triggerPrice": "26746.5",
"status": "not_trigger",
"orderType": "market",
"planType": "normal_plan",
"side": "buy_single",
"triggerType": "market_price",
"presetTakeProfitPrice": "0",
"presetTakeLossPrice": "0",
"rangeRate": "",
"enterPointSource": "API",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"reduceOnly": false,
"cTime": "1693971912565",
"uTime": null
}
]
}
模拟盘合约历史计划委托接口
请求API接口: /api/mix/v1/plan/historyPlan?symbol=SBTCSUSDT_SUMCBL&startTime=1659406928000&endTime=1659414128000&pageSize=20
method:GET
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1693981786695,
"data": [
{
"orderId": "1048210602999750657",
"clientOid": "1048210602999750656",
"executeOrderId": "1048508364888899593",
"symbol": "SBTCSUSDT_SUMCBL",
"marginCoin": "SUSDT",
"size": "0.001",
"executePrice": "27500",
"triggerPrice": "27200",
"status": "triggered",
"orderType": "limit",
"planType": "normal_plan",
"side": "sell_single",
"triggerType": "market_price",
"presetTakeProfitPrice": "0",
"presetTakeLossPrice": "0",
"rangeRate": null,
"enterPointSource": "API",
"tradeSide": "sell_single",
"holdMode": "single_hold",
"reduceOnly": false,
"executeTime": "1685709795259",
"executeSize": "0.001",
"cTime": "1685638803243",
"uTime": "1685709795259"
}
]
}
模拟盘合约订单详情
请求API接口: /api/mix/v1/order/detail?symbol=SBTCSUSDT_SUMCBL&orderId=1627293504612
method:GET
返回信息:
{
"code":"00000",
"data":{
"symbol":"SBTCUSDT_SUMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"priceAvg":0,
"fee":0,
"price":23999.3,
"state":"canceled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"SUSDT",
"presetTakeProfitPrice":69582.5,
"presetStopLossPrice":21432.5,
"filledAmount":45838,
"orderType":"limit",
"leverage": "6",
"marginMode": "fixed",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"orderSource": "market",
"cTime":1627028708807,
"uTime":1627028717807
},
"msg":"success",
"requestTime":1627300098776
}
模拟盘合约订单成交明细
请求API接口: /api/mix/v1/order/fills?symbol=SBTCSUSDT_SUMCBL&orderId=802382049422487552
method:GET
返回信息:
{
"code":"00000",
"data":[
{
"tradeId":"802377534023585793",
"symbol":"SBTCSUSDT_SUMCBL",
"orderId":"802377533381816325",
"price":"0",
"sizeQty":"0.3247",
"fee":"0E-8",
"side":"burst_close_long",
"fillAmount":"0.3247",
"profit":"0E-8",
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"takerMakerFlag": "taker",
"cTime":"1627027632241"
}
],
"msg":"success",
"requestTime":1627386245672
}
模拟盘合约撤单接口
请求API接口: /api/mix/v1/order/cancel-order
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-order" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "SBTCSUSDT_SUMCBL","marginCoin": "SUSDT"}'
返回信息:
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
模拟盘合约一键全撤订单
请求API接口: /api/mix/v1/order/cancel-all-orders
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-all-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "SUMCBL","marginCoin": "SUSDT"}'
返回信息:
{
"code": "00000",
"data": {
"order_ids": [
"1627293504612"
],
"fail_infos": [
{
"order_id": "",
"err_code": "",
"err_msg": ""
}
]
},
"msg": "success",
"requestTime": 1627293504612
}
模拟盘合约一键全平仓位
请求API接口: /api/mix/v1/order/close-all-positions
method:POST
curl -X POST "https://api.bitget.com/api/mix/v1/order/close-all-positions" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "SUMCBL"}'
返回信息:
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": {
"orderInfo": [
{
"orderId": "1044472355251990528",
"clientOid": "1044472355256184832"
},
{
"orderId": "1044472355256184835",
"clientOid": "1044472355260379136"
}
],
"failure": [],
"result": true
}
}
模拟盘合约全部当前委托
method:GET
请求API接口: /api/mix/v1/order/marginCoinCurrent?productType=SUMCBL&marginCoin=SUSDT
返回信息:
{
"code":"00000",
"data": [
{
"symbol": "SBTCUSDT_SUMCBL",
"size": 0.050,
"orderId": "1044911928892862465",
"clientOid": "xx005",
"filledQty": 0.000,
"fee": 0E-8,
"price": 25500.00,
"state": "new",
"side": "open_long",
"timeInForce": "normal",
"totalProfits": 0E-8,
"posSide": "long",
"marginCoin": "SUSDT",
"presetTakeProfitPrice": 33800.00,
"presetStopLossPrice": 11300.00,
"filledAmount": 0.0000,
"orderType": "limit",
"leverage": "4",
"marginMode": "crossed",
"reduceOnly": false,
"enterPointSource": "API",
"tradeSide": "open_long",
"holdMode": "double_hold",
"orderSource": "normal",
"cTime": "1684852338057",
"uTime": "1684852338057"
}
],
"msg":"success",
"requestTime":1627299486707
}
模拟盘合约全部历史委托
method:GET
请求API接口: /api/mix/v1/order/historyProductType?productType=SUMCB&startTime=1659403328000&endTime=1659410528000&pageSize=20
返回信息:
{
"code":"00000",
"data":{
"nextFlag":false,
"endId":"802355881591844864",
"orderList":[
{
"symbol":"SBTCUSDT_SUMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"fee":0,
"price":23999.3,
"state":"canceled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"SUSDT",
"leverage":"20",
"marginMode":"crossed",
"orderType":"limit",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "open_long",
"holdMode": "double_hold",
"orderSource": "normal",
"cTime": "1665452796883",
"uTime": "1665452797002"
}
]
},
"msg":"success",
"requestTime":1627299486707
}
模拟币websocket
行情订阅
获取产品的最新成交价、买一价、卖一价和24小时交易量等信息,150ms数据更新推送一次数据
订阅参数:
Json
{
"op":"subscribe",
"args":[
{
"instType":"MC",
"channel":"ticker",
"instId":"SBTCSUSDT"
}
]
}
订阅成功返回参数:
Json
{
"event":"subscribe",
"arg":{
"instType":"MC",
"channel":"ticker",
"instId":"SBTCSUSDT"
}
}
推送示例:
{
"action":"snapshot",
"arg":{
"instType":"mc",
"channel":"ticker",
"instId":"SBTCSUSDT"
},
"data":[
{
"instId":"SBTCSUSDT",
"last":"44962.00",
"bestAsk":"44962",
"bestBid":"44961",
"high24h":"45136.50",
"low24h":"43620.00",
"priceChangePercent":"0.02",
"capitalRate":"-0.00010",
"nextSettleTime":1632495600000,
"systemTime":1632470889087,
"markPrice":"44936.21",
"indexPrice":"44959.23",
"holding":"1825.822",
"baseVolume":"39746.470",
"quoteVolume":"1760329683.834",
"openUtc": "17088.5000000000000000",
"chgUTC": "-0.00778",
"symbolType": 1,
"symbolId": "SBTCSUSDT_SUMCBL",
"deliveryPrice": "0",
"bidSz": "10.344",
"askSz": "3.024"
}
]
}
深度订阅
获取深度数据
订阅参数:
Json
{
"op":"subscribe",
"args":[
{
"instType":"mc",
"channel":"books5",
"instId":"SBTCSUSDT"
}
]
}
订阅成功返回参数:
Json
{
"event":"subscribe",
"arg":{
"instType":"mc",
"channel":"books5",
"instId":"SBTCSUSDT"
}
}
推送示例:
{
"action": "snapshot",
"arg": {
"instType": "MC",
"channel": "books",
"instId": "BTCUSDT"
},
"data": [ {
"asks": [
[44849.3, 0.0031]
],
"bids": [
[44845.2, 0.725]
],
"checksum":" -1638549107",
"ts": "1628826748009"
} ]
}
RestAPI
行情接口
合约信息接口
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/contracts
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/contracts?productType=umcbl"
返回数据
{
"code": "00000",
"data": [
{
"baseCoin": "BTC",
"baseCoinDisplayName": "BTC",
"buyLimitPriceRatio": "0.01",
"feeRateUpRatio": "0.005",
"makerFeeRate": "0.0002",
"minTradeNum": "0.001",
"openCostUpRatio": "0.01",
"priceEndStep": "5",
"pricePlace": "1",
"quoteCoin": "USDT",
"quoteCoinDisplayName": "USDT",
"sellLimitPriceRatio": "0.01",
"sizeMultiplier": "0.001",
"supportMarginCoins": [
"USDT"
],
"symbol": "BTCUSDT_UMCBL",
"symbolDisplayName": "BTCUSDT",
"takerFeeRate": "0.0006",
"volumePlace": "3",
"symbolType":"delivery",
"symbolStatus": "normal",
"offTime": "-1",
"limitOpenTime": "-1"
}
],
"msg": "success",
"requestTime": 1627114525850
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品id |
symbolName | 产品名称,可能为空 |
symbolDisplayName | 产品展示名称,可能为空 |
baseCoin | 左币 |
quoteCoin | 右币 |
baseCoinDisplayName | 左币展示名称 |
quoteCoinDisplayName | 右币展示名称 |
buyLimitPriceRatio | 买价限价比例 |
sellLimitPriceRatio | 卖价限价比例 |
feeRateUpRatio | 手续费上浮比例 |
makerFeeRate | market手续费率 |
takerFeeRate | taker手续费率 |
openCostUpRatio | 开仓成本上浮比例 |
supportMarginCoins | 支持保证金币种 |
minTradeNum | 最小开单数量(左币) |
priceEndStep | 价格步长 |
volumePlace | 数量小数位 |
pricePlace | 价格小数位 |
sizeMultiplier | 数量乘数 下单数量要大于 minTradeNum 并且满足 sizeMultiplier 的倍数 |
symbolType | 合约类型 perpetual 永续 delivery交割 |
symbolStatus | Symbol Status |
offTime | 下架时间, '-1' 表示正常 |
limitOpenTime | 限制开仓时间, '-1' 表示正常; 其它值表示symbol正在/计划维护,指定时间后禁止交易 |
深度行情接口
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/depth
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
limit | String | 否 | 深度档位 100,5 15 50 100 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/depth?symbol=BTCUSDT_UMCBL&limit=100"
返回数据
{
"code":"00000",
"data":{
"asks":[
[
"30002",
"0.2300000000000000"
],
[
"30002.5",
"0.91"
],
[
"30003",
"0.18"
]
],
"bids":[
[
"29987",
"0.28"
],
[
"300",
"0.3333000000000000"
]
],
"timestamp":"1627115809358"
},
"msg":"success",
"requestTime":1627115809358
}
返回的量价数值可能用科学计数法表示
["1.937E+4","156.814"]
["0.000010934","1.2224E+8"]
请调整您的代码以处理用科学计数法表示的返回值
获取合并深度数据
限速规则:20次/1s
HTTP请求 获取合并深度数据
- GET /api/mix/v1/market/merge-depth
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 交易对名称,例:BTCUSDT_UMCBL |
precision | String | 否 | 价格精度,根据选择的精度作为步长返回累计深度,枚举值:scale0/scale1/scale2/scale3,scale0 不合并,默认值,一般情况下,scale1为交易对报价精度*10的合并深度,一般情况下,scale2为报价精度*100,scale3为报价精度*1000,0/1/2/3对应的精度以实际返回参数“scale”为准,每个交易对的报价精度都不一样,部分币对并没有scale2,请求该币对不存在的scale将会按照最大scale处理。例:某个交易对只有scale 0/1,当请求scale2时自动降为scale1。 |
limit | String | 否 | 固定档位枚举值:1/5/15/50/max,默认档位100,当实际深度不满足limit时,按实际档位返回,传入max返回该交易对的最大档位 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/merge-depth?symbol=ETHUSDT_UMCBL&precision=scale0&limit=5"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692761045039,
"data": {
"asks": [
[
1842.2,
0.100
],
[
1842.3,
3.176
],
[
1842.8,
7.428
],
[
1843.3,
6.128
],
[
1843.8,
2.747
]
],
"bids": [
[
1841.8,
0.519
],
[
1841.3,
2.931
],
[
1840.8,
8.622
],
[
1840.3,
1.018
],
[
1839.8,
4.112
]
],
"ts": "1692761045063",
"scale": "0.1",
"precision": "scale0",
"isMaxPrecision": "NO"
}
}
返回值说明
参数名 | 参数类型 | 字段说明 |
---|---|---|
asks | Array | 当前价位的所有买单,如["38084.5","0.5"] 中,"38084.5"代表深度价格,"0.5"代表基础币数量 |
bids | Array | 当前价位的所有卖单 |
precision | String | 当前档位,例:scale 1 |
scale | String | 实际的精度值,例:0.1 |
isMaxPrecision | String | YES 表示当前已经是最大精度,NO 非最大精度 |
ts | String | 当前深度对应的时间 |
单个Ticker行情获取
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/ticker
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/ticker?symbol=BTCUSDT_UMCBL"
返回数据
{
"code": "00000",
"msg": "success",
"data": {
"symbol": "BTCUSDT_UMCBL",
"last": "23990.5",
"bestAsk": "23991",
"bestBid": "23989.5",
"bidSz": "2.154",
"askSz": "176.623",
"high24h": "24131.5",
"low24h": "23660.5",
"timestamp": "1660705778888",
"priceChangePercent": "0.00442",
"baseVolume": "156243.358",
"quoteVolume": "3735854069.908",
"usdtVolume": "3735854069.908",
"openUtc": "23841.5",
"chgUtc": "0.00625",
"indexPrice": "22381.253737",
"fundingRate": "0.000072",
"holdingAmount": "85862.241"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
last | 最新价 |
bestAsk | 卖一价 |
bestBid | 买一价 |
bidSz | 买一量 |
askSz | 卖一量 |
high24h | 24小时最高价 |
low24h | 24小时最低价 |
timestamp | 时间戳(毫秒) |
priceChangePercent | 价格涨跌幅(24小时) |
baseVolume | 交易币交易量 |
quoteVolume | 计价币交易量 |
usdtVolume | usdt成交量 |
openUtc | UTC0 开盘价 |
chgUtc | UTC0 24小时涨跌幅 |
indexPrice | 指数价格 |
fundingRate | 资金费率 |
holdingAmount | 当前持仓, 单位是base coin |
全部Ticker行情获取
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/tickers
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/tickers?productType=umcbl"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [{
"symbol": "BTCUSDT_UMCBL",
"last": "23990.5",
"bestAsk": "23991",
"bestBid": "23989.5",
"bidSz": "2.154",
"askSz": "176.623",
"high24h": "24131.5",
"low24h": "23660.5",
"timestamp": "1660705778888",
"priceChangePercent": "0.00442",
"baseVolume": "156243.358",
"quoteVolume": "3735854069.908",
"usdtVolume": "3735854069.908",
"openUtc": "23841.5",
"chgUtc": "0.00625",
"indexPrice": "22381.253737",
"fundingRate": "0.000072",
"holdingAmount": "85862.241"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 必须大写 |
last | 最新价 |
bestAsk | 卖一价 |
bestBid | 买一价 |
bidSz | 买一量 |
askSz | 卖一量 |
high24h | 24小时最高价 |
low24h | 24小时最低价 |
timestamp | 时间戳(毫秒) |
priceChangePercent | 价格涨跌幅(24小时) |
baseVolume | 交易币交易量 |
quoteVolume | 计价币交易量 |
usdtVolume | usdt成交量 |
openUtc | UTC0 开盘价 |
chgUtc | UTC0 24小时价格涨跌幅 |
indexPrice | 指数价格 |
fundingRate | 资金费率 |
holdingAmount | 当前持仓, 单位是base coin |
VIP费率
限速规则:10次/1s
HTTP请求
获取VIP费率数据
- GET /api/mix/v1/market/contract-vip-level
请求示例
curl "https://api.bitget.com/api/mix/v1/market/contract-vip-level"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1676254232207,
"data": [
{
"level": 1,
"dealAmount": "1000000",
"assetAmount": "50000",
"takerFeeRate": "0.000475",
"makerFeeRate": "0.00006",
"withdrawAmount": "300",
"withdrawAmountUSDT": "5000000"
}
]
}
返回值说明
参数名 | 参数类型 | 是否必须 | 字段说明 |
---|---|---|---|
level | Integer | Yes | VIP等级 |
dealAmount | BigDecimal | Yes | 近30日累计成交额,USDT |
assetAmount | BigDecimal | Yes | 资产总额,USDT |
takerFeeRate | BigDecimal | Yes | taker费率, '0.000425' 表示 万4.25 |
makerFeeRate | BigDecimal | Yes | maker费率, '0.00006' 表示 万0.6 |
withdrawAmount | BigDecimal | Yes | 24小时提币限额 (BTC) |
withdrawAmountUSDT | BigDecimal | Yes | 24小时提币限额 (USDT) |
获取最近成交明细
获取最近100条成交记录
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/fills
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
limit | String | 否 | 查询条数 默认100 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/fills?symbol=BTCUSDT_UMCBL&limit=100"
返回数据
{
"code":"00000",
"data":[
{
"tradeId":"802751431994691585",
"price":"29990.5",
"size":"0.0166",
"side":"sell",
"timestamp":"1627116776464",
"symbol":"BTCUSDT_UMCBL"
},
{
"tradeId":"802750695521046529",
"price":"30007.0",
"size":"0.0166",
"side":"buy",
"timestamp":"1627116600875",
"symbol":"BTCUSDT_UMCBL"
}
],
"msg":"success",
"requestTime":1627116936176
}
返回值说明
返回字段 | 字段说明 |
---|---|
tradeId | tradeId |
price | 价格 |
size | 数量 |
side | 交易方向 |
timestamp | 时间,ms |
symbol | 币对名称 |
获取成交明细
限速规则: 10次/1s (IP)
HTTP请求
获取近30天成交数据,数据会按请求参数缓存10分钟,请修改endTime以获取最近的成交记录
- GET /api/mix/v1/market/fills-history
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
limit | String | 否 | 查询条数 默认500, 最大1000 |
tradeId | String | 否 | 交易ID, 返回小于给定值的记录 |
startTime | String | 否 | 开始时间, ms |
endTime | String | 否 | 结束时间, ms |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/fills-history?symbol=BTCUSDT_UMCBL&limit=12&tradeId=1020224189048217601&startTime&endTime"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"tradeId": "1020224187601182723",
"price": "21341",
"size": "23.296",
"side": "Buy",
"timestamp": "1678966321000",
"symbol": "BTCUSDT_UMCBL"
},
{
"tradeId": "1020224187055923213",
"price": "21341",
"size": "0.804",
"side": "Sell",
"timestamp": "1678966321000",
"symbol": "BTCUSDT_UMCBL"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
tradeId | tradeId, 降序排列 |
price | 价格 |
size | 数量, base coin |
side | 交易方向, Sell/Buy |
timestamp | 时间,ms |
symbol | 币对名称 |
获取K线数据
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/candles
支持‘1m’查询31天内的数据,默认返回100条记录
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
granularity | String | 是 | k线类别 |
startTime | String | 是 | 开始时间(时间戳毫秒,大于等于),根据granularity向下取整, 即granularity=1m时: 1672410799436(2022-12-30 22:33:19) 向下取整为 1672410780000 (2022-12-30 22:33:00) |
endTime | String | 是 | 结束时间(时间戳毫秒,小于等于),根据granularity向下取整, 即granularity=1H时: 1672410799436(2022-12-30 22:33:19) 向下取整为 1672408800000 (2022-12-30 22:00:00) |
kLineType | String | 否 | k线类型:market mark index;默认 market |
limit | String | 否 | 默认 100, 最大 1000 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/candles?symbol=BTCUSDT_UMCBL&granularity=5m&startTime=1659406928000&endTime=1659410528000"
返回数据
[
[
"1627008780000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
],
[
"1627008840000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
]
]
返回值说明
返回字段 | Index |
---|---|
时间戳 | 0 |
开盘价 | 1 |
最高价 | 2 |
最低价 | 3 |
收盘价,最新一个收盘价可能还在持续更新,请订阅websocket跟踪最新价 | 4 |
交易币成交量 | 5 |
计价币成交量 | 6 |
granularity(candles interval)
- 1m(1minute)
- 3m(3minute)
- 5m(5minute)
- 15m(15minute)
- 30m(30minute)
- 1H(1hour)
- 2H (2hour)
- 4H (4hour)
- 6H (6hour)
- 12H (12hour)
- 1D (1day)
- 3D (3day)
- 1W(1week)
- 1M (1month)
- 6Hutc (UTC0 6hour)
- 12Hutc (UTC0 12hour)
- 1Dutc (UTC0 1day)
- 3Dutc (UTC0 3day)
- 1Wutc (UTC0 1 week)
- 1Mutc (UTC0 1 month)
合约历史k线
查询历史k线数据,最大返回200条数据
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/history-candles
请求参数(Request Param)
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品id 必须大写 |
granularity | String | 是 | k线类别 |
startTime | String | 是 | 开始时间,ms |
endTime | String | 是 | 结束时间,ms |
limit | String | 否 | 默认100 最大200 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/history-candles?symbol=BTCUSDT_UMCBL&granularity=5m&endTime=1659410528000"
返回数据
[
[
"1627008780000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
],
[
"1627008840000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
]
]
返回值说明
返回字段Index时间戳0开盘价1最高价2最低价3收盘价4交易币成交量5计价币成交量6
granularity(candles interval)
- 1m(1minute)
- 3m(3minute)
- 5m(5minute)
- 15m(15minute)
- 30m(30minute)
- 1H(1hour)
- 2H (2hour)
- 4H (4hour)
- 6H (6hour)
- 12H (12hour)
- 1D (1day)
- 3D (3day)
- 1W(1week)
- 1M (1month)
- 6Hutc (UTC0 6hour)
- 12Hutc (UTC0 12hour)
- 1Dutc (UTC0 1day)
- 3Dutc (UTC0 3day)
- 1Wutc (UTC0 1 week)
- 1Mutc (UTC0 1 month)
合约指数价格历史k线
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/history-index-candles
请求参数(Request Param)
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品id 必须大写 |
granularity | String | 是 | k线类别 |
endTime | String | 是 | 结束时间 |
limit | String | 否 | 默认100 最大200 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/history-index-candles?symbol=BTCUSDT_UMCBL&granularity=5m&endTime=1659410528000"
返回数据
[
[
"1627008780000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
],
[
"1627008840000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
]
]
返回值说明
返回字段Index时间戳0开盘价1最高价2最低价3收盘价4交易币成交量5计价币成交量6
granularity(candles interval)
- 1m(1minute)
- 3m(3minute)
- 5m(5minute)
- 15m(15minute)
- 30m(30minute)
- 1H(1hour)
- 2H (2hour)
- 4H (4hour)
- 6H (6hour)
- 12H (12hour)
- 1D (1day)
- 3D (3day)
- 1W(1week)
- 1M (1month)
- 6Hutc (UTC0 6hour)
- 12Hutc (UTC0 12hour)
- 1Dutc (UTC0 1day)
- 3Dutc (UTC0 3day)
- 1Wutc (UTC0 1 week)
- 1Mutc (UTC0 1 month)
合约标记价格历史k线
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/history-mark-candles
请求参数(Request Param)
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品id 必须大写 |
granularity | String | 是 | k线类别 |
endTime | String | 是 | 结束时间 |
limit | String | 否 | 默认100 最大200 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/history-mark-candles?symbol=BTCUSDT_UMCBL&granularity=5m&endTime=1659410528000"
返回数据
[
[
"1627008780000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
],
[
"1627008840000",
"24016",
"24016",
"24016",
"24016",
"0",
"0"
]
]
返回值说明
返回字段Index时间戳0开盘价1最高价2最低价3收盘价4交易币成交量5计价币成交量6
granularity(candles interval)
- 1m(1minute)
- 3m(3minute)
- 5m(5minute)
- 15m(15minute)
- 30m(30minute)
- 1H(1hour)
- 2H (2hour)
- 4H (4hour)
- 6H (6hour)
- 12H (12hour)
- 1D (1day)
- 3D (3day)
- 1W(1week)
- 1M (1month)
- 6Hutc (UTC0 6hour)
- 12Hutc (UTC0 12hour)
- 1Dutc (UTC0 1day)
- 3Dutc (UTC0 3day)
- 1Wutc (UTC0 1 week)
- 1Mutc (UTC0 1 month)
获取币种指数
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/index
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/index?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"index":"35000",
"timestamp":"1627291836179"
},
"msg":"success",
"requestTime":1627291836179
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
index | 指数价格 |
timestamp | 时间戳 |
获取合约下一次结算时间
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/funding-time
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/funding-time?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"fundingTime":"1627311600000"
},
"msg":"success",
"requestTime":1627291915767
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
fundingTime | 下次结算时间 |
获取历史资金费率
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/history-fundRate
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
pageSize | int | 否 | 查询条数 默认20 |
pageNo | Int | 否 | 页码 |
nextPage | Boolean | 否 | 是否查询下一页 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/history-fundRate?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":[
{
"symbol":"BTCUSDT",
"fundingRate":"0",
"settleTime":"1627369200000"
}
],
"msg":"success",
"requestTime":1627389063463
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
fundingRate | 资金费率 |
settleTime | 结算时间 |
获取当前资金费率
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/current-fundRate
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/current-fundRate?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"fundingRate":"0.0002"
},
"msg":"success",
"requestTime":1627291969594
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
fundingRate | 当前资金费率 |
获取平台总持仓量
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/open-interest
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/open-interest?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"amount":"757.8338",
"timestamp":"1627292005913"
},
"msg":"success",
"requestTime":1627292005913
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
amount | 平台总持仓量 |
timsetamp | 时间戳(毫秒) |
获取合约标记价格
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/mark-price
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/mark-price?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"markPrice":"35000",
"timestamp":"1627292076687"
},
"msg":"success",
"requestTime":1627292076687
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
markPrice | 标记价格 |
timsetamp | 时间戳(毫秒) |
获取交易对支持的杠杆
限速规则: 20次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/symbol-leverage
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/symbol-leverage?symbol=BTCUSDT_UMCBL"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"minLeverage":"1",
"maxLeverage":"125"
},
"msg":"success",
"requestTime":1627292076687
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
minLeverage | 最小杠杆 |
maxLeverage | 最大杠杆 |
获取仓位档位梯度配置
限速规则: 10次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/queryPositionLever
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
symbol | String | 是 | 币对ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/market/queryPositionLever?symbol=BTCUSDT_UMCBL&productType=UMCBL"
返回数据
{
"code":"00000",
"data":[
{
"level": 1,
"startUnit": 0,
"endUnit": 150000,
"leverage": 125,
"keepMarginRate": "0.004"
}
],
"msg":"success",
"requestTime":1627292076687
}
返回值说明
返回字段 | 字段说明 |
---|---|
level | 阶梯档位 |
startUnit | 价值下限 |
endUnit | 价值上限 |
leverage | 杠杆倍数 |
keepMarginRate | 维持保证金率,持仓档位对应的数值,当仓位的保证金率小于维持保证金率时,将会触发强制减仓或爆仓 |
获取风控条款
限速规则: 10次/1s (IP)
HTTP请求
- GET /api/mix/v1/market/open-limit
请求示例
curl "/api/mix/v1/market/open-limit"
返回数据
{
"code": "00000",
"data": [
{
"symbol": "BTCUSDT_UMCBL",
"posLimit": "0.05"
},
{
"symbol": "ETHUSDT_UMCBL",
"posLimit": "0.05"
}
],
"msg": "success",
"requestTime": 1627292076687
}
返回值说明
字段 | 描述 |
---|---|
symbol | 交易对 |
posLimit | 持仓限制 |
账户接口
单个币种账户信息
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/account/account
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 |
请求示例
curl "https://api.bitget.com/api/mix/v1/account/account?symbol=BTCUSDT_UMCBL&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":{
"marginCoin":"USDT",
"locked":0,
"available":13168.86110692,
"crossMaxAvailable":13168.86110692,
"fixedMaxAvailable":13168.86110692,
"maxTransferOut":13168.86110692,
"equity":13178.86110692,
"usdtEquity":13178.861106922,
"btcEquity":0.344746495477,
"crossRiskRate":0,
"crossMarginLeverage":20,
"fixedLongLeverage":20,
"fixedShortLeverage":20,
"marginMode":"crossed",
"holdMode":"double_hold",
"unrealizedPL": null,
"crossedUnrealizedPL": null,
"isolatedUnrealizedPL": null,
"bonus": "0"
},
"msg":"success",
"requestTime":1627292199523
}
返回值说明
返回字段 | 字段说明 |
---|---|
marginCoin | 保证金币种 |
locked | 锁定数量(保证金币种),有平仓单时会lock |
available | 账户可用数量 |
crossMaxAvailable | 全仓最大可用来开仓余额(保证金币种) |
fixedMaxAvailable | 逐仓最大可用来开仓余额(保证金币种) |
maxTransferOut | 最大可转出 |
equity | 账户权益(保证金币种),包含未实现盈亏(根据mark price计算) |
usdtEquity | 折算USDT账户权益 |
btcEquity | 折算BTC账户权益 |
crossRiskRate | 全仓时风险率 |
crossMarginLeverage | 全仓时杠杆倍数 |
fixedLongLeverage | 逐仓时多头杠杆 |
fixedShortLeverage | 逐仓时空头杠杆 |
marginMode | 保证金模式 |
holdMode | 持仓模式 |
unrealizedPL | 全仓未实现盈亏,USDT |
crossedUnrealizedPL | 当前币对下全仓未实现盈亏,USDT |
isolatedUnrealizedPL | 当前币对下逐仓未实现盈亏,USDT |
bonus | 体验金 |
获取账户信息列表
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/account/accounts
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
请求示例
curl "https://api.bitget.com/api/mix/v1/account/accounts?productType=umcbl" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"marginCoin":"USDT",
"locked":"0.31876482",
"available":"10575.26735771",
"crossMaxAvailable":"10580.56434289",
"fixedMaxAvailable":"10580.56434289",
"maxTransferOut":"10572.92904289",
"equity":"10582.90265771",
"usdtEquity":"10582.902657719473",
"btcEquity":"0.204885807029",
"crossRiskRate": "0",
"unrealizedPL": null,
"bonus": "0"
}
],
"msg":"success",
"requestTime":1630901215622
}
返回值说明
返回字段 | 字段说明 |
---|---|
marginCoin | 保证金币种 |
locked | 锁定数量(保证金币种) |
available | 账户可用数量 |
crossMaxAvailable | 全仓最大可用来开仓余额(保证金币种) |
fixedMaxAvailable | 逐仓最大可用来开仓余额(保证金币种) |
maxTransferOut | 最大可转出 |
equity | 账户权益(保证金币种),包含未实现盈亏(根据mark price计算) |
usdtEquity | 折算USDT账户权益 |
btcEquity | 折算BTC账户权益 |
crossRiskRate | 全仓时风险率 |
unrealizedPL | 未实现盈亏 |
bonus | 体验金 |
获取所有子账户合约资产信息
限速规则: 1次/10s (uid)
HTTP请求
- POST /api/mix/v1/account/sub-account-contract-assets
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/sub-account-contract-assets" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "umcbl"}'
返回数据
{
"code":"00000",
"data":[
{
"userId": 4351550450,
"contractAssetsList": [
{
"marginCoin": "USDT",
"locked": "0",
"available": "23.123",
"crossMaxAvailable": "23.123",
"fixedMaxAvailable": "23.123",
"maxTransferOut": "23.123",
"equity": "23.123",
"usdtEquity": "23.123",
"btcEquity": "0.001403612744",
"unrealizedPL": "0",
"bonus": null
}
]
},
{
"userId": 9465254769,
"contractAssetsList": [
{
"marginCoin": "USDT",
"locked": "0",
"available": "11",
"crossMaxAvailable": "11",
"fixedMaxAvailable": "11",
"maxTransferOut": "11",
"equity": "11",
"usdtEquity": "11",
"btcEquity": "0.000667722189",
"unrealizedPL": "0",
"bonus": null
}
]
}
],
"msg":"success",
"requestTime":1630901215622
}
返回值说明
返回字段 | 字段说明 |
---|---|
marginCoin | 保证金币种 |
locked | 锁定数量(保证金币种) |
available | 账户可用数量 |
crossMaxAvailable | 全仓最大可用来开仓余额(保证金币种) |
fixedMaxAvailable | 逐仓最大可用来开仓余额(保证金币种) |
maxTransferOut | 最大可转出 |
equity | 账户权益(保证金币种) |
usdtEquity | 折算USDT账户权益 |
btcEquity | 折算BTC账户权益 |
unrealizedPL | 未平仓损益 |
bonus | 体验金 |
获取可开数量
限速规则: 20次/1s (IP)
此接口只是默认用户没有持仓时,来计算能开仓的最大可开数量,结果并不代表实际开仓数量
HTTP请求
- POST /api/mix/v1/account/open-count
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 |
openPrice | BigDecimal | 是 | 开仓价格 |
leverage | BigDecimal | 否 | 杠杆倍数默认20 |
openAmount | BigDecimal | 是 | 开仓金额 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/open-count" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","openPrice": "23189.5","leverage": "20","openAmount":"5000"}'
返回数据
{
"code":"00000",
"data":{
"openCount":"2000"
},
"msg":"success",
"requestTime":1627293049406
}
调整杠杆
限速规则: 5次/1s (uid)
HTTP请求
- POST /api/mix/v1/account/setLeverage
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
leverage | String | 是 | 杠杆倍数 |
holdSide | String | 否 | 持仓方向(全仓不传) |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/setLeverage" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","leverage": "20"}'
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"marginCoin":"USDT",
"longLeverage":25,
"shortLeverage":20,
"marginMode":"crossed"
},
"msg":"success",
"requestTime":1627293049406
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
longLeverage | 多仓杠杆 |
shortLeveage | 空仓杠杆 |
marginMode | 保证金模式 |
- holdSide
- long 多仓
- short 空仓
调整保证金
限速规则: 5次/1s (uid)
全仓时, 保证金不能调整
HTTP请求
- POST /api/mix/v1/account/setMargin
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
holdSide | String | 否 | 持仓方向(全仓不传) |
amount | String | 是 | 保证金金额 正增加 负减少 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/setMargin" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","amount": "-10"}'
返回数据
{
"code":"00000",
"data":{
"result":true
},
"msg":"success",
"requestTime":1627293357336
}
holdSide
- long 多仓
- short 空仓
调节保证金模式
限速规则: 5次/1s (uid)
HTTP请求
- POST /api/mix/v1/account/setMarginMode
请求参数(Request Body)
有持仓或委托时不能调用本接口
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
marginMode | String | 是 | 保证金模式 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/setMarginMode" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","marginMode": "corssed"}'
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"marginCoin":"USDT",
"longLeverage":25,
"shortLeverage":20,
"marginMode":"corssed"
},
"msg":"success",
"requestTime":1627293445916
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
longLeverage | 多仓杠杆 |
shortLeveage | 空仓杠杆 |
marginMode | 保证金模式 |
- marginMode
- fixed 逐仓模式
- crossed 全仓模式
逐仓自动追加保证金
限速规则: 5次/1s (uid)
HTTP请求
- POST /api/mix/v1/account/set-auto-margin
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
holdSide | String | 是 | 持仓方向 long/short |
autoMargin | String | 是 | 开关 on/off |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/set-auto-margin" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","holdSide": "long","autoMargin":"on"}'
返回数据
{
"code":"00000",
"data":"success",
"msg":"success",
"requestTime":1627293445916
}
调节单双向持仓模式
注意:产品类型下有仓位/委托时不能调整持仓模式,变换用户在 所有symbol 合约上的持仓模式:双向持仓或单向持仓。
限速规则: 5次/1s (uid)
HTTP请求
- POST /api/mix/v1/account/setPositionMode
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
holdMode | String | 是 | 单双向持仓模式:"single_hold"或"double_hold" |
指定productType任意币对任意side存在仓位/委托的情况下,请求会失败
{
"code": "40920",
"msg": "Currently holding a position, the position mode cannot be switched",
"requestTime": 1675335833730,
"data": null
}
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/account/setPositionMode" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "umcbl","holdMode": "double_hold"}'
返回数据
{
"code":"00000",
"msg":"success",
"data":{
"symbol":"BTCUSDT_UMCBL",
"marginCoin":"USDT",
"dualSidePosition":true
},
"requestTime":1627293445916
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
dualSidePosition | boolean, true: 双向持仓; false: 单向持仓 |
获取单个合约仓位信息
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/position/singlePosition
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/position/singlePosition?symbol=BTCUSDT_UMCBL&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"marginCoin":"USDT",
"symbol":"BTCUSDT_UMCBL",
"holdSide":"long",
"openDelegateCount":"0",
"margin":"10",
"autoMargin":"off",
"available":"0",
"locked":"0",
"total":"0",
"leverage":25,
"achievedProfits":"0",
"averageOpenPrice":"0",
"marginMode":"fixed",
"holdMode":"double_hold",
"unrealizedPL":"0",
"marketPrice":"0",
"keepMarginRate":"0.0015",
"cTime":"1626232130664"
}
],
"msg":"success",
"requestTime":1627293612502
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
holdSide | 持仓方向 |
openDelegateCount | 当前委托待成交的数量(交易币) |
margin | 保证金数量 (保证金币种) |
autoMargin | 自动追加保证金: off on |
available | 仓位可用(计价币) |
locked | 仓位冻结(计价币) |
total | 仓位总数量(available + locked) |
leverage | 杠杆倍数 |
achievedProfits | 已实现盈亏 |
averageOpenPrice | 平均开仓价 |
marginMode | 保证金模式 |
holdMode | 持仓模式 |
unrealizedPL | 未实现盈亏 |
keepMarginRate | 维持保证金率 |
marketPrice | 标记价格 |
cTime | 最近更新时间 时间戳 毫秒 |
获取单个合约仓位信息V2
此接口只返回持仓的仓位信息,并且返回预估爆仓价
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/position/singlePosition-v2
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/position/singlePosition-v2?symbol=BTCUSDT_UMCBL&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"marginCoin": "USDT",
"symbol": "BTCUSDT_UMCBL",
"holdSide": "long",
"openDelegateCount": "0",
"margin": "0",
"autoMargin":"off",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 10,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "crossed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
},
{
"marginCoin": "USDT",
"symbol": "BTCUSDT_UMCBL",
"holdSide": "short",
"openDelegateCount": "0",
"margin": "0",
"autoMargin":"off",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 10,
"achievedProfits": null,
"averageOpenPrice": null,
"marginMode": "crossed",
"holdMode": "double_hold",
"unrealizedPL": null,
"liquidationPrice": null,
"keepMarginRate": null,
"marketPrice": null,
"cTime": null
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
holdSide | 持仓方向 |
openDelegateCount | 当前委托待成交的数量(交易币) |
margin | 保证金数量 (保证金币种) |
autoMargin | 自动追加保证金: off on |
available | 仓位可用(计价币) |
locked | 仓位冻结(计价币) |
total | 仓位总数量(available + locked) |
leverage | 杠杆倍数 |
achievedProfits | 已实现盈亏 |
averageOpenPrice | 平均开仓价 |
marginMode | 保证金模式 |
holdMode | 持仓模式 |
unrealizedPL | 未实现盈亏 |
liquidationPrice | 预估平仓价 |
keepMarginRate | 维持保证金率 |
marketPrice | 标记价格 |
cTime | 最近更新时间 时间戳 毫秒 |
获取全部合约仓位信息
限速规则: 5次/1s (uid)
HTTP请求
- GET /api/mix/v1/position/allPosition
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
marginCoin | String | 否 | 保证金币种 必须大写 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/position/allPosition?productType=umcbl&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"marginCoin":"USDT",
"symbol":"BTCUSDT_UMCBL",
"holdSide":"long",
"openDelegateCount":"0",
"margin":"10",
"autoMargin":"off",
"available":"0",
"locked":"0",
"total":"0",
"leverage":25,
"achievedProfits":"0",
"averageOpenPrice":"0",
"marginMode":"fixed",
"holdMode":"double_hold",
"unrealizedPL":"0",
"liquidationPrice": "0",
"keepMarginRate":"0.0015",
"marketPrice":"0",
"cTime":"1626232130664",
"uTime": "1626232130664"
}
],
"msg":"success",
"requestTime":1627293612502
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
holdSide | 持仓方向 |
openDelegateCount | 当前委托待成交的数量(交易币) |
margin | 保证金数量 (保证金币种) |
autoMargin | 自动追加保证金: off on |
available | 仓位可用(计价币) |
locked | 仓位冻结(计价币) |
total | 仓位总数量(available + locked) |
leverage | 杠杆倍数 |
achievedProfits | 已实现盈亏 |
averageOpenPrice | 平均开仓价 |
marginMode | 保证金模式 |
holdMode | 持仓模式 |
unrealizedPL | 未实现盈亏 |
liquidationPrice | 预估强平价 |
keepMarginRate | 维持保证金率 |
marketPrice | 标记价格 |
cTime | 最新仓位创建时间 时间戳 毫秒 |
uTime | 最近更新时间 时间戳 毫秒 |
获取全部合约仓位信息V2
此接口只返回持仓的仓位信息,并且返回预估爆仓价
限速规则: 5次/1s (uid)
HTTP请求
- GET /api/mix/v1/position/allPosition-v2
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
marginCoin | String | 否 | 保证金币种 必须大写 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/position/allPosition-v2?productType=umcbl&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"marginCoin": "USDT",
"symbol": "BTCUSDT_UMCBL",
"holdSide": "long",
"openDelegateCount": "0",
"margin": "0",
"autoMargin":"off",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 10,
"achievedProfits": "0",
"averageOpenPrice": "0",
"marginMode": "crossed",
"holdMode": "double_hold",
"unrealizedPL": "0",
"liquidationPrice": "0",
"keepMarginRate": "0.004",
"marketPrice": "28071.34",
"cTime": "1669362331867"
"uTime": "1676426611041"
},
{
"marginCoin": "USDT",
"symbol": "BTCUSDT_UMCBL",
"holdSide": "short",
"openDelegateCount": "0",
"margin": "0",
"autoMargin":"off",
"available": "0",
"locked": "0",
"total": "0",
"leverage": 10,
"achievedProfits": "0",
"averageOpenPrice": "0",
"marginMode": "crossed",
"holdMode": "double_hold",
"unrealizedPL": "0",
"liquidationPrice": "0",
"keepMarginRate": "0.004",
"marketPrice": "28071.34",
"cTime": "1669362331868",
"uTime": "1673426611041"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
marginCoin | 保证金币种 |
holdSide | 持仓方向 |
openDelegateCount | 当前委托待成交的数量(交易币) |
margin | 保证金数量 (保证金币种) |
autoMargin | 自动追加保证金: off on |
available | 仓位可用(计价币) |
locked | 仓位冻结(计价币) |
total | 仓位总数量(available + locked) |
leverage | 杠杆倍数 |
achievedProfits | 已实现盈亏 |
averageOpenPrice | 平均开仓价 |
marginMode | 保证金模式 |
holdMode | 持仓模式 |
unrealizedPL | 未实现盈亏 |
liquidationPrice | 预估强平价 |
keepMarginRate | 维持保证金率 |
marketPrice | 标记价格 |
cTime | 最近仓位创建时间 时间戳 毫秒 |
uTime | 最近更新时间 时间戳 毫秒 |
合约持仓历史记录
仅支持查询3个月以内
限速规则: 20次/1s (uid)
HTTP请求
- GET /api/mix/v1/position/history-position
请求参数(Request Param)
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 否 | 业务类型 默认umcbl 如果传了 symbol 则此字段失效 |
symbol | String | 否 | 交易币对 |
pageSize | Int | 否 | 默认20 最大100 |
startTime | String | 是 | 开始时间,例如:1597026383085 (只允许查询近90天数据) 。(托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间,例如:1597026383011 最大间隔 90天 |
lastEndId | String | 否 | 上一次的 lastEndId |
请求示例
curl "https://api.bitget.com/api/mix/v1/position/history-position?productType=umcbl&startTime=&endTime="
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": {
"list": [
{
"symbol": "ETHUSDT_UMCBL",
"marginCoin": "USDT",
"holdSide": "short",
"openAvgPrice": "1206.7",
"closeAvgPrice": "1206.8",
"marginMode": "fixed",
"openTotalPos": "1.15",
"closeTotalPos": "1.15",
"pnl": "-0.11",
"netProfit": "-1.780315",
"totalFunding": "0",
"openFee": "-0.83",
"closeFee": "-0.83",
"ctime": "1689300233897",
"utime": "1689300238205"
}
],
"endId": "1062308959580516352"
}
}
返回值说明
字段 | 描述 |
---|---|
symbol | 交易对 |
marginCoin | 保证金币种 |
holdSide | 多空方向 |
openAvgPrice | 开仓均价 |
closeAvgPrice | 平仓均价 |
marginMode | 保证金模式 |
openTotalPos | 开仓数量 累计 |
closeTotalPos | 已平仓量 累计 |
pnl | 已实现盈亏 |
netProfit | 净盈亏 |
totalFunding | 资金费用 累计 |
openFee | 仓位开仓总手续费 |
closeFee | 仓位平仓总手续费 |
cTime | 仓位创建时间 |
uTime | 仓位更改时间 |
获取财务记录
获取90天内的数据
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/account/accountBill
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 否 | 产品类型,与symbol二选一 |
symbol | String | 否 | 产品ID 必须大写,废弃,不建议使用 |
business | String | 否 | 账户流水类型 |
marginCoin | String | 是 | 保证金币种 必须大写 |
startTime | String | 是 | 开始时间 (时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) |
pageSize | int | 否 | 显示条数 默认20 最大 100 |
lastEndId | String | 否 | 上次查询的id |
请求示例
curl "https://api.bitget.com/api/mix/v1/account/accountBill?productType=UMCBL&marginCoin=USDT&startTime=1659403328000&endTime=1659406928000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"data": {
"result": [
{
"id": "892962903462432768",
"symbol": "BTCUSDT_UMCBL",
"marginCoin": "USDT",
"amount": "0",
"fee": "-0.1765104",
"feeByCoupon": "",
"feeCoin": "USDT",
"business": "open_long",
"ctime": "1648624867354"
}
],
"endId": "885353495773458432",
"nextFlag": false
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
id | 财务记录号 |
symbol | 产品Id, 可能为null |
marginCoin | 保证金币种 |
amount | 金额 |
fee | 手续费 |
feeByCoupon | 手续费抵扣 |
feeCoin | 手续费币种 |
business | 记录类型 |
cTime | 创建时间 |
lastEndId | 上次查询的Id |
获取业务线财务记录
获取90天内的数据
限速规则: 5次/1s (uid)
HTTP请求
- GET /api/mix/v1/account/accountBusinessBill
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
business | String | 否 | 账户流水操作类型 |
startTime | String | 是 | 开始时间 (时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) |
pageSize | int | 否 | 显示条数 默认20 最大 100 |
lastEndId | String | 否 | 上次查询的id |
next | boolean | 否 | 是否查询下一页 默认false |
请求示例
curl "https://api.bitget.com/api/mix/v1/account/accountBusinessBill?productType=umcbl&startTime=1659403328000&endTime=1659406928000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"data": {
"result": [
{
"id": "892962903462432768",
"symbol": "ETHUSDT_UMCBL",
"marginCoin": "USDT",
"amount": "0",
"fee": "-0.1765104",
"feeByCoupon": "",
"feeCoin": "USDT",
"business": "open_long",
"ctime": "1648624867354"
}
],
"endId": "885353495773458432",
"nextFlag": false,
"preFlag": false
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
id | 财务记录号 |
symbol | 产品Id |
marginCoin | 保证金币种 |
amount | 金额 |
fee | 手续费 |
feeByCoupon | 手续费抵扣 |
feeCoin | 手续费币种 |
business | 记录类型 |
cTime | 创建时间 |
lastEndId | 上次查询的Id |
交易接口
下单
限速规则: 10次/1s (uid)
交易员限速规则: 1次/1s (uid)
如果你是交易员只能使用此接口进行开仓, 平仓操作需要调用 跟单接口
-> 交易员平仓接口
交易员下了多个限价单/计划委托,在同一秒内触发时,先成交的订单会带单,其余订单不会带单
下单的价格和数量需要满足 pricePlace
和 priceEndStep
volumePlace
sizeMultiplier
minTradeNum
, 此字段从 行情接口
-> 合约信息接口
举例说明:
BTCUSDT_UMCBL
的 pricePlace
为 1 , priceEndStep
为 5, 则下单时委托的价格需要满足 0.5的倍数, 比如价格应该是 23455.0, 23455.5, 23446.0
volumePlace
是数量小数位, minTradeNum
是最小下单数量, sizeMultiplier
是数量乘数,下单数量要满足 大于minTradeNum
并且满足 sizeMultiplier
的倍数
如果仓位数量小于最小下单数量,则平仓时下单数量输入仓位剩余数量就可以平仓。但是如果仓位数量大于最小下单数量,则下单时必须满足最小下单数量。
会有两种情况出现此错误,
- 账户余额不足
- 当前交易对当前杠杆仓位梯度已满,具体仓位梯度请参考 这里
平仓常见异常:
可能的原因有两个
- 仓位为0
- 仓位不为0,但平仓时指定的side错误,如当前持多仓,但平仓指令side=close_short
双向持仓时,当平仓时指定的size大于持仓size时,下单会成功,持仓仓位会全平,即:只减仓,不会反向开仓。
单向持仓+非只减仓
- 您持有 1.0 个 BTCUSDT 多仓
- 尝试以市场价(Market Price) sell 3.0个 BTCUSDT
- 下单接口会返回成功,1.0 个 BTCUSDT 多仓会平仓,空仓开 2.0个BTCUSDT
单向持仓+只减仓
- 您持有 1.0 个 BTCUSDT 多仓
- 尝试以市场价(Market Price) sell 2.0个 BTCUSDT
- 下单接口会返回失败
- 尝试以市场价(Market Price) sell 0.5个 BTCUSDT
- 下单接口会返回成功,仓位变化为0.5个 BTCUSDT 多仓
- 尝试以市场价(Market Price) sell 0.5个 BTCUSDT
- 下单接口会返回成功,仓位变化为0
未知错误
HTTP请求
- POST /api/mix/v1/order/placeOrder
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/placeOrder" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","size": "0.01","price": "23145.5","side":"open_long","orderType":"limit","timeInForceValue":"normal","clientOid":"test@483939290000"}'
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
size | String | 是 | 下单数量,base coin |
price | String | 否 | 下单价格(市价时不传) |
side | String | 是 | 开单方向 |
orderType | String | 是 | 订单类型 limit/market |
timeInForceValue | String | 否 | 订单有效期 |
clientOid | String | 否 | 客户端标识 唯一 |
reduceOnly | Boolean | 否 | 默认false; 只减仓,单向持仓平仓时仓位价值小于5USDT则需要设置为true, 双向持仓时不生效 |
presetTakeProfitPrice | String | 否 | 预设止盈价格 |
presetStopLossPrice | String | 否 | 预设止损价格 |
返回数据
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单Id,可能为null,单项持仓限价单平仓,如果当前仓位存在未成交的平仓单,则在此下平仓单时 下单size 大于等于 当前仓位可平数量,则会取消之前的平仓单,重新异步下单,则此时接口响应 orderId 为null, 请以 下单时 clientOid 为主 |
clientOid | 客户端自定义Id |
如果客户端没有传递 clientOid 字段,需要提醒用户注意订单可能会重复。因为这个字段是客户端和服务器之间唯一的幂等承诺字段。
clientOid重复时响应示例
{
"code":"40786",
"msg":"Duplicate clientOid",
"requestTime":1627293504612
}
- side
- open_long
- open_short
- close_long
- close_short
- buy_single
- sell_single
- timeInForceValue
- normal 成交为止 订单会一直有效,直到被成交或者取消。
- post_only 只做marker
- fok 无法全部立即成交就撤销
- ioc 无法立即成交的部分就撤销
- orderType
- limit
- market
一键反手
限速规则: 10次/1s (uid) - 与下单共同计算频率
单/双向持仓模式下的反手逻辑是不同的:
双向持仓模式:
)通常需要指定size(size值介于0和position size之间), 指定的size会市价平仓,并在反向市价开仓
2)side值:close_short 或 close_long
单向持仓模式:
1)size参数会被忽略,此时只能市价全平,然后按同样数量的size反向市价开仓,注意开仓可能会因保证金不足而失败
2)side值:原仓位是 sell_single 则反手时设置为 buy_single;原仓位是buy_single则反手时设置为sell_single
反手操作:已有仓位会市价平仓,然后在反向开同样数量的仓位。
如果平仓的结算金额+可用余额不足以开到指定的反向仓位,或者在开仓时仓位价值不足5U,则市价平仓成功,开仓失败;
反手操作可能因 保证金,市场波动或其它原因失败。
你必须在已持仓的情况下进行反手操作,否则服务器会返回:"可用仓位不足"
Not enough position
{
"code": "40757",
"msg": "可用仓位不足",
"requestTime": 1665454799692,
"data": null
}
反手的size参数通常应设置为原持仓的1倍。例如:原仓位数量为100, 反手下单时应将size设置为100,服务器会平仓100,然后反向市价开仓100
- 反手 - 1倍size
- [反手下单的size] = [市价平仓size] = [反向市价开仓size]
- 原持仓:1 long BTCUSDT
- 反手size: 1 close_long BTCUSDT
- 理想状态下,原持仓1 long BTCUSDT 会市价平仓,反手市价1 short BTCUSDT 开仓
反手的size可以设置为超过原持仓数量的1.5倍甚至3倍或更多,但反手行为和1倍size时一致:服务器会先行市价平仓,然后根据客户的保证金状况进行反向市价建仓,开仓仓位数量和原持仓数量一致(即反手的size超过原持仓1倍的,按1倍处理)
- 反手 - 1.5倍size
- 原持仓:1 long BTCUSDT
- 反手size: 1.50 close_long BTCUSDT
- 理想状态下,原持仓1 long BTCUSDT 会市价平仓,反手市价1 short BTCUSDT 开仓
特别地:反手的size也可以设置为原持仓数量的0倍至1倍之间,假设反手指定0.5倍原持仓size,反手行为则有所不同:服务器会先行市价平多0.5倍的仓位,然后根据客户的保证金状况进行反向市价建仓0.5倍
- 反手 - 0.5倍size
- 原持仓:1 long BTCUSDT
- 反手size: 0.5 close_long BTCUSDT
- 理想状态下,原持仓1 long BTCUSDT 会市价平多0.5,变成0.5个Long BTCUSDT;反手市价short开空0.5 BTCUSDT
orderType
必须指定为 market, 限价单limit在反手中会被当做市价处理
原开仓订单参数
{
"size": "100",
"side": "open_long",
"orderType": "market",
"timeInForceValue": "normal",
"symbol": "TRXUSDT_UMCBL",
"marginCoin": "USDT"
}
反手示例
{
"size": "100",
"side": "close_long",
"orderType": "market",
"timeInForceValue": "normal",
"symbol": "TRXUSDT_UMCBL",
"marginCoin": "USDT",
"reverse":true
}
如原持仓方向为open_long, 则反手操作中应设置参数side
为 close_long;
如原持仓方向为open_short, 则反手操作中应设置参数side
为 close_short;
如原持仓方向为buy_single, 则反手操作中应设置参数side
为 sell_single;
如原持仓方向为sell_single, 则反手操作中应设置参数side
为 buy_single;
右边的示例演示了一个反手操作。理想状态下,你最终应该持仓 100 TRXUSDT short
HTTP请求
- POST /api/mix/v1/order/placeOrder
一键反手与下单共享同一个接口
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | Yes | 产品ID 必须大写 |
marginCoin | String | Yes | 保证金币种 必须大写 |
size | String | No | 下单数量=平仓size=反手开仓size, 单向持仓模式下size参数会补充忽略 |
side | String | Yes | 开单方向 双向持仓:close_long 或 close_short;单向持仓:sell_single 或 buy_single |
orderType | String | Yes | 订单类型: market |
clientOid | String | No | 客户端标识 唯一 |
timeInForceValue | String | No | 订单有效期 |
reverse | Boolean | No | 是否反手订单: 不传时默认为false(正常下单操作); true:表示这是反手操作 |
反手请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/placeOrder" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","size": "0.01","side":"open_long","orderType":"market","timeInForceValue":"normal","clientOid":"reverse@483939290002","reverse":true}'
反手返回数据
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单Id |
clientOid | Client custom Id |
批量下单
限速规则: 10次/1s (uid)
交易员限速规则: 1次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/batch-orders
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
orderDataList | List | 是 | 下单集合,最大长度:50 |
orderDataList
最多50个订单
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
size | String | 是 | 下单数量 |
price | String | 否 | 下单价格 |
side | String | 是 | 开单方向 |
orderType | String | 是 | 订单类型 |
timeInForceValue | String | 否 | 订单有效期 |
clientOid | String | 否 | 客户端标识 唯一 |
presetTakeProfitPrice | String | 否 | 预设止盈价格 |
presetStopLossPrice | String | 否 | 预设止损价格 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/batch-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT", "orderDataList":[{"size": "0.01","price": "23145.5","side":"open_long","orderType":"limit","timeInForceValue":"normal","clientOid":"test@483939290000"}] }'
返回数据
{
"code": "00000",
"data": {
"orderInfo": [
{
"orderId": "1627293504612",
"clientOid": "BITGET#1627293504612"
}
],
"failure":[
{
"orderId": "1627293504611",
"clientOid": "BITGET#1627293504611",
"errorMsg":"Duplicate clientOid"
}
]
},
"msg": "success",
"requestTime": 1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderInfo | 成功下单响应array |
> orderId | 订单Id |
> clientOid | 客户端自定义Id |
failure | 失败下单array |
> orderId | 订单Id |
> clientOid | 客户端自定义Id |
> errorMsg | 错误信息 |
- side
- open_long
- open_short
- close_long
- close_short
timeInForceValue
- normal
- post_only
- fok
- ioc
orderType
- limit
- market
撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/cancel-order
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
orderId | String | 否 | 订单号, int64类型字符串, 'orderId' or 'clientOid' 必需提供一个 |
clientOid | String | 否 | 用户自定义ID, 'orderId' or 'clientOid' 必需提供一个 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-order" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","orderId":"1627293504612"}'
返回数据
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单Id |
clientOid | 客户端自定义Id |
批量撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/cancel-batch-orders
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
orderIds | List | 是 | 订单号集合 |
orderIds | List | 否 | 订单ID list, 字符串类型的int64, 'orderIds' 或 'clientOids' 必需提供一个 |
clientOids | List | 否 | Client Order Id list, 'orderIds' 或 'clientOids' 必需提供一个 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-batch-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","orderIds":["1627293504612"]}'
返回数据
{
"code": "00000",
"data": {
"symbol": "BTCUSDT_UMCBL",
"order_ids": [
"1627293504612"
],
"client_order_ids":[
"xxx001"
],
"fail_infos": [
{
"order_id": "",
"err_code": "",
"err_msg": ""
}
]
},
"msg": "success",
"requestTime": 1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
order_ids | 订单号数组 |
client_order_ids | ClientOid 数组 |
fail_infos | 失败信息集合 |
> order_id | 失败单号 |
> err_code | 错误代码 |
> err_msg | 错误消息 |
修改订单
- 修改
size
和price
只允许双向持仓时使用,单项持仓不允许使用 - 修改
size
和price
会取消之前的订单;异步生成一个新订单, 修改预设止盈止损不会取消之前的订单。 - 修改
size
和price
时请一同传入,不能只传其中一个 - 根据
orderId
或者clientOId
修改订单价格,数量和预设止盈止损 - 只允许修改未成交的限价单,如果修改订单的价格和数量则会取消之前订单重新生成一笔订单,如果
size
和price
和 预设止盈止损同时传入,则 预设止盈止损不生效 - 修改限价单
price
和size
请务必传入newClientOid
因为新订单orderId
无法同步返回, 因此需要根据newClientOid
来帮助您查询订单信息 - 修改订单数量 需要满足最小下单数量
- 如果只修改预设止盈止损,请不要传入
price
和size
,只传止损或止盈则 另外一个会被取消
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/modifyOrder
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 订单号 |
clientOid | String | 否 | 客户端自定义id 如果两个都传 则以orderId 为主 |
newClientOid | String | 否 | 新clientOid |
symbol | String | 是 | 产品ID 必须大写 |
size | String | 否 | 订单数量 |
price | String | 否 | 订单价格 |
presetTakeProfitPrice | String | 否 | 预设止盈价格 |
presetStopLossPrice | String | 否 | 预设止损价格 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/modifyOrder" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"1627293504612","newClientOid":"BITGET#1627293504612","symbol": "BTCUSDT_UMCBL","size":"0.001","price":"26775.5"}'
返回数据
{
"code":"00000",
"data":{
"orderId":"1627293504612",
"clientOid":"BITGET#1627293504612"
},
"msg":"success",
"requestTime":1627293504612
}
按symbol撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/cancel-symbol-orders
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-symbol-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT"}'
返回数据
{
"code": "00000",
"data": {
"symbol": "BTCUSDT_UMCBL",
"order_ids": [
"1627293504612"
],
"client_order_ids":[
"xxx001"
],
"fail_infos": [
{
"order_id": "",
"err_code": "",
"err_msg": ""
}
]
},
"msg": "success",
"requestTime": 1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
order_ids | 订单号数组 |
client_order_ids | ClientOid 数组 |
fail_infos | 失败信息集合 |
> order_id | 失败单号 |
> err_code | 错误代码 |
> err_msg | 错误消息 |
一键全撤
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/cancel-all-orders
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
marginCoin | String | 是 | 保证金币种 必须大写 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/cancel-all-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "umcbl","marginCoin": "USDT"}'
返回数据
{
"code": "00000",
"data": {
"order_ids": [
"627293504612"
],
"client_order_ids": [
"abc123"
],
"fail_infos": [
{
"order_id": "",
"clientOid": "",
"symbol": "",
"err_code": "",
"err_msg": ""
}
]
},
"msg": "success",
"requestTime": 1627293504612
}
返回值说明
返回字段 | 字段说明 |
---|---|
order_ids | 撤销成功订单Id列表 |
client_order_ids | 撤销成功订单Id列表 |
fail_infos | 撤销失败 数组 |
> symbol | 币对 |
> order_id | 订单Id |
> clientOid | client order ID |
> err_code | 错误码 |
> err_msg | 错误详情 |
一键全平
限速规则: 1次/1s (uid)
HTTP请求
- POST /api/mix/v1/order/close-all-positions
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/order/close-all-positions" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType": "umcbl"}'
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": {
"orderInfo": [
{
"symbol": "BTCUSDT_UMCBL",
"orderId": "1044472355251990528",
"clientOid": "1044472355256184832"
},
{
"symbol": "BTCUSDT_UMCBL",
"orderId": "1044472355256184835",
"clientOid": "1044472355260379136"
}
],
"failure": [],
"result": true
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderInfo | 平仓订单列表 |
> symbol | 币对 |
> orderId | 订单Id |
> clientOid | 客户端自定义Id |
failure | 平仓失败订单列表 |
> symbol | 币对 |
> orderId | 订单Id |
> clientOid | 客户端自定义Id |
> errorCode | Error code |
> errorMsg | Error message |
获取当前委托
限速规则: 20次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/current
获取一个symbol的当前委托
注意,历史委托请使用 获取历史委托 接口
止盈止损委托请使用 获取当前计划委托(止盈止损)列表 接口
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/current?symbol=BTCUSDT_UMCBL" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":{
"nextFlag":false,
"endId":"802355881591844864",
"orderList":[
{
"symbol":"BTCUSDT_UMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"fee":0,
"price":23999.3,
"priceAvg": 23999.00,
"state":"filled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"USDT",
"filledAmount": 48.4520,
"leverage": "6",
"marginMode": "fixed",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"orderType":"limit",
"orderSource": "normal",
"cTime": "1678779464831",
"uTime": "1678779464891"
}
]
},
"msg":"success",
"requestTime":1627299486707
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 交易对名称 |
size | 委托数量 |
orderId | 订单号 |
clientOid | 客户端自定义id |
filledQty | 成交数量,左币 |
fee | 手续费 |
price | 委托价格 |
priceAvg | 平均成交价格 |
state | 订单状态 |
side | 开单方向 |
timeInForce | 订单有效期 |
totalProfits | 总盈亏 |
posSide | 持仓方向 long,short,net |
marginCoin | 保证金币种 |
filledAmount | 成交金额, 右币 |
leverage | 杠杆倍数 |
marginMode | Margin mode |
reduceOnly | 是否只减仓 |
enterPointSource | enterPointSource |
tradeSide | Trade Side |
holdMode | Hold mode |
orderType | 订单类型 |
orderSource | orderSource |
cTime | 创建时间 |
uTime | 最近更新时间 |
获取全部当前委托
限速规则: 20次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/marginCoinCurrent
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
marginCoin | String | 是 | 保证金币种 |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/marginCoinCurrent?productType=umcbl&marginCoin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data": [
{
"symbol": "BTCUSDT_UMCBL",
"size": 0.050,
"orderId": "1044911928892862465",
"clientOid": "xx005",
"filledQty": 0.000,
"fee": 0E-8,
"price": 25500.00,
"state": "new",
"side": "open_long",
"timeInForce": "normal",
"totalProfits": 0E-8,
"posSide": "long",
"marginCoin": "USDT",
"presetTakeProfitPrice": 33800.00,
"presetStopLossPrice": 11300.00,
"filledAmount": 0.0000,
"orderType": "limit",
"leverage": "4",
"marginMode": "crossed",
"reduceOnly": false,
"enterPointSource": "API",
"tradeSide": "open_long",
"holdMode": "double_hold",
"orderSource": "normal",
"cTime": "1684852338057",
"uTime": "1684852338057"
}
]
"msg":"success",
"requestTime":1627299486707
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 交易对名称 |
size | 委托数量 |
orderId | 订单号 |
clientOid | 客户端自定义id |
filledQty | 成交数量 |
fee | 手续费 |
price | 委托价格 |
state | 订单状态 |
side | 开单方向 |
timeInForce | 订单有效期 |
totalProfits | 总盈亏 |
posSide | 持仓方向 long,short,net |
marginCoin | 保证金币种 |
orderType | Order type |
presetTakeProfitPrice | 止盈价 |
presetStopLossPrice | 止损价 |
filledAmount | 成交量 |
leverage | 倍数 |
marginMode | marginMode |
reduceOnly | 是否只减仓 |
enterPointSource | enterPointSource |
tradeSide | tradeSide |
holdMode | holdMode |
orderSource | orderSource |
cTime | 创建时间 |
uTime | 更新时间 |
获取历史委托
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/history
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
startTime | String | 是 | 开始时间(时间戳) (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间(时间戳) |
pageSize | String | 是 | 查询条数 |
lastEndId | String | 否 | 上一次的查询orderId |
clientOid | String | 否 | 精确匹配 |
isPre | Boolean | 否 | 是否查询上一页(默认false) |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/history?symbol=BTCUSDT_UMCBL&startTime=1659403328000&endTime=1659410528000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":{
"nextFlag":false,
"endId":"802355881591844864",
"orderList":[
{
"symbol":"BTCUSDT_UMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"fee":0,
"price":23999.3,
"priceAvg": 23999.3,
"state":"filled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"USDT",
"filledAmount": 31.4421,
"leverage":"20",
"marginMode":"crossed",
"orderType":"limit",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "open_long",
"holdMode": "double_hold",
"orderSource": "normal",
"cTime": "1665452796883",
"uTime": "1665452797002"
}
]
},
"msg":"success",
"requestTime":1627299486707
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 交易对名称 |
size | 委托数量 |
orderId | 订单号 |
clientOid | 客户端自定义id |
filledQty | 成交数量,左币 |
fee | 手续费 |
price | 委托价格 |
priceAvg | 成交均价 |
state | 订单状态 |
side | 开单方向 |
timeInForce | 订单有效期 |
totalProfits | 总盈亏 |
posSide | 持仓方向 long,short,net |
marginCoin | 保证金币种 |
filledAmount | 成交金额,右币 |
leverage | 杠杆倍数 |
marginMode | 账户模式 |
orderType | 订单类型 |
reduceOnly | 只减仓 |
enterPointSource | enterPointSource |
tradeSide | 交易方向 |
holdMode | 持仓模式 single_hold 单向持仓,double_hold双向持仓 |
orderSource | orderSource |
cTime | 创建时间 |
uTime | 更新时间 |
获取全部历史委托
限速规则: 5次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/historyProductType
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
startTime | String | 是 | 开始时间(时间戳) (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间(时间戳) |
pageSize | String | 是 | 查询条数, 最大100 |
lastEndId | String | 否 | 上一次的查询orderId |
clientOid | String | 否 | 精确匹配 |
isPre | Boolean | 否 | 是否查询上一页(默认false) |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/historyProductType?productType=umcbl&startTime=1659403328000&endTime=1659410528000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":{
"nextFlag":false,
"endId":"802355881591844864",
"orderList":[
{
"symbol":"BTCUSDT_UMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"fee":0,
"price":23999.3,
"state":"canceled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"USDT",
"leverage":"20",
"marginMode":"crossed",
"orderType":"limit",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "open_long",
"holdMode": "double_hold",
"orderSource": "normal",
"cTime": "1665452796883",
"uTime": "1665452797002"
}
]
},
"msg":"success",
"requestTime":1627299486707
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 交易对名称 |
size | 委托数量 |
orderId | 订单号 |
clientOid | 客户端自定义id |
filledQty | 成交数量 |
fee | 手续费 |
price | 委托价格 |
priceAvg | 成交均价 |
state | 订单状态 |
side | 开单方向 |
timeInForce | 订单有效期 |
totalProfits | 总盈亏 |
posSide | 持仓方向 long,short,net |
marginCoin | 保证金币种 |
leverage | 订单杠杆 |
marginMode | 账户模式 |
orderType | 订单类型 |
reduceOnly | 只减仓 |
enterPointSource | enterPointSource |
tradeSide | 交易方向 |
holdMode | 持仓模式 single_hold 单向持仓,double_hold双向持仓 |
orderSource | orderSource |
cTime | 创建时间 |
uTime | 更新时间 |
获取订单详情
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/detail
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
orderId | String | 否 | 订单号, int64类型字符串, 'orderId' or 'clientOid' 必需提供一个 |
clientOid | String | 否 | 用户自定义ID, 'orderId' or 'clientOid' 必需提供一个 |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/detail?symbol=BTCUSDT_UMCBL&orderId=802382049422487552" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":{
"symbol":"BTCUSDT_UMCBL",
"size":1,
"orderId":"802382049422487552",
"clientOid":"RFIut#1627028708738",
"filledQty":0,
"priceAvg":0,
"fee":0,
"price":23999.3,
"state":"canceled",
"side":"open_long",
"timeInForce":"normal",
"totalProfits":0,
"posSide":"long",
"marginCoin":"USDT",
"presetTakeProfitPrice":69582.5,
"presetStopLossPrice":21432.5,
"filledAmount":45838,
"orderType":"limit",
"leverage": "6",
"marginMode": "fixed",
"reduceOnly": false,
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"orderSource": "market",
"cTime":1627028708807,
"uTime":1627028717807
},
"msg":"success",
"requestTime":1627300098776
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 交易对名称 |
size | 委托数量 |
orderId | 订单号 |
clientOid | 客户端自定义id |
filledQty | 成交数量 |
priceAvg | 成交均价 |
fee | 手续费 |
price | 委托价格 |
state | 订单状态 |
side | 开单方向 |
timeInForce | 订单有效期 |
totalProfits | 总盈亏 |
posSide | 持仓方向 long,short,net |
marginCoin | 保证金币种 |
presetTakeProfitPrice | 预设止盈价格 |
presetStopLossPrice | 预设止损价格 |
filledAmount | 成交额度 |
orderType | 交易类型 limit 限价 market 市价 |
leverage | 杠杆倍数 |
marginMode | Margin Mode(仓位模式) |
reduceOnly | 是否只减仓 |
enterPointSource | enterPointSource |
tradeSide | 交易方向(交易方向) |
holdMode | Hold mode(持仓模式) |
orderSource | orderSource |
cTime | 创建时间, ms |
uTime | 更新时间, ms |
查询成交明细
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/fills
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
orderId | String | 否 | 订单号 |
startTime | String | 否 | 开始时间(时间戳毫秒) 如果orderId为空此字段必传 (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 否 | 结束时间(时间戳毫秒) 如果orderId为空此字段必传 |
lastEndId | String | 否 | 分页参数;上一次查询结果的tradeId,orderId为空时生效 |
请求示例
curl "https://api.bitget.com/api/mix/v1/order/fills?symbol=BTCUSDT_UMCBL&orderId=802382049422487552" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"tradeId":"802377534023585793",
"symbol":"BTCUSDT_UMCBL",
"orderId":"802377533381816325",
"price":"0",
"sizeQty":"0.3247",
"fee":"0E-8",
"side":"burst_close_long",
"fillAmount":"0.3247",
"profit":"0E-8",
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"takerMakerFlag": "taker",
"cTime":"1627027632241"
}
],
"msg":"success",
"requestTime":1627386245672
}
返回值说明
返回字段 | 字段说明 |
---|---|
tradeId | 成交id |
symbol | 交易对名称 |
orderId | 订单号 |
price | 成交价格 |
sizeQty | 成交数量 |
fee | 手续费 |
side | 成交类型 |
fillAmount | 成交量 |
profit | 利润 |
enterPointSource | enterPointSource |
tradeSide | 交易方向 |
holdMode | 持仓模式 single_hold 单向持仓,double_hold双向持仓 |
takerMakerFlag | taker |
cTime | 成交时间 |
side
- open_long
- open_short
- close_long
- close_short
- burst_close_long
- burst_close_short
- offset_close_long
- offset_close_short
查询业务线成交明细
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/order/allFills
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 umcbl 合约业务 dmcbl 币本位 |
startTime | String | 是 | 开始时间(时间戳毫秒) 如果查询全部明细此字段必传 (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间(时间戳毫秒) 如果查询全部明细此字段必传 |
lastEndId | String | 否 | 查询上一次的tradeId |
默认查询100条
请求示例
curl "https://api.bitget.com/api/mix/v1/order/allFills?productType=umcbl&startTime=1659406928000&endTime=1659410528000" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"tradeId":"802377534023585793",
"symbol":"BTCUSDT_UMCBL",
"orderId":"802377533381816325",
"price":"0",
"sizeQty":"0.3247",
"fee":"0E-8",
"side":"burst_close_long",
"fillAmount":"0.3247",
"profit":"0E-8",
"enterPointSource": "WEB",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"takerMakerFlag": "taker",
"cTime":"1627027632241"
}
],
"msg":"success",
"requestTime":1627386245672
}
返回值说明
返回字段 | 字段说明 |
---|---|
tradeId | 成交id |
symbol | 交易对名称 |
orderId | 订单号 |
price | 成交价格 |
sizeQty | 成交数量 |
fee | 手续费 |
side | 成交类型 |
fillAmount | 成交量 |
profit | 利润 |
enterPointSource | enterPointSource |
tradeSide | 交易方向 |
holdMode | 持仓模式 single_hold 单向持仓,double_hold双向持仓 |
takerMakerFlag | taker |
cTime | 成交时间 |
- side
- open_long
- open_short
- close_long
- close_short
- burst_close_long
- burst_close_short
- offset_close_long
- offset_close_short
计划委托下单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/placePlan
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placePlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","size": "0.01","executePrice": "23145.5","triggerPrice":"23555.5","side":"open_long","orderType":"limit","triggerType":"market_price","clientOid":"test@483939290000"}'
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 必须大写 |
size | String | 是 | 下单数量 |
executePrice | String | 否 | 执行价格, orderType=limit时, 必填 |
triggerPrice | String | 是 | 触发价格 |
side | String | 是 | 开单方向 |
orderType | String | 是 | 订单类型 |
triggerType | String | 是 | 触发类型 |
clientOid | String | 否 | 客户端标识 唯一 |
presetTakeProfitPrice | String | 否 | 预设止盈价格 |
presetStopLossPrice | String | 否 | 预设止损价格 |
reduceOnly | String | 否 | 默认false; 只减仓,单向持仓平仓时仓位价值小于5USDT则需要设置为true, 双向持仓时不生效 |
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
- side
- open_long
- open_short
- close_long
- close_short
- buy_single
- sell_single
timeInForceValue
- normal good till cancel
- post_only maker only
- fok full or kill
- ioc instant or cancel
orderType
- limit
- market
triggerType
- fill_price
- market_price
修改计划委托
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/modifyPlan
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 计划委托订单号, 'orderId' 与 'clientOid' 必需提供一个 |
clientOid | String | 否 | 'orderId' 与 'clientOid' 必需提供一个 |
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
executePrice | String | 否 | 执行价格, orderType=limit时, 必填 |
triggerPrice | String | 是 | 触发价格 |
triggerType | String | 是 | 触发类型 |
orderType | String | 是 | 交易类型 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/modifyPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"803521986049314816","symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","executePrice": "23145.5","triggerPrice":"23555.5","orderType":"limit","triggerType":"market_price"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
- orderType
- limit
- market
- triggerType
- fill_price
- market_price
修改计划委托预设止盈止损
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/modifyPlanPreset
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 计划委托订单号, 'orderId' 与 'clientOid' 必需提供一个 |
clientOid | String | 否 | 'orderId' 与 'clientOid' 必需提供一个 |
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
presetTakeProfitPrice | String | 否 | 止盈价格 如果为空则取消止盈 |
presetStopLossPrice | String | 否 | 止损价格 如果为空则取消止损 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/modifyPlanPreset" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"803521986049314816","symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","presetTakeProfitPrice": "23145.5","presetStopLossPrice":"23555.5"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
止盈止损下单
限速规则: 10次/1s (uid)
目前止盈止损/移动止盈止损下单, 只支持市价, 且触发类型为成交价触发
HTTP请求
- POST /api/mix/v1/plan/placeTPSL
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
planType | String | 是 | 止盈止损类型 planType,请使用"profit_plan"、"loss_plan" and "moving_plan" |
triggerPrice | String | 是 | 触发价格 |
triggerType | String | 否 | 触发类型, fill_price(成交价)/market_price(标记价) 默认成交价 |
holdSide | String | 是 | 本仓位是多仓还是空仓 |
size | String | 否 | 下单数量 默认仓位数量 |
rangeRate | String | 否 | 回调幅度(planType="moving_plan"时使用),“1” 表示 1.0%的价格回调, 最多两位小数 |
clientOid | String | 否 | Client order ID, 幂等控制 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placeTPSL" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","size": "0.01","planType": "profit_plan","triggerPrice":"23555.5","holdSide":"long"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
- planType
- profit_plan
- loss_plan
- holdSide
- long
- short
追踪委托下单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/placeTrailStop
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
triggerPrice | String | 是 | 触发价格 |
triggerType | String | 否 | 触发类型 fill_price(成交价)/market_price(标记价) 默认成交价 |
side | String | 是 | 开单方向 |
size | String | 是 | 下单数量 不能超过可用仓位数量 |
rangeRate | String | 是 | 回调幅度,planType="moving_plan"时使用;"1" 表示 1.0%的价格回调, 最大10 |
clientOid | String | 否 | Client order ID, 幂等控制 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placeTrailStop" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","size": "0.01","triggerPrice":"23555.5","side":"open_long","rangeRate":"10"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
仓位止盈止损
限速规则: 10次/1s (uid)
仓位止盈止损触发时默认会以市价委托仓位全部数量
HTTP请求
- POST /api/mix/v1/plan/placePositionsTPSL
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
planType | String | 是 | 仓位止盈止损plan type: 请使用"pos_profit", "pos_loss" |
triggerPrice | String | 是 | 触发价格 |
triggerType | String | 是 | 触发类型 |
holdSide | String | 是 | 本仓位是多仓还是空仓 |
clientOid | String | 否 | Client order ID, 幂等控制 |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/placePositionsTPSL" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","planType": "pos_profit","triggerPrice":"23555.5","holdSide":"long"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
- planType
- profit_plan
- loss_plan
- holdSide
- long
- short
修改止盈止损
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/modifyTPSLPlan
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 止盈止损订单号, 'orderId' 与 'clientOid' 必需提供一个 |
clientOid | String | 否 | 'orderId' 与 'clientOid' 必需提供一个 |
marginCoin | String | 是 | 保证金币种 必须大写 |
symbol | String | 是 | 产品ID 必须大写 |
triggerPrice | String | 是 | 触发价格 |
planType | String | 是 | 参考plan type:取值:"pos_profit"、"profit_plan"、"pos_loss"、"loss_plan" |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/modifyTPSLPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"803521986049314816","symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","triggerPrice":"23555.5","planType":"profit_plan"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
计划委托(止盈止损)撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/cancelPlan
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 计划委托订单ID, 'orderId' 或 'clientOid' 必需提供一个 |
clientOid | String | 否 | clientOid, 'orderId' 或 'clientOid' 必需提供一个 |
symbol | String | 是 | 产品ID 必须大写 |
marginCoin | String | 是 | 保证金币种 |
planType | String | 是 | plan type |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/cancelPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId":"803521986049314816","symbol": "BTCUSDT_UMCBL","marginCoin": "USDT","planType":"loss_plan"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
计划委托(止盈止损)按symbol撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/cancelSymbolPlan
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID 必须大写 |
planType | String | 是 | plan type |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/cancelSymbolPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_UMCBL","planType":"loss_plan"}'
返回数据
{
"code":"00000",
"data":true,
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
data | 撤单指定是否成功接收 |
最终的撤单结果需要通过websocket/当前计划委托查询以确定
策略一键撤单
限速规则: 10次/1s (uid)
HTTP请求
- POST /api/mix/v1/plan/cancelAllPlan
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 是 | 产品类型 |
planType | String | 是 | 撤单类型, default 'plan' |
请求示例
curl -X POST "https://api.bitget.com/api/mix/v1/plan/cancelAllPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"productType":"umcbl","planType":"loss_plan"}'
返回数据
{
"code":"00000",
"data":{
"clientOid":"RFIut#1627300490884",
"orderId":"803521986049314816"
},
"msg":"success",
"requestTime":1627300490899
}
返回值说明
返回字段 | 字段说明 |
---|---|
clientOid | 客户端自定义id |
orderId | 订单号 |
planType
- profit_plan
- loss_plan
- normal_plan
- pos_profit
- pos_loss
- track_plan 追踪委托
- moving_plan 移动止盈止损
获取当前计划委托(止盈止损)列表
限速规则: 20次/1s (uid)
HTTP请求
- GET /api/mix/v1/plan/currentPlan
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 否 | 产品ID 必须大写;symbol 与 productType必填其一 |
isPlan | String | 否 | 查询类型 |
productType | String | 否 | 产品类型;symbol 与 productType必填其一 |
请求示例
curl "https://api.bitget.com/api/mix/v1/plan/currentPlan?symbol=BTCUSDT_UMCBL&isPlan=plan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"orderId": "1083147482484514819",
"clientOid": "1083147482484514818",
"symbol": "SBTCSUSDT_SUMCBL",
"marginCoin": "SUSDT",
"size": "0.01",
"executePrice": "0",
"triggerPrice": "26746.5",
"status": "not_trigger",
"orderType": "market",
"planType": "normal_plan",
"side": "buy_single",
"triggerType": "market_price",
"presetTakeProfitPrice": "0",
"presetTakeLossPrice": "0",
"rangeRate": "",
"enterPointSource": "API",
"tradeSide": "buy_single",
"holdMode": "single_hold",
"reduceOnly": false,
"cTime": "1693968404408",
"uTime": null
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单号 |
clientOid | Client Order Id |
symbol | 币对名称 |
marginCoin | 保证金币种 |
size | 委托数量 |
executePrice | 委托价格 |
triggerPrice | 触发价格 |
status | 订单状态 |
orderType | 交易类型 |
planType | 订单类型 |
side | 开单方向 |
triggerType | 触发类型 |
presetTakeProfitPrice | 预设止盈价格 |
presetTakeLossPrice | 预设止损价格 |
rangeRate | 回调幅度(planType="moving_plan"时有值),“1” 表示 1.0%的价格回调, 最多两位小数 |
enterPointSource | enterPointSource |
tradeSide | Trade Side |
holdMode | Hold Mode |
reduceOnly | 只减仓 |
cTime | 创建时间 |
uTime | 更新时间 |
isPlan
- plan
- profit_loss
获取历史计划委托(止盈止损)列表
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/mix/v1/plan/historyPlan
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 否 | 产品类型 |
symbol | String | 否 | 产品ID 必须大写 |
startTime | String | 是 | 开始时间 (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间 |
pageSize | Integer | 否 | 查询条数 默认100 |
isPre | boolean | 否 | 是否查询上一页 默认false |
isPlan | String | 否 | 查询类型 |
请求示例
curl "https://api.bitget.com/api/mix/v1/plan/historyPlan?symbol=BTCUSDT_UMCBL&startTime=1659406928000&endTime=1659414128000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1693968259096,
"data": [
{
"orderId": "1048210602999750657",
"clientOid": "1048210602999750656",
"executeOrderId": "1048508364888899593",
"symbol": "SBTCSUSDT_SUMCBL",
"marginCoin": "SUSDT",
"size": "0.001",
"executePrice": "27500",
"triggerPrice": "27200",
"status": "triggered",
"orderType": "limit",
"planType": "normal_plan",
"side": "sell_single",
"triggerType": "market_price",
"presetTakeProfitPrice": "0",
"presetTakeLossPrice": "0",
"rangeRate": null,
"enterPointSource": "API",
"tradeSide": "sell_single",
"holdMode": "single_hold",
"reduceOnly": false,
"executeTime": "1685709795259",
"executeSize": "0.001",
"cTime": "1685638803243",
"uTime": "1685709795259"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单号 |
clientOid | Client Order Id |
executeOrderId | 触发委托单id |
symbol | 币对名称 |
marginCoin | 保证金币种 |
size | 委托数量 |
executePrice | 委托价格 |
triggerPrice | 触发价格 |
status | 订单状态 |
orderType | 交易类型 |
planType | 订单类型 |
side | 开单方向 |
triggerType | 触发类型 |
presetTakeProfitPrice | 预设止盈价格 |
presetTakeLossPrice | 预设止损价格 |
rangeRate | 回调幅度(planType="moving_plan"时有值),“1” 表示 1.0%的价格回调, 最多两位小数 |
enterPointSource | enterPointSource |
tradeSide | Trade Side |
holdMode | Hold Mode |
reduceOnly | 只减仓 |
executeTime | 执行时间 |
executeSize | 执行数量 |
cTime | 创建时间 |
uTime | 更新时间 |
- isPlan
- plan
- profit_loss
WebSocketAPI
概述
WebSocket是HTML5一种新的协议(Protocol)。它实现了客户端与服务器全双工通信, 使得数据可以快速地双向传播。通过一次简单的握手就 可以建立客户端和服务器连接, 服务器根据业务规则可以主动推送信息给客户端。其优点如下:
- 客户端和服务器进行数据传输时,请求头信息比较小,大概2个字节。
- 客户端和服务器皆可以主动地发送数据给对方。
- 不需要多次创建TCP请求和销毁,节约宽带和服务器的资源。
强烈建议开发者使用WebSocket API获取市场行情和买卖深度等信息。
域名 | WebSocket API | 建议使用 |
---|---|---|
域名1 | wss://ws.bitget.com/mix/v1/stream | 国际 |
连接说明:
连接上ws后30s内订阅或订阅后30s内用户未发送ping指令,系统会自动断开连接
连接
连接说明:
连接限制:100个/IP
订阅限制:240次/小时
如果出现网络问题,系统会自动断开连接
如果连接成功后30s未订阅或订阅后30s内服务器未向用户推送数据,系统会自动断开连接
为了保持连接有效且稳定,建议您进行以下操作:
- 每次接收到消息后,用户设置一个定时器,定时30秒。
- 如果定时器被触发(30秒内没有收到新消息),发送字符串 'ping'。
- 期待一个文字字符串'pong'作为回应。如果在 N秒内未收到,请发出错误或重新连接。
- Websocket服务器每秒最多接受10个消息。消息包括:
- PING帧
- JSON格式的消息,比如订阅,断开订阅。
- 如果用户发送的消息超过限制,连接会被断开连接。反复被断开连接的IP有可能被服务器屏蔽;
- 单个连接最多可以订阅 1000 个Streams;
- 单个IP最多可以创建100个连接。
登录
api_key:用于调用API的用户身份唯一标示,需要用户申请
passphrase:API Key 的密码,如果没有口令的话传入空字符串("")即可
timestamp: 时间戳 是Unix Epoch时间,单位是秒, 时间戳30秒后会过期
sign:为签名字符串,签名规则参照如下:
Message即(待签名字符串)为: timestamp+method+requestPath
其中timestamp示例:const timestamp = '' + Date.now() / 1000
method一律默认为'GET'
requestPath 一律默认为'/user/verify'
请求在时间戳之后30秒会失效,如果您的服务器时间和API服务器时间有偏差,推荐使用 REST API查询API服务器的时间,然后设置时间戳
签名方式说明参考API概述里的验证部分
生成最终签名的步骤
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
如果登录失败会自动断开链接
请求格式说明:
{
"op":"login",
"args":[
{
"apiKey":"<api_key>",
"passphrase":"<passphrase>",
"timestamp":"<timestamp>",
"sign":"<sign>"
}
]
}
请求示例:
{
"op":"login",
"args":[
{
"apiKey":"bg_573af5eca856acd91c230da294ce2105",
"passphrase":"123456",
"timestamp":"1538054050",
"sign":"8RCOqCJAhhEh4PWcZB/96QojLDqMAg4qNynIixFzS3E="
}
]
}
成功返回示例:
{
"event":"login",
"code":"0",
"msg":""
}
失败返回示例:
{
"event":"error",
"code":"30005",
"msg":"login fail"
}
订阅
订阅说明
请求格式说明
{
"op":"subscribe",
"args":[
"<SubscriptionTopic> "
]
}
WebSocket 频道: 公共频道
公共频道
无需登录,包括行情频道,K线频道,交易数据频道,深度数据频道等。
instId
来源 /api/mix/v1/market/contracts,参考响应中的baseCoin + quoteCoin
用户可以选择订阅一个或者多个频道,多个频道总长度不能超过4096个字节。
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"mc",
"channel":"ticker",
"instId":"BTCUSDT"
},
{
"instType":"mc",
"channel":"candle1m",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 否 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 产品ID或产品名称 |
返回示例
{
"event":"subscribe",
"arg":{
"instType":"mc",
"channel":"ticker",
"instId":"BTCUSDT"
}
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 否 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
取消订阅
可以取消一个或者多个频道
请求格式说明
{
"op":"unsubscribe",
"args":[
"< SubscriptionTopic > "
]
}
请求示例
{
"op":"unsubscribe",
"args":[
{
"instType":"MC",
"channel":"ticker",
"instId":"BTCUSDT"
},
{
"instType":"MC",
"channel":"candle1D",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,unsubscribe |
args | Array | 是 | 取消订阅的频道列表 |
instType | String | 是 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品ID |
返回示例
{
"event":"unsubscribe",
"arg":{
"instType":"MC",
"channel":"ticker",
"instId":"BTCUSDT"
}
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,unsubscribe error |
arg | Object | 否 | 取消订阅的频道 |
> instType | String | 否 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
Checksum机制
此机制可以帮助用户校验深度数据的准确性。
深度合并
用户订阅增量推送(如:books
)深度频道成功后,首先获取初始全量深度数据,当获取到增量推送数据后,更新本地全量深度数据。
- 如果有相同价格,则比较数量;数量为0删除此深度,数量有变化则替换此数据。
- 如果没有相同价格,则按照价格优劣排序(bids为价格降序,asks为价格升序),将深度信息插入到全量数据中
计算校验和
先用深度合并后前25档bids和asks组成一个字符串(其中ask和bid中的价格和数量以冒号连接),再计算其crc32值(32位有符号整型)。
1.bid和ask超过25档
合并后全量深度数据(在此仅展示2档数据,实际应截取25档数据):
"bids": [
[ 3366.1, 7 ], //bid1
[ 3366 , 6]
]
"asks": [
[ 3366.8, 9], //ask1
[ 3368 , 8]
]
校验字符串:
"3366.1:7:3366.8:9:3366:6:3368:8"
2.bid或ask不足25档
合并后全量深度数据:
"bids": [
[ 3366.1, 7]
]
"asks": [
[ 3366.8, 9],
[ 3368 , 8 ],
[ 3372 , 8 ]
]
校验字符串:
"3366.1:7:3366.8:9:3368:8:3372:8"
- 当bid和ask深度数据超过25档时,截取各自25档数据,要校验的字符串按照bid、ask深度数据交替方式连接。如:bid1[价格:数量]:ask1[价格:数量]:bid2[价格:数量]:ask2[价格:数量]...
- bid或ask深度数据不足25档时,直接忽略缺失的深度。如:bid1[价格:数量]:ask2[价格:数量]:ask3[价格:数量]:ask4[价格:数量]...
- 如果返回的价格为0.5000, 请注意使用原始值计算checksum,不要使用trim掉0后的0.5
公共频道
行情频道
获取产品的最新成交价、买一价、卖一价和24小时交易量等信息,150ms数据更新推送一次数据
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"MC",
"channel":"ticker",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 | |
---|---|---|---|---|
1 | op | String | 是 | 操作,subscribe unsubscribe |
2 | args | Array | 是 | 请求订阅的频道列表 |
3 | > instType | String | 是 | 产品类型 MC:公共频道 |
4 | > channel | String | 是 | 频道名,ticker |
5 | > instId | String | 是 | 产品名称,取值参考合约信息接口 symbolName |
成功返回示例
{
"event":"subscribe",
"arg":{
"instType":"MC",
"channel":"ticker",
"instId":"BTCUSDT"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"ticker",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:ticker,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"action":"snapshot",
"arg":{
"instType":"mc",
"channel":"ticker",
"instId":"BTCUSDT"
},
"data":[
{
"instId":"BTCUSDT",
"last":"44962.00",
"bestAsk":"44962",
"bestBid":"44961",
"high24h":"45136.50",
"low24h":"43620.00",
"priceChangePercent":"0.02",
"capitalRate":"-0.00010",
"nextSettleTime":1632495600000,
"systemTime":1632470889087,
"markPrice":"44936.21",
"indexPrice":"44959.23",
"holding":"1825.822",
"baseVolume":"39746.470",
"quoteVolume":"1760329683.834",
"openUtc": "17088.5000000000000000",
"chgUTC": "-0.00778",
"symbolType": 1,
"symbolId": "BTCUSDT_UMCBL",
"deliveryPrice": "0",
"bidSz": "10.344",
"askSz": "3.024"
}
]
}
返回参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
action | String | 推送数据动作,增量推送数据还是全量推送数据snapshot :全量update :增量 |
data | Array | 订阅的数据 |
> instId | String | 产品名称 |
>last | String | 最新价 |
>bestAsk | String | 卖一价 |
>bestBid | String | 买一价 |
>high24h | String | 24小时最高价 |
>low24h | String | 24小时最低价 |
>priceCahngePercent | String | 24小时涨跌幅 |
>capitalRate | String | 资金费率 |
>nextSettleTime | String | 下次资金费率结算时间 时间戳毫秒 |
>systemTime | String | 系统时间 |
>markPrice | String | 标记价格 |
>indexPrice | String | 指数价格 |
>holding | String | 持仓量 |
>baseVolume | String | 左币交易量 |
>quoteVolume | String | 右币交易量 |
>openUtc | String | UTC 00:00时刻价格 |
>chgUTC | String | 自UTC 00:00涨跌幅 |
>symbolType | Integer | SymbolType:1->永续 2->交割 |
>symbolId | String | Symbol Id |
>deliveryPrice | String | 交割合约交割价,symbolType=1(交割)时为0 |
>bidSz | String | Best bid size |
>askSz | String | Best ask size |
K线频道
获取产品的K线数据。
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"MC",
"channel":"candle1D",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名,candle1W candle1D candle12H candle4H candle1H candle30m candle15m candle5m candle1m |
> instId | String | 是 | 产品名称, 取值 合约信息接口 symbolName |
成功返回示例
{
"event":"subscribe",
"arg":{
"instType":"MC",
"channel":"candle1D",
"instId":"BTCUSDT"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"candle1D",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:candle1D,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> channel | String | 是 | 频道名 |
> instType | String | 是 | 产品类型 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"arg":{
"instType":"mc",
"channel":"candle1D",
"instId":"BTCUSDT"
},
"data":[
[
"1597026383085",
"8533.02",
"8553.74",
"8527.17",
"8548.26",
"45247"
]
]
}
返回参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> channel | String | 频道名 |
> instId | String | 产品ID |
> instType | String | 产品类型 |
data | Array | 订阅的数据 |
> ts | String | 开始时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> o | String | 开盘价格 |
> h | String | 最高价格 |
> l | String | 最低价格 |
> c | String | 收盘价格 |
> v | String | 数值为左币交易量 |
深度频道
获取深度数据,books
是全量深度频道,books5
是5档频道;
books
首次推全量快照数据,以后增量推送,以后增量推送,即有深度有变化推送一次变化的数据
books1
首次推1档快照数据,以后全量推送,有深度变化推送一次1档数据,即每次都推送1档数据
books5
首次推5档快照数据,以后全量推送,有深度变化推送一次5档数据,即每次都推送5档数据
books15
首次推15档快照数据,以后全量推送,有深度变化推送一次15档数据,即每次都推送15档数据
数据根据币对的不同在 100 ~ 200 ms内推送一次
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"mc",
"channel":"books5",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名,books books1 books5 books15 |
> instId | String | 是 | 产品ID,取值 合约信息接口 symbolName |
成功返回示例
{
"event":"subscribe",
"arg":{
"instType":"sp",
"channel":"books5",
"instId":"BTCUSDT"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"books5",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:books5,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
msg | String | 否 | 错误消息 |
code | String | 否 | 错误码 |
推送示例:全量
{
"action": "snapshot",
"arg": {
"instType": "MC",
"channel": "books",
"instId": "BTCUSDT"
},
"data": [ {
"asks": [
[44849.3, 0.0031]
],
"bids": [
[44845.2, 0.725]
],
"checksum":" -1638549107",
"ts": "1628826748009"
} ]
}
返回参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
action | String | 推送数据动作,增量推送数据还是全量推送数据snapshot :全量update :增量 |
data | Array | 订阅的数据 |
> asks | Array | 卖方深度 |
> bids | Array | 买方深度 |
> ts | String | 数据更新时间戳,Unix时间戳的毫秒数格式,如 1597026383085 |
> checksum | Integer | 检验和 |
asks和bids值数组举例说明: ["411.8", "10"] 411.8为深度价格,10为此价格的基础币量
交易频道
获取最近的成交数据,有成交数据就推送, 首次推送最近50条成交记录, 后续增量推送
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"MC",
"channel":"trade",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名,trade |
> instId | String | 是 | 产品ID,取值 合约信息接口 symbolName |
成功返回示例
{
"event":"subscribe",
"arg":[
{
"instType":"MC",
"channel":"trade",
"instId":"BTCUSDT"
}
]
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"trade",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:trade,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"action":"snapshot",
"arg":{
"instType":"mc",
"channel":"trade",
"instId":"BTCUSDT"
},
"data":[
[
"1630585523753",
"45653.5",
"0.0100",
1
],
[
"1630572379706",
"45653.5",
"0.0221",
1
]
]
}
返回参数
参数名 | 类型 | 描述 |
---|---|---|
action | String | snapshot/update |
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
data | Array | 订阅的数据 |
> ts | String | 成交时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> px | String | 成交价格 |
> sz | String | 成交数量 |
> side | String | 成交方向,buy 买 sell卖 |
交易详情频道
获取最近的成交数据,有成交数据就推送, 首次推送最近50条成交记录, 后续增量推送
请求示例
{
"op":"subscribe",
"args":[
{
"instType":"MC",
"channel":"tradeNew",
"instId":"BTCUSDT"
}
]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 MC:公共频道 |
> channel | String | 是 | 频道名,tradeNew |
> instId | String | 是 | 产品ID,取值 合约信息接口 symbolName |
成功返回示例
{
"event":"subscribe",
"arg":[
{
"instType":"MC",
"channel":"tradeNew",
"instId":"BTCUSDT"
}
]
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"tradeNew",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:tradeNew,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例 - snapshot
{
"data": [
{
"p": "20221.5",
"c": "0.009",
"ti": "969054894406951028",
"ty": "sell",
"ts": 1666766611672
},
{
"p": "20221.5",
"c": "1.100",
"ti": "969054894406951026",
"ty": "sell",
"ts": 1666766611672
}
],
"arg": {
"instType": "mc",
"instId": "BTCUSDT",
"channel": "tradeNew"
},
"action": "snapshot"
}
推送示例 - update
{
"data": [
{
"p": "20221.0",
"c": "0.249",
"ti": "969054896504102913",
"ty": "buy",
"ts": 1666766612172
}
],
"arg": {
"instType": "mc",
"instId": "BTCUSDT",
"channel": "tradeNew"
},
"action": "update"
}
返回参数
参数名 | 类型 | 描述 |
---|---|---|
action | String | snapshot/update |
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
data | Array | 订阅的数据 |
> ts | String | 成交时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> p | String | 成交价格 |
> c | String | 成交数量 |
> ty | String | 成交方向,buy 买 sell卖 |
> ti | String | tradeId |
私有频道
账户频道
获取账户信息,首次订阅按照订阅维度推送数据,此外,当下单、撤单等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "UMCBL",
"channel": "account",
"instId": "default"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 UMCBL:专业合约私有频道 DMCBL:混合合约私有频道 |
> channel | String | 是 | 频道名,account |
> instId | String | 是 | 币种, 全部传 default |
成功返回示例
{
"event":"subscribe",
"arg":{
"instType":"UMCBL",
"channel":"account",
"instId":"default"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"MC",
"channel":"account",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:account,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 操作,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 币种 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 请求订阅的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 币种 |
data | Array | 订阅的数据 |
marginCoin | String | 保证金币种 |
locked | String | 冻结资产 |
available | String | 当前可用资产 |
maxOpenPosAvailable | String | 最大可用开仓余额 |
maxTransferOut | String | 最大可转出 |
equity | String | 账户权益 |
usdtEquity | String | 账户权益美金价值 |
首次推送: 全量推送
增量推送: 推送交易变化
持仓频道
获取持仓信息,首次订阅推送数据,此外,当下单、撤单等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "UMCBL",
"channel": "positions",
"instId": "default"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> channel | String | 是 | 频道名,positions |
> instType | String | 是 | 产品类型 UMCBL:专业合约私有频道 DMCBL:混合合约私有频道 |
> instId | String | 否 | 产品ID 只支持 default :全部仓位 |
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe errror |
arg | Object | 否 | 订阅的频道 |
> channel | String | 是 | 频道名 |
> instType | String | 是 | 产品类型 |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> channel | String | 频道名 |
> instType | String | 产品类型 |
> instId | String | 产品ID |
data | Array | 订阅的数据 |
> posId | String | 持仓ID |
> instId | String | 产品id |
> instName | String | 产品名称 |
> marginCoin | String | 占用保证金的币种 |
> margin | String | 占用保证金 |
> autoMargin | String | 自动添加保证金, 取值: on/off |
> marginMode | String | 保证金模式, crossed :全仓 fixed :逐仓 |
> holdSide | String | 持仓方向 long :多头 short :空头 |
> holdMode | String | 持仓模式 single_hold 单向持仓,double_hold双向持仓 |
> total | String | 持仓数量 |
> available | String | 可平仓数量 |
> locked | String | 冻结数量 |
> averageOpenPrice | String | 开仓平均价 |
> leverage | String | 杠杆倍数 |
> achievedProfits | String | 已实现盈亏 |
> upl | String | 未实现盈亏 |
> uplRate | String | 未实现盈亏率 |
> liqPx | String | 预估强平价 |
> keepMarginRate | String | 维持保证金率 |
> fixedMarginRate | String | 逐仓时,实际保证金率 |
> marginRate | String | 风险率 |
> cTime | String | 持仓创建时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> uTime | String | 最近一次持仓更新时间,Unix时间戳的毫秒数格式,如 1597026383085 |
如果同时成交多个订单,那么将持仓频道的推送尽量进行聚合。
首次推送,只推用户持有的仓位。
定时推送,只推用户持有的仓位。
订单频道
获取订单信息,首次订阅不推送,只有当下单、撤单、强平、成交等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"channel": "orders",
"instType": "UMCBL",
"instId": "default"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> channel | String | 是 | 频道名, orders |
> instType | String | 是 | 产品类型 UMCBL:专业合约私有频道 DMCBL:混合合约私有频道 |
> instId | String | 否 | 目前只支持 default 全部交易对订单 |
成功返回示例
{
"event": "subscribe",
"arg": {
"channel": "orders",
"instType": "UMCBL",
"instId": "default"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"UMCBL",
"channel":"orders",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:orders,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe errror |
arg | Object | 否 | 订阅的频道 |
> channel | String | 是 | 频道名 |
> instType | String | 是 | 产品类型 MC |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> channel | String | 频道名 |
> instType | String | 产品类型 |
> instId | String | 产品ID |
data | Array | 订阅的数据 |
> instId | String | 产品ID |
> ordId | String | 订单ID |
> clOrdId | String | 由用户设置的订单ID来识别您的订单 |
> px | String | 委托价格 |
> sz | String | 原始委托数量,以币为单位 |
> hM | String | Hold Mode |
> eps | String | enterPointSource |
> tS | String | Trade Side |
> notionalUsd | String | 委托单预估美元价值 |
> ordType | String | 订单类型market :市价单limit :限价单 |
> force | String | 订单有效期normal:普通委托post_only : 只做maker单fok :全部成交或立即取消单ioc :立即成交并取消剩余单 |
> side | String | 订单方向,buy sell |
> posSide | String | 持仓方向long :双向持仓多头short :双向持仓空头net :单向持仓 |
> tdMode | String | 交易模式保证金模式 isolated :逐仓 cross :全仓 |
> tgtCcy | String | 保证金币种 |
> fillPx | String | 最新成交价格 |
> tradeId | String | 最新成交ID |
> fillSz | String | 最新成交数量 |
> fillTime | String | 最新成交时间 |
> fillFee | String | 最新一笔成交的手续费, 负数 |
> fillFeeCcy | String | 最新一笔成交的手续费币种 |
> execType | String | 最新一笔成交的流动性方向 T:taker M maker |
> accFillSz | String | 累计成交数量 |
> fillNotionalUsd | String | 委托单已成交的美元价值 |
> avgPx | String | 成交均价,如果成交数量为0,该字段为0;若未成交,该字段也为0 |
> status | String | 订单状态 new:未成交 partial-fill: 部分成交 full-fill:完全成交 cancelled:已撤单 |
> lever | String | 杠杆倍数 |
>orderFee | Array | |
>> feeCcy | String | 交易手续费币种 收取的就是保证金 |
>> fee | String | 订单交易手续费,平台向用户收取的交易手续费 |
> pnl | String | 收益 |
> uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> low | Boolean | Is reduceOnly |
计划委托频道
获取订单信息,首次订阅不推送,只有当下单、撤单、成交等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"channel": "ordersAlgo",
"instType": "UMCBL",
"instId": "default"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> channel | String | 是 | 频道名, ordersAlgo |
> instType | String | 是 | 产品类型 UMCBL:专业合约私有频道 DMCBL:混合合约私有频道 |
> instId | String | 否 | 目前只支持 default 全部交易对订单 |
成功返回示例
{
"event": "subscribe",
"arg": {
"channel": "ordersAlgo",
"instType": "UMCBL",
"instId": "default"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"UMCBL",
"channel":"ordersAlgo",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:MC,channel:ordersAlgo,instId:BTC-USDT Symbol not exists",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe errror |
arg | Object | 否 | 订阅的频道 |
> channel | String | 是 | 频道名 |
> instType | String | 是 | 产品类型 MC |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
action | String | 'snapshot' |
arg | Object | 订阅成功的频道 |
> channel | String | 频道名 |
> instType | String | 产品类型 |
> instId | String | 产品ID |
data | Array | 订阅的数据 |
> instId | String | 产品ID |
> id | String | 订单ID |
> cOid | String | 由用户设置的订单ID来识别您的订单 |
> triggerPx | String | 触发价格 |
> planType | String | Websocket planType, 为空时表示 'pl' |
> ordPx | String | 委托价格 |
> sz | String | 原始委托数量,以币为单位 |
> actualSz | String | 实际委托数量 以币为单位 |
> ordType | String | 订单类型market :市价单limit :限价单 |
> side | String | 订单方向,buy sell |
> posSide | String | 持仓方向;long :双向持仓多头,short :双向持仓空头;net :单向持仓 |
> tgtCcy | String | 保证金币种 |
> state | String | 订单状态 not_trigger:未触发 triggered: 已触发 fail_trigger:触发失败 cancel:已撤单 |
> hM | String | Hold mode |
> eps | String | enterPointSource. |
> triggerTime | String | 触发时间, ms |
> userId | String | 用户ID |
> version | Long | 版本号,内部使用 |
> triggerPxType | String | 'mark':标记价格触发; 'last':市价触发 |
> key | String | 内部使用 |
> tS | String | Trade Side(交易方向) |
> uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085 |
RestAPI错误代码
错误提示 | 错误码 | http状态码 |
---|---|---|
00000 | 成功! | 400 |
40001 | ACCESS_KEY不能为空 | 400 |
40002 | ACCESS_SIGN不能为空 | 400 |
40003 | 签名不能为空 | 400 |
40004 | 请求时间戳过期 | 400 |
40005 | 无效的ACCESS_TIMESTAMP | 400 |
40006 | 无效的ACCESS_KEY | 400 |
40007 | 无效的Content_Type | 400 |
40008 | 请求时间戳过期 | 400 |
40009 | sign签名错误 | 400 |
40010 | 请求超时 | 400 |
40011 | ACCESS_PASSPHRASE不能为空 | 400 |
40012 | apikey/口令不正确 | 400 |
40013 | 用户状态异常 | 400 |
40014 | 权限不正确, 需要 {0} 权限 | 400 |
40015 | 系统异常,请稍后重试 | 400 |
40016 | 用户必须绑定手机或者谷歌 | 400 |
40017 | 参数校验失败 {0} | 400 |
00171 | 参数校验失败 {0}{1} | 400 |
00172 | 参数校验失败 | 400 |
40018 | 无效的IP | 400 |
40019 | 参数 {0} 不能为空 | 400 |
40020 | 参数 {0} 异常 | 400 |
40021 | 用户禁止提币 | 400 |
40022 | 此账号该业务已被限制 | 400 |
40023 | 此账号该业务已被限制 | 400 |
40024 | 账号已被冻结 | 400 |
40025 | 此账号该业务已被限制 | 400 |
40026 | 用户已被禁用 | 400 |
40027 | 此账户地区提币必须kyc | 400 |
40028 | 此subUid不属于该账号 | 400 |
40029 | 此账号不是Broker,请先申请成为Broker | 400 |
40030 | 子账号无此权限 | 400 |
40031 | 该账号已注销,不可再次使用 | 400 |
40032 | 创建账号数量已达限制 | 400 |
40033 | 该邮箱已被使用 | 400 |
40034 | 参数 {0} 不存在 | 400 |
50001 | coin {0} 不支持全仓 | 400 |
50002 | symbol {0} 不支持逐仓 | 400 |
50003 | coin {0} 不支持逐仓 | 400 |
50004 | symbol {0} 不支持全仓 | 400 |
50005 | symbol {0} 无效或者不支持杠杆交易 | 400 |
40035 | 遵循相关法律法规,根据您的当前登录信息,为方便您的使用,请先进行KYC | 400 |
40036 | passphrase 错误 | 400 |
40037 | Apikey 不存在 | 400 |
40038 | 当前请求ip 没有在ip白名单列表 | 400 |
40039 | userSignature签名错误 | 400 |
40040 | user api key权限设置错误 | 400 |
40041 | 用户的ApiKey不存在 | 400 |
40043 | FD Broker不存在 | 400 |
40045 | 被绑定的user不能是FD broker | 400 |
40047 | FD Broker绑定相关接口调用频率限制 | 400 |
40048 | 用户的ApiKey必须是母账号 | 400 |
40049 | 用户账号字段解密失败 | 400 |
40051 | 此账号不是FD Broker,请先申请成为FD Broker | 400 |
40052 | 此账号已修改了安全设置。为了您账号的安全,24小时内禁止提币 | 400 |
40053 | 取值范围校验失败: {0}取值应在{1}之间 | 400 |
40054 | 根据{0}获取数据为空 | 400 |
40055 | subName 长度控制在8位 | 400 |
40056 | remark 长度需要满足1~20 | 400 |
40057 | 参数 {0} {1} 不符合规范 | 400 |
40058 | 参数 {0} 限制个数在 {1} 以内 | 400 |
40059 | 参数 {0} 应该小于 {1} | 400 |
40060 | subNames 存在重复的 | 400 |
40061 | sub-account 不允许访问 | 400 |
40062 | 由于监管要求,您被限制下订单 | 400 |
40063 | API超过添加的最大限制 | 400 |
40064 | 子账户创建失败,请检查是否有重复的 | 400 |
40065 | 此subApikey不存在 | 400 |
40066 | 该subUid不属于该账号或不是虚拟子账号 | 400 |
40067 | 子账户创建失败,请检查是否有重复的 | 400 |
40068 | 禁止子账户访问 | 400 |
40069 | 已达到创建子账号的最大数量 | 400 |
40070 | passphrase 8-32个字母和数字字符 | 400 |
40071 | subName 存在重复的 | 400 |
40072 | symbol {0} 无效或者不支持合约交易 | 400 |
40102 | 合约配置不存在,请检查参数 | 400 |
40109 | 查不到该订单的数据,请确认订单号 | 400 |
40200 | 服务器升级,请稍后再试 | 400 |
40301 | 暂未获得使用权限,如需使用,请联系客服 | 400 |
40303 | 最多只能查询20000条数据 | 400 |
40304 | clientOid或clientOrderId的长度不能大于50个字符 | 400 |
40305 | clientOid或clientOrderId的长度不能大于64个字符,且不能是火星字符 | 400 |
40306 | 批量处理订单最多只能处理50条 | 400 |
40308 | 该合约正在临时维护 | 400 |
40309 | 该合约已下架 | 400 |
40400 | 状态校验异常 | 400 |
40401 | 该操作无法执行 | 400 |
40402 | orderId或clientOId格式错误 | 400 |
40407 | 查询方向不是计划委托的方向 | 400 |
40408 | 范围错误 | 400 |
40409 | 格式错误 | 400 |
40704 | 只能查最近三个月的数据 | 400 |
40705 | 起止时间不能超过90天 | 400 |
40707 | 开始时间大于结束时间 | 400 |
40708 | 参数校验异常 | 400 |
40709 | 该仓位暂无持仓,不能设置自动追加保证金 | 400 |
40710 | 账户非正常状态 | 400 |
40711 | 合约账户余额不足 | 400 |
40712 | 保证金数量不足 | 400 |
40713 | 不能超过最大可转出保证金数量 | 400 |
40714 | 不允许直接追加保证金 | 400 |
40715 | 委托数量大于最大可开张数 | 400 |
40716 | 该交易对不支持全仓模式 | 400 |
40724 | 参数为空 | 400 |
40725 | 返回无映射信息 | 400 |
40726 | 全仓模式不支持自动追加保证金 | 400 |
40727 | 全仓模式不支持调整保证金 | 400 |
40728 | 您当前为交易员身份,请在当前带单下进行平仓 | 400 |
40729 | 调整仓位失败,当前持有仓位或委托或者计划委托 | 400 |
40730 | 当前有委托,或者计划委托,无法调整杠杆 | 400 |
40199 | 非交易员调用接口 | 400 |
40731 | 该产品不支持跟单交易 | 400 |
40732 | 当前不是交易员身份 | 400 |
40733 | 跟单平仓已经处理完成 | 400 |
40734 | 下单失败,交易员最少开仓张数{0}张 | 400 |
40735 | 多头仓位止盈价格请大于开仓均价 | 400 |
40736 | 多头仓位止盈价格请大于当前价格 | 400 |
40737 | 空头仓位止盈价格请小于开仓均价 | 400 |
40738 | 空头仓位止盈价格请小于当前价格 | 400 |
40739 | 多头仓位止损价格请小于开仓均价 | 400 |
40740 | 多头仓位止损价格请小于当前价格 | 400 |
40741 | 空头仓位止损价格请大于开仓均价 | 400 |
40742 | 空头仓位止损价格请大于当前价格 | 400 |
40743 | 该订单正在平仓中,不能再次平仓 | 400 |
40744 | 该追踪订单状态错误 | 400 |
40745 | 此带单正在委托中,暂不支持平仓 | 400 |
40746 | 当前最多可平仓张数为{0}张,超过的张数请到当前带单下平仓 | 400 |
40747 | 赠金不允许双向持仓 | 400 |
40748 | 委托价格高于最高买价 | 400 |
40749 | 委托价格低于于最低卖价 | 400 |
40750 | 该合约的计划委托已达到上限 | 400 |
40751 | 该合约的止盈止损委托已达到上限 | 400 |
40752 | 您被禁用当前业务,如有疑问请联系客服 | 400 |
40753 | api权限已禁用,如有疑问请联系客服 | 400 |
40754 | balance的可用不足. | 400 |
40755 | 开仓可用不足. | 400 |
40756 | balance的锁定不足. | 400 |
40757 | position的可用不足. | 400 |
40758 | position的锁定不足. | 400 |
40759 | 没有任何资产 | 400 |
40760 | 账户非正常状态 | 400 |
40761 | 未成交委托单总数过高 | 400 |
40762 | 委托数量大于最大可开数量 | 400 |
40763 | 委托数量不能超过对应档位的最大量 | 400 |
40764 | 订单剩余量小于本次成交量 | 400 |
40765 | 仓位剩余量小于本次成交量 | 400 |
40766 | 开仓委托数量小于本次成交量 | 400 |
40767 | 开仓处理时仓位不存在 | 400 |
40768 | 订单不存在 | 400 |
40769 | 拒绝订单已有成交 | 400 |
40770 | 结算或者手续费币种配置未找到. | 400 |
40771 | 扎差时,不能拥有平仓委托. | 400 |
40772 | 帐户不存在 | 400 |
40773 | 平仓只能发生在双向持仓下. | 400 |
40774 | 单边持仓时委托类型也必须是单边持仓类型. | 400 |
40775 | 做市帐户只能是单边持仓类型. | 400 |
40776 | 创建订单错误. | 400 |
40777 | 取消订单错误. | 400 |
40778 | 币对{0}不支持{1}币种作为保证金 | 400 |
40779 | 请检查使用了正确的delegateType | 400 |
40780 | 同一symbolId同一时刻有多条风险处理记录 | 400 |
40781 | 未找到转帐订单 | 400 |
40782 | 内部划转错误 | 400 |
40783 | 档位未找到 | 400 |
40784 | 需要配置modify depth帐户 | 400 |
40785 | 需要配置draw line帐户 | 400 |
40786 | 重复的clientOid | 400 |
40787 | 价格步长不匹配 | 400 |
40788 | 批量内部划转错误 | 400 |
40789 | 配置项中tokenId重复 | 400 |
40790 | 配置项中symbolCode重复 | 400 |
40791 | symbolCode的baseToken或者quoteToken不存在 | 400 |
40792 | 配置项中symbol重复 | 400 |
40793 | BusinessSymbol的symbolCode不存在 | 400 |
40794 | BusinessSymbol的supportMarginToken未配置 | 400 |
40795 | 因为结算或维护原因, 交易暂停 | 400 |
40796 | 调整后杠杆不在合适的范围内 | 400 |
40797 | 超过最大可设置杠杆倍数 | 400 |
40798 | 合约账户余额不足 | 400 |
40799 | 不能小于最小转入数量 | 400 |
40800 | 保证金数量不足 | 400 |
40801 | 不能超过最大可转出保证金数量 | 400 |
40802 | 仓位为零,不允许直接追加保证金 | 400 |
40803 | 调小杠杆,追加保证金数量不正确 | 400 |
40804 | 平仓数量不能超过持有仓位数量 | 400 |
40805 | 不支持的操作 | 400 |
40806 | 不支持的币种 | 400 |
40807 | 账户不存在 | 400 |
40808 | 参数校验异常 {0} | 400 |
40809 | 执行价格参数校验异常 | 400 |
40810 | 触发价格参数校验异常 | 400 |
40811 | 参数 {0} 不应该为null | 400 |
40812 | 条件 {0} 未满足 | 400 |
40813 | 参数 {0} 必须有值,不能为空 | 400 |
40814 | 杠杆倍数无变化 | 400 |
40815 | 委托价格高于最高买价 | 400 |
40816 | 委托价格低于于最低卖价 | 400 |
40817 | 当前订单状态不能撤销 | 400 |
40818 | 当前订单类型不能撤销 | 400 |
40819 | 订单不存在! | 400 |
40820 | 平多委托价格不允许低于爆仓价 | 400 |
40821 | 平空委托价格不允许高于爆仓价 | 400 |
40822 | 合约配置不存在 | 400 |
40823 | 成交或合理标记价格不存在 | 400 |
40824 | 当前不允许挂市价单 | 400 |
40825 | 合约对手深度不存在 | 400 |
40826 | 因价格波动过大,市价委托成本不足,开仓委托失败。 | 400 |
40827 | 赠金不允许双向持仓 | 400 |
40828 | 特殊做市账户不能手动挂单 | 400 |
40829 | 多头仓位止盈价格请大于开仓均价 | 400 |
40830 | 多头仓位止盈价格请大于当前价格 | 400 |
40831 | 空头仓位止盈价格请小于开仓均价 | 400 |
40832 | 空头仓位止盈价格请小于当前价格 | 400 |
40833 | 多头仓位止损价格请小于开仓均价 | 400 |
40834 | 多头仓位止损价格请小于当前价格 | 400 |
40835 | 空头仓位止损价格请大于开仓均价 | 400 |
40836 | 空头仓位止损价格请大于当前价格 | 400 |
40837 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
40838 | 该仓位暂无持仓,不能设置自动追加保证金 | 400 |
40839 | 该合约自动追加保证金功能已暂停使用 | 400 |
40840 | 分片做市账户重复 | 400 |
40841 | 线上环境不允许执行 | 400 |
40842 | 目前配置不允许调整,请稍后重试 | 400 |
40843 | no_datasource_key_exists | 400 |
40844 | 该合约正在临时维护 | 400 |
40845 | 该合约已下架 | 400 |
40846 | 状态校验异常 | 400 |
40847 | 该操作无法执行 | 400 |
40848 | 有仓位不能开启跟单交易 | 400 |
40849 | 该用户已存在进行中的跟单 | 400 |
40850 | 跟单进行中,不能转出余额 | 400 |
40851 | 账户状态错误,不能结束跟单 | 400 |
40852 | 有未成交的委托订单,不能结束跟单 | 400 |
40853 | 有未执行的计划委托,不能结束跟单 | 400 |
40854 | 该产品不支持跟单交易 | 400 |
40855 | 用户已结束跟单,不能再次结束跟单 | 400 |
40856 | 数据异常 | 400 |
40857 | 跟单号错误 | 400 |
40858 | 追踪订单状态错误 | 400 |
40859 | 该订单正在平仓中,不能再次平仓 | 400 |
40860 | 交易员不存在,不能设置跟随 | 400 |
40861 | 交易员已停用,不能设置跟随 | 400 |
40862 | 请撤销当前委托 | 400 |
40863 | 请撤销当前计划 | 400 |
40864 | 请将当前带单平仓 | 400 |
40865 | 此带单正在委托中,暂不支持平仓 | 400 |
40866 | 您当前为交易员身份,请在当前带单下进行平仓 | 400 |
40867 | 当前最多可平仓数量为{0},超过的数量请到当前带单下平仓 | 400 |
40868 | 您当前为交易员身份,暂不支持通过计划委托进行平仓 | 400 |
40869 | 您当前为交易员身份,暂不支持修改杠杆 | 400 |
40870 | 您当前正在进行跟单,暂不支持修改杠杆 | 400 |
40871 | 杠杆不满足配置,不能成为交易员 | 400 |
40872 | 调整仓位失败,当前持有仓位或委托或者计划委托 | 400 |
40873 | 帐户拥有保证金,需要转出 | 400 |
40874 | 全仓模式不支持自动追加保证金 | 400 |
40875 | 全仓模式不支持调整保证金 | 400 |
40876 | 追踪订单数量过多 | 400 |
40877 | 跟随追踪订单数量过多 | 400 |
40878 | 合约指数数据异常,为了避免造成您的损失,请稍后再试。 | 400 |
40879 | 风险处理中,不能调整资金. | 400 |
40880 | 风险处理中,不能调整杠杆. | 400 |
40881 | 当前有委托,或者计划委托,无法调整杠杆. | 400 |
40882 | 您当前为交易员身份,不能切换为全仓模式 | 400 |
40883 | 币种混合时,不能调整为逐仓模式 | 400 |
40884 | 单向持仓时,不能调整为逐仓模式 | 400 |
40885 | 逐仓模式时,不能调整为单向持仓 | 400 |
40886 | 全仓模式时,不能调整自动追加保证金 | 400 |
40887 | 下单失败,单笔闪电开仓数量最多{0} | 400 |
40888 | 下单失败,单笔闪电平仓数量最多{0} | 400 |
40889 | 该合约的计划委托已达到上限 | 400 |
40890 | 该合约的止盈止损委托已达到上限 | 400 |
40891 | 仓位不足,不能设置止盈或者止损 | 400 |
40892 | 下单失败,交易员最少开仓数量{0} | 400 |
40893 | 无法更新此仓位的杠杆系数,没有足够的保证金! | 400 |
40894 | 跟单平仓已经处理完成 | 400 |
40895 | 预设价格与委托/执行价格不匹配 | 400 |
40896 | 预设止盈止损已经部分兑现,不允许修改 | 400 |
40897 | 系统体验金账户不存在 | 400 |
40898 | 系统体验金账户余额不足 | 400 |
40899 | 存储的用户数量超出限制 | 400 |
40900 | 系统体验金账户不一致 | 400 |
40901 | 合约体验金余额不足 | 400 |
40902 | 不允许使用未来时间 | 400 |
40903 | 获取杠杆信息失败 | 400 |
40904 | 归集资金费用失败 | 400 |
40905 | 收取用户资金费用失败 | 400 |
40906 | 支付用户资金费用失败 | 400 |
40907 | 结算处理中,不能进行划转 | 400 |
40908 | 并发操作失败 | 400 |
40909 | 划转处理中 | 400 |
40910 | 操作超时 | 400 |
40911 | 请求时间戳过期 | 400 |
40912 | 单次撤单不能超过50 | 400 |
40913 | {0}必须传一个 | 400 |
40914 | 您当前为交易员身份,可使用的最大杠杆为{0} | 400 |
40915 | 多头仓位止盈价格请>标记价格 | 400 |
40916 | 此账号该业务已被限制 | 400 |
40917 | 多头仓位止损价格请 < 标记价格 {0} | 400 |
40918 | 交易员带单开仓过于频繁 | 400 |
40919 | 该功能暂未开放 | 400 |
40920 | 当前持有仓位或订单,仓位模式无法更换 | 400 |
40921 | 委托数量不能超过对应档位的最大量 | 400 |
40922 | 只允许修改 未成交的限价单 | 400 |
40923 | 订单数量和订单价格 没有变化 | 400 |
40924 | orderId 和 clientOid 必须传入一个 | 400 |
40925 | price or size 必须同时传入 | 400 |
43001 | 订单不存在 | 400 |
43002 | 挂单失败 | 400 |
43003 | 挂单失败 | 400 |
43004 | 没有可撤消的委单 | 400 |
43005 | 超过交易对最大委托数量限制 | 400 |
43006 | 下单数量小于最小交易数量 | 400 |
43007 | 下单数量大于最大交易数量 | 400 |
43008 | 当前委托价格不能小于{0}{1} | 400 |
43009 | 当前委托价格超过限制{0}{1} | 400 |
43010 | 交易额不能小于{0}{1} | 400 |
43011 | 参数不合符规范 {0} | 400 |
42013 | 划转失败 | 400 |
42014 | 当前币种不支持充币 | 400 |
42015 | 当前币种不支持提币 | 400 |
42016 | symbol {0} 无效或者不支持现货交易 | 400 |
43013 | 止盈价格需要>当前价格 | 400 |
43014 | 止盈价格需要<当前价格 | 400 |
43015 | 止损价格需要<当前价格 | 400 |
43016 | 止损价格需要>当前价格 | 400 |
43017 | 您当前为交易员身份,暂不支持通过计划委托进行平仓 | 400 |
43020 | 止盈止损单不存在 | 400 |
43021 | 止盈止损单已经处于结束状态 | 400 |
43022 | 预设止盈止损触发失败 | 400 |
43023 | 仓位不足,不能设置止盈或者止损 | 400 |
43024 | 已有委托中的止盈/止损,请在全部撤销后更改 | 400 |
43025 | 计划委托单不存在 | 400 |
43026 | 计划委托单已经处于结束状态 | 400 |
43027 | 不满足最小下单价值{0} | 400 |
43028 | 价格请输入{0}的整倍数 | 400 |
43029 | 当前委托的数量 > 最大可平仓数量 | 400 |
43032 | rangeRate is smaller than {0} | 400 |
43033 | Trailing order does not exist | 400 |
43034 | The trigger price should be ≤ the current market price | 400 |
43035 | The trigger price should be ≥ the current market price | 400 |
43036 | 交易员修改止盈止损300ms内只允许操作一次 | 400 |
43037 | 不能小于交易最小委托量{0} | 400 |
43038 | 不能大于交易最大委托量{0} | 400 |
43039 | 超过最大价格限制{0} | 400 |
43040 | 价格最小变动为{0} | 400 |
43041 | 超过最大交易额{0} | 400 |
43042 | 低于最小交易额{0} | 400 |
43043 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
43044 | 追踪订单状态错误 | 400 |
43045 | 此交易员已达跟单上限,请选择其他交易员 | 400 |
43046 | 用户不存在 | 400 |
43047 | 跟随者被移除后的几分钟内不允许再次跟随,请稍后再试 | 400 |
43048 | 交易对为空 | 400 |
43049 | 不支持该保证金 | 400 |
43050 | 杠杆超过有效范围 | 400 |
43051 | 超过最大限制 | 400 |
43052 | 跟单数量不能低于{0} | 400 |
43053 | 跟单比例不能超过{0} | 400 |
43054 | 跟单比例不能低于{0} | 400 |
43055 | 止损比例需介于{0}-{1} | 400 |
43056 | 止盈比例需介于{0}-{1} | 400 |
43057 | 子母账户之间不可带单或跟单 | 400 |
43058 | 参数校验失败 | 400 |
43059 | 操作失败,请重试 | 400 |
43060 | 排序规则必传 | 400 |
43061 | 排序字段必传 | 400 |
43062 | 该交易员不存在或不可跟单该交易员 | 400 |
43063 | 自己不能跟单自己 | 400 |
43064 | 当前带单订单状态错误 | 400 |
43065 | 跟踪单号 不存在 | 400 |
43066 | 操作失败 | 400 |
43067 | 加载数据已达上限,单次最大支持加载{0}条 | 400 |
43068 | 当前跟随者状态异常,暂不允许移除 | 400 |
43069 | 当跟随者账户权益低于{0}USDT时才可被移除 | 400 |
45001 | 未知错误 | 400 |
45002 | 资产可用不足 | 400 |
45003 | 开仓可用不足 | 400 |
45004 | 资产的锁定不足 | 400 |
45005 | 仓位的可用不足 | 400 |
45006 | position的仓位不足 | 400 |
45007 | position的锁定不足 | 400 |
45008 | 没有任何资产 | 400 |
45009 | 账户有风险,暂时不能交易 | 400 |
45010 | 委托数量不能超过对应档位的最大量 | 400 |
45011 | 订单剩余量<本次成交量 | 400 |
45012 | 仓位剩余量<本次成交量 | 400 |
45013 | 开仓委托数量<本次成交量 | 400 |
45014 | 开仓处理时仓位不存在 | 400 |
45015 | 订单不存在 | 400 |
45016 | 拒绝订单已有成交 | 400 |
45017 | 结算或者手续费币种配置未找到. | 400 |
45018 | 扎差时,不能拥有平仓委托. | 400 |
45019 | 帐户不存在 | 400 |
45020 | 平仓只能发生在双向持仓下. | 400 |
45021 | 单边持仓时委托类型也必须是单边持仓类型. | 400 |
45023 | 创建订单错误. | 400 |
45024 | 取消订单错误. | 400 |
45025 | 币对不支持该币种作为保证金 | 400 |
45026 | 请检查使用了正确的delegateType | 400 |
45031 | 订单已经是终态 | 400 |
45034 | 重复的clientOid | 400 |
45035 | 价格步长不匹配 | 400 |
45043 | 因为结算或维护原因, 交易暂停 | 400 |
45044 | 调整后杠杆不在合适的范围内 | 400 |
45045 | 超过最大可设置杠杆倍数 | 400 |
45047 | 调小杠杆,追加保证金数量不正确 | 400 |
45051 | 执行价格参数校验异常 | 400 |
45052 | 触发价格参数校验异常 | 400 |
45055 | 当前订单状态不能撤销 | 400 |
45056 | 当前订单类型不能撤销 | 400 |
45057 | 订单不存在! | 400 |
45060 | 多头仓位止盈价格请>当前价格{0} | 400 |
45061 | 空头仓位止盈价格请<当前价格{0} | 400 |
45062 | 多头仓位止损价格请<当前价格{0} | 400 |
45063 | 空头仓位止损价格请>当前价格{0} | 400 |
45064 | 多头仓位止盈价格请>委托价格{0} | 400 |
45065 | 空头仓位止盈价格请<委托价格{0} | 400 |
45066 | 多头仓位止损价格请<委托价格{0} | 400 |
45067 | 空头仓位止损价格请>委托价格{0} | 400 |
45068 | 多头仓位止盈价格请>执行价格{0} | 400 |
45075 | 该用户已存在进行中的跟单 | 400 |
45081 | 跟单号错误 | 400 |
45089 | 您当前正在进行跟单,暂不支持修改杠杆 | 400 |
45091 | 追踪订单数量过多 | 400 |
45097 | 当前有委托,或者计划委托,无法调整杠杆. | 400 |
45098 | 您当前为交易员身份,不能切换为全仓模式 | 400 |
45099 | 币种混合时,不能调整为逐仓模式 | 400 |
45100 | 单向持仓时,不能调整为逐仓模式 | 400 |
45101 | 逐仓模式时,不能调整为单向持仓 | 400 |
45102 | 全仓模式时,不能调整自动追加保证金 | 400 |
45103 | 下单失败,单笔闪电开仓数量最多%s | 400 |
45104 | 下单失败,单笔闪电平仓数量最多%s | 400 |
45106 | 跟单平仓已经处理完成 | 400 |
45107 | API限制开仓,如有问题请联系客服 | 400 |
45108 | API限制平仓,如有问题请联系客服 | 400 |
45110 | 触发最小下单价值限制 {0} USDT | 400 |
45111 | 触发最小下单数量 | 400 |
45112 | 触发最最大下单数量 | 400 |
45113 | 触发最大下单价值限制 | 400 |
45114 | 不满足最小下单要求 | 400 |
45115 | price 应该满足 {0} 倍数 | 400 |
45116 | 当前账号持仓条数超过最大数量 {0} | 400 |
45117 | 当前持有仓位或委托,无法调整保证金模式 | 400 |
45118 | 达到总笔数上限(当前委托笔数+当前带单笔数) {0} | 400 |
45119 | 此合约暂不支持开仓操作 | 400 |
45120 | 委托数量 > 最大可开数量 | 400 |
45121 | 合理标记价格偏离盘口过大,您当前杠杆开仓风险较高 | 400 |
45122 | 空头仓位止损价格请>标记价格 {0} | 400 |
45123 | 可用不足, 当前只可市价下单 | 400 |
45124 | Please edit and submit again. | 400 |
45125 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45126 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45127 | Position brackets disabled TP SL | 400 |
45128 | Position brackets disabled modify qty | 400 |
45129 | 撤单过于频繁, 同一个订单号一秒内只允许取消一次 | 400 |
41103 | 参数{0}错误 | 400 |
41101 | 参数{0}错误 | 400 |
41113 | 该交易对已下线 | 400 |
41114 | 当前交易对停盘中,具体开放时间请留意官方公告 | 400 |
43012 | 账户余额不足 | 400 |
41100 | {0} | 400 |
43111 | 参数错误 {0} | 400 |
43112 | 提币金额小于手续费 {0} | 400 |
43113 | 单笔超过了每日限额 {0} | 400 |
43114 | 提币小于最小提币数 {0} | 400 |
43115 | 此交易对未到开盘交易时间 | 400 |
43116 | 该chain提币需要tag | 400 |
43117 | 超过可转出的最大金额 | 400 |
43118 | clientOrderId重复 | 400 |
43119 | Trading is not open | 400 |
43120 | symbol is not open trade | 400 |
43121 | Withdrawal address cannot be your own | 400 |
43122 | 该币种限制买入额度{0},还剩{1} | 400 |
43123 | param error {0} | 400 |
43124 | withdraw step is error | 400 |
43125 | No more than 8 decimal places | 400 |
43126 | This currency does not support withdrawals | 400 |
43127 | 非母账户发起划转,或母子账户关系错误 | 400 |
43128 | 超过总交易对最大委托数量限制 {0} | 400 |
47001 | Currency recharge is not enabled | 400 |
47002 | 提币地址校验失败 | 400 |
49000 | apiKey与用户userId不匹配 | 400 |
49001 | 非外部资金托管账户,不允许操作 | 400 |
49002 | 缺少http header: ACCESS-BROKER-KEY or ACCESS-BROKER-SIGN | 400 |
49003 | 非法的IP,拒绝访问 | 400 |
49004 | 非法的ACCESS-BROKER-KEY值 | 400 |
49005 | 子账户拒绝访问 | 400 |
49006 | ACCESS-BROKER-SIGN校验失败 | 400 |
49007 | 账户未绑定 | 400 |
49008 | 账户已绑定 | 400 |
49009 | 指定clientUserId和已绑定用户ID不一致 | 400 |
49010 | 账户 {0} 存在资产: {1} | 400 |
49011 | 用户绑定前必须完成KYC | 400 |
49020 | 不支持的币种 | 400 |
49021 | 资金操作进行中 | 400 |
49022 | 禁止访问 | 400 |
49023 | 余额不足 | 400 |
49024 | {0} 数量精度错误 | 400 |
49025 | 请求内容和初次请求该requestId的内容不一致,具体参数 {0} | 400 |
49026 | {0} 最大 {1} 位 | 400 |
49030 | 外部资金托管账户, 拒绝访问 | 400 |
49040 | 未知异常 | 400 |
60001 | startTime不能为空 | 400 |
60002 | merchantId不能为空 | 400 |
60003 | 未找到订单 | 400 |
60004 | 未找到广告 | 400 |
60005 | 未找到商家 | 400 |
70001 | 活动ID错误,未找到该活动 | 400 |
70002 | rankType错误不支持 | 400 |
45109 | 当前铺单账户为双向持仓 | 400 |
40000 | Bitget正在为全球多个国家和地区提供服务,并严格遵守各个国家和地区的法规与监管要求。依据相关法规,Bitget当前无法对您所在的地区(中国大陆地区)提供服务,您没有开仓权限,给您带来不便,敬请谅解! | 400 |
48001 | 参数验证失败 {0} | 400 |
48002 | 缺少请求参数 | 400 |
46013 | 该币种限制卖出额度{0},还剩{0} | 400 |
40404 | 请求的URL不存在 | 400 |
50010 | 未知错误 | 400 |
50012 | 账户已冻结或者已注销,请联系客服。 | 400 |
50013 | 账户已冻结、注销,请联系客服。 | 400 |
50019 | 该用户禁止交易 | 400 |
50059 | 不支持划转该币种 | 400 |
50052 | 资产划转时金额小于0 | 400 |
50048 | 超过交易对最大委托数量限制 | 400 |
50046 | 价格太低 | 400 |
50047 | 价格太高 | 400 |
50026 | 交易对未开放交易 | 400 |
50025 | 交易对未开放交易 | 400 |
50016 | 挂单数量低于交易对最小挂单数量 | 400 |
50017 | 挂单数量高于交易对最大挂单数量 | 400 |
50023 | 账号异常被冻结,如有疑问请联系客服 | 400 |
50031 | 系统异常 | 400 |
50044 | 未配置系统账户 | 400 |
50049 | 系统用户操作请求体为空 | 400 |
50050 | 系统借贷归集已经被执行过了 | 400 |
50027 | 交易对停止交易维护 | 400 |
50030 | 交易对即将开放 | 400 |
50029 | 交易对无下单价格 | 400 |
50028 | 交易对下线 | 400 |
50040 | 还款金额必须大于0 | 400 |
50042 | 还款金额必须大于利息 | 400 |
50041 | 还款金额必须小于可用资产 | 400 |
50051 | 对账时收到不在系统(缓存)中的用户 | 400 |
50024 | 交易对不存在 | 400 |
50011 | 参数校验异常 | 400 |
50053 | 借贷归还时金额小于0 | 400 |
50056 | 强平手续费缴纳时金额小于0 | 400 |
50054 | 利息归还时金额小于0 | 400 |
50055 | 手续费缴纳时金额小于0 | 400 |
50033 | websocket查询的topic不存在 | 400 |
50057 | 穿仓补偿时金额小于0 | 400 |
50032 | 币种不存在 | 400 |
50036 | 借贷配置不存在 | 400 |
50037 | 该币种不可借贷 | 400 |
50038 | 超出系统限制额度 | 400 |
50034 | 借款金额必须大于0.00000001 | 400 |
50035 | 超出最大可借金额 | 400 |
50020 | 余额不足 | 400 |
50045 | 锁定资产不足 | 400 |
50015 | 子账号暂时不支持开通杠杆交易 | 400 |
50021 | 杠杆帐户不存在 | 400 |
50022 | 账户处于强平状态 | 400 |
50014 | 账户已存在 | 400 |
50060 | 重复的clientOid | 400 |
50058 | 穿仓没收盈余金额小于0 | 400 |
50039 | 币对币种不匹配 | 400 |
50018 | 价格不能小于0 | 400 |
50043 | 未知的资产流水类型 | 400 |
50061 | 请修改后提交 | 400 |
50062 | 该订单已成交或者已撤单 | 400 |
50063 | 币种精度必须小于等于8位 | 400 |
50064 | 当前业务已冻结,如有疑问请联系客服 | 400 |
50065 | 币对已下架 | 400 |
50066 | 仓位平仓中,请稍后操作 | 400 |
31001 | 该用户不是交易员 | 400 |
31002 | 条件 {0} 未满足 | 400 |
31003 | 参数 {0} 必须有值,不能为空 | 400 |
31004 | 止盈价格需要>当前价格 | 400 |
31005 | 止损价格需要<当前价格 | 400 |
31006 | 此带单正在委托中,暂不支持平仓 | 400 |
31007 | 订单不存在 | 400 |
31008 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
31009 | 追踪订单状态错误 | 400 |
31010 | 清退用户提示 | 400 |
31011 | 未完全成交订单平仓提示取消委托 | 400 |
31012 | 回调幅度大于{0} | 400 |
31013 | 回调幅度小于{0} | 400 |
31014 | 止盈收益率大于{0} | 400 |
31015 | 止损收益率小于{0} | 400 |
31016 | 批量执行异常 | 400 |
31017 | 超过最大价格限制{0} | 400 |
31018 | 价格最小变动为 {0} | 400 |
31019 | 支持交易币对不存在 | 400 |
31020 | 业务被限制 | 400 |
31021 | 该币对不可交易,请选择其他币对 | 400 |
31022 | 不满足该交易区最小下单量,请选择其他交易区 | 400 |
31023 | 结束跟单处理中 | 400 |
31024 | 该笔订单未完全成交,请到"现货交易"-"当前委托"下撤销该笔委托后,再进行卖出或结束操作! | 400 |
31025 | 您的交易员身份已被停用或撤销,暂不支持此操作,如有疑问请联系客服! | 400 |
31026 | 用户不存在 | 400 |
31027 | 操作失败,请重试 | 400 |
31028 | 参数验证失败 | 400 |
31029 | 用户不存在 | 400 |
31030 | 所选交易对为空 | 400 |
31031 | 您当前身份为交易员,暂不可进行跟单操作 | 400 |
31032 | 不能自己跟自己 | 400 |
31033 | 移除失败 | 400 |
31034 | 此交易员跟随人数达上限,请选择其他交易员 | 400 |
31035 | 跟单比例不能低于{0} | 400 |
31036 | 跟单比例不能超过{0} | 400 |
31037 | 跟单张数不能低于{0} | 400 |
31038 | 超过最大限制 | 400 |
31039 | 交易员身份已被取消,无法设置提醒 | 400 |
31040 | 止盈比例需介于{0}%%-{1}%% | 400 |
31041 | 止损比例需介于{0}%%-{1}%% | 400 |
31042 | 您的交易员身份已暂停,若需设置带单合约请联系在线客服 | 400 |
31043 | 您的带单人数已经过平台增员,如需打开此功能请联系客服减员! | 400 |
31044 | 您当前正在申请交易员,暂不允许跟单 | 400 |
31045 | 当前最多可止盈/止损数量为{0},超过的数量请到当前带单下操作。 | 400 |
31046 | 子母账户之间不可带单或跟单 | 400 |
31047 | 跟随者被移除后的{0}分钟内不允许再次跟随,请稍后再试! | 400 |
31048 | 该交易员仅支持邀请用户跟随,请选择其他交易员! | 400 |
31049 | 该交易员身份异常或已被撤销,暂不支持查看! | 400 |
31050 | 交易员UID重复 | 400 |
31051 | traderUserId 异常 | 400 |
31052 | 不能设置交易员未开启的带单对。 | 400 |
31053 | executePrice 不能超过 triggerPrice 的{0} | 400 |
31054 | 没有可撤销的订单 | 400 |
20001 | startTime 必须小于 endTime | 400 |
22001 | 暂无委托可撤销 | 400 |
22002 | 暂无仓位可平 | 400 |
22003 | 修改price 和 size 时 请务必 传入 newClientOid | 400 |
22004 | 此 {0} 合约暂未支持API交易 | 400 |
22005 | 此合约暂不支持使用全仓模式 | 400 |
22006 | 委托价格 > 风控最高买价 | 400 |
22007 | 委托价格 < 风控最低卖价 | 400 |
22008 | 市场价格 > 风控最高买价 | 400 |
22009 | 市场价格 < 风控最低卖价 | 400 |
22010 | 请设置ip白名单地址 | 400 |
40100 | 由于监管要求,香港IP需要先完成身份验证 | 400 |
40101 | 请先完成KYC | 400 |
00001 | startTime 和 endTime 间隔不能大于366天 | 400 |
12001 | 当前最多可使用{0},剩余部分处于跟单或带单的冻结资产,暂不可使用 | 400 |
12002 | 当前币种{0},限制净卖出价值{1} USD | 400 |
12003 | 当前币种{0},限制净买出价值{1} USD | 400 |
13001 | 提币操作太频繁 | 400 |
13002 | 币种不存在 | 400 |
13003 | 提币超过每月限额 | 400 |
13004 | 您实际可提数量为{0} | 400 |
13005 | 生成地址失败 | 400 |
60006 | 参数异常 | 400 |
60007 | 上传文件不能超过5M | 400 |
60008 | 文件格式必须是[".jpg", ".jpeg", ".png"] | 400 |
60009 | 文件格式不正确 | 400 |
60010 | 上传异常 | 400 |
60011 | 普通用户无法发布广告 | 400 |
60012 | 您当前为离线状态,请切换为在线状态后再发布广告! | 400 |
60013 | 可用余额不足 | 400 |
60014 | 法币信息未查到 | 400 |
60015 | 数字币信息未查到 | 400 |
60016 | 仅支持发布CNY广告 | 400 |
60017 | 不支持发布CNY广告 | 400 |
60018 | 您的 KYC 认证仅支持发布{0} | 400 |
60019 | 发布失败,无法获取汇率价格 | 400 |
60020 | 广告类型错误 | 400 |
60021 | 支付方式为空 | 400 |
60022 | 交易数量不正确 | 400 |
60023 | 不满足法币限额({0}-{1}) | 400 |
60024 | 对账资金异常 | 400 |
60025 | 备注长度不能大于配置长度 | 400 |
60026 | 专属国家错误 | 400 |
60027 | 付款期限错误 | 400 |
60028 | 付款方式错误 | 400 |
60029 | 发布广告失败 | 400 |
60030 | 状态错误 | 400 |
60031 | 广告编号太长 | 400 |
60032 | 广告不存在 | 400 |
60033 | 发布的广告金额错误 | 400 |
60034 | 备注图片数量不能大于配置数量 | 400 |
60035 | 编辑广告失败 | 400 |
60036 | payTimeLimit不能为空 | 400 |
60037 | 发布失败,定价与参考价差距大 | 400 |
60038 | 发布失败,浮动比率错误。 | 400 |
60039 | 用户不存在 | 400 |
60040 | 未授权不支持访问 | 400 |
60041 | 修改广告价格失败 | 400 |
60042 | limitPrice 不能为空 | 400 |
60043 | 广告状态更新失败 | 400 |
60044 | 只有编辑中的广告,才能编辑 | 400 |
60045 | 超过可发布的广告数量 | 400 |
60046 | priceValue 不能是空 | 400 |
60047 | userPayMethodId 不能是空 | 400 |
13007 | 当前币种{0},24小时限制净买入价值{1} USD,还可以净购买价值{2} USD的{3} | 400 |
11000 | 白名单已开启,您的账户只能提现到地址簿地址 | 400 |
40103 | 非常抱歉,根据您的IP地址和留存信息,您似乎位于我们目前无法提供服务的国家或地区 | 400 |
40104 | 无法转账到该账户 请确保这是个有效并完成认证的账户 | 400 |
30001 | 价格最小变动为 {0} % | 400 |
40928 | 风控比例限制,您当前最大可开为{0} {1}。单个用户风控比例限额是所有母子账户一起计算 | 400 |
47003 | 白名单已开启,您的账户只能提现到地址簿地址 | 400 |
13008 | 单笔提币超过最大限额 | 400 |
13009 | 超过每日总额额度 | 400 |
32038 | 卖出价不能低于触发价的{0} | 400 |
WebSocket错误代码
错误提示 | 错误码 |
---|---|
频道不存在 | 30001 |
不合法的请求 | 30002 |
无效op | 30003 |
用户需要登录 | 30004 |
登录失败 | 30005 |
请求频繁 | 30006 |
请求超限,连接关闭 | 30007 |
无效的ACCESS_KEY | 30011 |
无效的ACCESS_PASSPHRASE | 30012 |
无效的ACCESS_TIMESTAMP | 30013 |
请求时间戳过期 | 30014 |
无效的签名 | 30015 |
参数错误 | 30016 |