U本位合约 API 开发指南:从签名到交易的完整调用手册

·

关键词:U本位合约、HmacMD5 签名、资金划转、下单、撤单、止盈止损、查询资产、仓位、永续合约 API

1. SDK 与快速上手

Bibox 提供了 JavaScriptPythonC# 多语言 SDK,已自动完成 数据签名深度合成 流程。

// js 示意
console.log('U本位合约 javascript 代码示例');
# python 示意
if __name__ == '__main__':
 print('U本位合约 python 代码示例')
// C# 示意
Console.WriteLine("U本位合约 c# 代码示例");

👉 点此查看如何一键部署云量化脚本

2. 构建安全请求:HmacMD5 签名七步曲

步骤描述
1获取毫秒时间戳 timestamp
2序列化业务参数为 JSON 字符串
3拼接待签名字符串:timestamp + JSON
4用 secret 做 HmacMD5 签名
5在 HTTP 头增加 bibox-api-keybibox-api-signbibox-timestamp
6Content-Type 设为 application/json,body 传原始 JSON
7解析响应,state 为 0 即成功

示例代码片段

let strToSign = timestamp + strParam;
let sign = CryptoJS.HmacMD5(strToSign, secret).toString();
FAQ
Q1:收到 401 签名失败怎么办?
检查时间戳偏差是否小于 60 秒,确保 JSON 拼接顺序一致。
Q2:可以重放同一组签名吗?
不建议,时间戳会被平台校验一次有效性。

3. 资金划转:从钱包到合约账户

将 USDT 或其他币种从现货钱包转入合约账户后方可下单。

👉 抢先体验实时划转零延迟通道

FAQ
Q3:提示“可用余额不足”?
先去现货账户确认余额再做划转;划转成功后再调用下单接口。

4. 下单:市价单 & 限价单

路径: POST /v3/cbu/order/open
关键字段:

进阶:一次下单挂止盈止损
在开仓时追加:

body = {
  "pair": "4BTC_USDT",
  "order_side": 1,
  "order_type": 2,
  "price": "25000",
  "amount": "10",
  "profit_price": "26000",
  "loss_price": "24500"
}
FAQ
Q4:为何部分订单报“amount 参数错误”?
数量不是合约面值整数倍,请查阅对应品种的合约面值说明。

5. 撤单:单条、批量、全部

场景路径
撤销 1 条/v3/cbu/order/close
撤销 N 条/v3/cbu/order/closeBatch
清仓该标的/v3/cbu/order/closeAll

示例(撤某一条):

{"order_id": "426610511577093"}

6. 止盈止损委托(计划单)

撤回与查询

FAQ
Q5:“触发价错误”如何解决?
多仓止盈触发价必须 > 当前价,止损则反之,空单反之亦然。

7. 仓位与风险管理

7.1 逐仓调保证金

POST /v3/cbu/changeMargin
调增可将爆仓价推远,调减则可能触发强平。

7.2 调整杠杆和仓位模式

通过 POST /v3/cbu/changeMode 可将同一标的的多、空仓杠杆分开设置。

8. 查询接口速查表

场景接口说明
资产/v3/cbu/assets查看可用与冻结
仓位/v3/cbu/position查看持仓、已委托止盈止损剩余额度
订单列表/v3/cbu/order/list历史+在线
在线订单详情/v3/cbu/order/detail实时状态
仓位变化/v3.1/cquery/base_u/dealLog仓位流水
成交明细/v3.1/cquery/base_u/orderDetail逐笔成交
FAQ
Q6:如何防止爆仓?
监控有效杠杆与保证金率,必要时调增保证金或减小仓量。

9. 实战思路与最佳实践

  1. 时间同步:本地时间误差 < 3 秒。
  2. 重连策略:对 5xx、429 做指数退避。
  3. 资金阶梯:先做小额划转与测试单,无误后再批量。
  4. 缓存订单 ID:在本地持久化,避免失联后无法撤单。
  5. 日志追踪:对每次 sign 参数与返回 state 做持久日志,方便回测排查。