现货账户和交易接口
测试下单 (TRADE)
POST /api/v1/spot/orderTest (HMAC SHA256)
用于测试订单请求,但不会提交到撮合引擎
权重: 1
响应
json
{}参数
同于 POST /api/v1/spot/order
下单 (TRADE)
POST /api/v1/spot/order (HMAC SHA256)
发送下单。
权重: 1
响应
json
{
"accountId": "1287091689761137921",
"symbol": "BTCUSDT",
"symbolName": "BTCUSDT",
"clientOrderId": "1668483032042259",
"orderId": "1289723583082363136",
"transactTime": "1668483032058",
"price": "400",
"origQty": "1",
"executedQty": "0",
"status": "FILLED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | 交易对 |
| side | ENUM | YES | BUY或SELL |
| type | ENUM | YES | 详见枚举定义:订单类型 |
| timeInForce | ENUM | NO | 详见枚举定义:有效方式 |
| quantity | DECIMAL | YES | 数量 |
| price | DECIMAL | NO | 价格 |
| newClientOrderId | STRING | NO | 一个自己给订单定义的ID,不可以重复出现在挂单中 如果没有发送会自动生成。 |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
基于订单 type不同,强制要求某些参数:
| 类型 | 额外强制参数 |
|---|---|
LIMIT | quantity,price |
MARKET | quantity |
LIMIT_MAKER | quantity, price |
批量下单 (TRADE)
POST /api/v1/spot/batchOrders (HMAC SHA256)
权重: 2
批量创建新订单,单次最多20条订单,必须为同一symbol。
例子:
bash
curl -H "Content-Type:application/json" -H "X-BB-APIKEY: SRQGN9M8Sr87nbfKsaSxm33Y6CmGVtUu9Erz73g9vHFNn36VROOKSaWBQ8OSOtSq" -X POST -d '[
{ "newClientOrderId": "pl12241234567898",
"orderId": 202212241234567898,
"symbol": "BTCUSDT",
"side": "SELL",
"type": "LIMIT",
"price": 17001,
"quantity": 1
},
{ "newClientOrderId": "pl12241234567899",
"orderId": 202212241234567899,
"symbol": "BTCUSDT",
"side": "SELL",
"type": "LIMIT",
"price": 17002,
"quantity": 1
} ]' 'https://api.toobit.com/api/v1/spot/batchOrders?timestamp=1671880913657&signature=7548b6834613afed3b7d3b0b9bfb0e0b3e3799c46db3ea6b952439fde35cb88f'响应 成功返回:
json
{
"code": 0,
"result": [{
"code": 0,
"order": {
"accountId": "1287091689761137921",
"symbol": "BTCUSDT",
"symbolName": "BTCUSDT",
"clientOrderId": "pl12241234567898",
"orderId": "202212241234567898",
"transactTime": "1671880251836",
"price": "17001",
"origQty": "1",
"executedQty": "0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
}
}, {
"code": 0,
"order": {
"accountId": "1287091689761137921",
"symbol": "BTCUSDT",
"symbolName": "BTCUSDT",
"clientOrderId": "pl12241234567899",
"orderId": "202212241234567899",
"transactTime": "1671880251853",
"price": "17002",
"origQty": "1",
"executedQty": "0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
}
}]
}失败返回:
json
{
"code": 0,
"result": [{
"code": -1149,
"msg": "Create order failed"
}, {
"code": -1149,
"msg": "Create order failed"
}]
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| list | YES | RequestBody 参数 | |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
其中RequestBody中batchOrders应以list of JSON格式填写订单参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | 交易对 |
| side | ENUM | YES | BUY或SELL |
| type | ENUM | YES | 详见枚举定义:订单类型 |
| timeInForce | ENUM | NO | 详见枚举定义:有效方式 |
| quantity | DECIMAL | YES | 数量 |
| price | DECIMAL | NO | 价格 |
| newClientOrderId | STRING | YES | 用户自定义订单ID。不可以重复出现在挂单中 |
基于订单 type不同,强制要求某些参数:
| 类型 | 额外强制参数 |
|---|---|
LIMIT | quantity,price |
MARKET | quantity |
LIMIT_MAKER | quantity, price |
撤销订单 (TRADE)
DELETE /api/v1/spot/order (HMAC SHA256)
取消有效订单。
权重: 1
响应
json
{
"symbol": "LTCBTC",
"orderId": "1",
"clientOrderId": "9t1M2K0Ya092",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"transactTime": "1499827319559"
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderId | LONG | NO | 订单ID |
| clientOrderId | STRING | NO | 客户订单ID |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
orderId 或 origClientOrderId 必须至少发送一个
批量撤单 (TRADE)
DELETE /api/v1/spot/openOrders (HMAC SHA256)
权重: 5
响应
json
{
"success": true
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | NO | 现货名称(多个用,隔开) |
| side | ENUM | NO | BUY或SELL |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
批量撤单 (TRADE)
DELETE /api/v1/spot/cancelOrderByIds (HMAC SHA256)
根据订单id批量撤单,单次最多100条
权重: 5
响应
取消全部成功:
json
{
"code":0, // 0 代表执行成功
"result":[] //批量撤单结果
}取消部分或全部失败:
json
{
"code":0,
"result":[
{
"orderId":"202212231234567895",
"code":-2013 //
},
{
"orderId":"202212231234567896",
"code":-2013
}
]
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| ids | STRING | YES | 订单id(多个用,隔开) |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
注意:code返回0代表撤单请求被执行,是否成功还需要看result里的结果,如果result为空代表全部成功,不为空orderId代表撤销失败的订单id,code代表撤销失败原因。
查询订单 (USER_DATA)
GET /api/v1/spot/order (HMAC SHA256)
权重: 1
响应
json
{
"symbol": "LTCBTC",
"orderId": "1",
"clientOrderId": "9t1M2K0Ya092",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"cumulativeQuoteQty": "0.0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"stopPrice": "0.0",
"icebergQty": "0.0",
"time": "1499827319559",
"updateTime": "1499827319559",
"isWorking": true
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderId | LONG | NO | 订单ID |
| origClientOrderId | STRING | NO | 客户订单ID |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
注意:
- 单一 orderId 或者 origClientOrderId 必须被发送。
- 对于某些历史数据 cumulativeQuoteQty 可能会 < 0, 这说明数据当前不可用。
当前挂单 (USER_DATA)
GET /api/v1/spot/openOrders (HMAC SHA256)
获取交易对的所有当前挂单, 请小心使用不带交易对参数的调用。
权重:1
响应
json
[
{
"symbol": "LTCBTC",
"orderId": "1",
"clientOrderId": "t7921223K12",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"cummulativeQuoteQty": "0.0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"stopPrice": "0.0",
"icebergQty": "0.0",
"time": "1499827319559",
"updateTime": "1499827319559",
"isWorking": true
}
]参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderId | LONG | NO | 订单ID |
| symbol | STRING | NO | 交易对 |
| limit | INT | NO | 默认 500; 最多 1000. |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
注意:
- 如果orderId设定好了,会筛选订单小于orderId的。否则会返回最近的订单信息。
查询所有订单 (USER_DATA)
GET /api/v1/spot/tradeOrders (HMAC SHA256)
获取所有帐户订单; 有效,已取消或已完成。
权重: 5
响应
json
[
{
"symbol": "LTCBTC",
"orderId": "1",
"clientOrderId": "987yjj2Ym",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"cummulativeQuoteQty": "0.0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"stopPrice": "0.0",
"icebergQty": "0.0",
"time": "1499827319559",
"updateTime": "1499827319559",
"isWorking": true
}
]参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderId | LONG | NO | 订单ID |
| symbol | STRING | NO | 交易对 |
| startTime | LONG | NO | 开始时间戳, 默认值:三天前 |
| endTime | LONG | NO | 结束时间戳 |
| limit | INT | NO | 默认 500; 最多 1000. |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
账户信息 (USER_DATA)
GET /api/v1/account
权重: 5
响应
json
{
"balances": [
{
"asset": "BTC", //资产
"assetId": "BTC", //资产id
"assetName": "BTC", //资产名称
"total": "995.899", //总数量
"free": "995.899", //可用数
"locked": "0" //冻结数
}
]
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
账户成交历史 (USER_DATA)
GET /api/v1/account/trades
权重: 5
响应
json
[
{
"id": "1291291745779199489",
"symbol": "BTCUSDT",
"symbolName": "BTCUSDT",
"orderId": "1290805676579237376",
"price": "314",
"qty": "0.71433122",
"commission": "0.22430000308",
"commissionAsset": "USDT",
"time": "1668669971575",
"isBuyer": false,
"isMaker": true,
"fee": {
"feeCoinId": "USDT",
"feeCoinName": "USDT",
"fee": "0.22430000308"
},
"feeCoinId": "USDT",
"feeAmount": "0.22430000308",
"makerRebate": "0",
"ticketId": "1185465136943458745" // ticketId
}
]参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | 交易对 |
| startTime | LONG | NO | 开始时间戳 |
| endTime | LONG | NO | 结束时间戳 |
| fromId | LONG | NO | 起始id |
| toId | LONG | NO | 结束id |
| limit | INT | NO | 每页显示条数 |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
注意:
- 如果只有fromId,会返回订单号小于fromId的,倒序排列。
- 如果只有toId,会返回订单号大于toId的,升序排列。
- 如果同时有fromId和toId, 会返回订单号在fromId和toId的,倒序排列。
- 如果fromId和toId都没有,会返回最新的成交记录,倒序排列。
查询子账户 (USER_DATA)
GET /api/v1/account/subAccount
权重: 5
响应:
json
[
{
"accountId": "122216245228131",
"accountName": "",
"accountType": 1,
"accountIndex": 0 // 账户index 0 默认账户 >0, 创建的子账户
},
{
"accountId": "482694560475091200",
"accountName": "createSubAccountByCurl", // 子账户名称
"accountType": 1, // 子账户类型 1 币币账户 3 合约账户
"accountIndex": 1
}
]参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
母子账户万能划转
POST /api/v1/subAccount/transfer
支持的划转操作:
- 母账户操作 母账户
现货账户划转到任意子账户现货账户、U本位合约账户 - 母账户操作 母账户
现货账户、U本位合约账户之间的划转 - 母账户操作 任意子账户
现货账户、U本位合约账户划转到母账户现货账户 - 母账户操作 某一个子账户的
现货账户、U本位合约账户之间的划转 - 子用户操作 当前子账户
现货账户到母用户现货账户、U本位合约账户的划转 - 子用户操作 当前子用户
现货账户、U本位合约账户之间的划转
权重: 1
响应:
json
{
"code": 200, // 成功
"msg": "success" // 响应消息
}参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| fromUid | LONG | YES | 源账户id |
| toUid | LONG | YES | 目标账户id |
| fromAccountType | String | YES | 源账户类型 |
| toAccountType | String | YES | 目标账户类型 |
| asset | String | YES | 币种 |
| quantity | DECIMAL | YES | 转账数量 |
| timestamp | LONG | YES | 时间戳 |
| recvWindow | LONG | NO | recv窗口 |
accountType: MAIN: 现货 FUTURES: U本位合约
查询账户流水 (USER_DATA)
GET /api/v1/account/balanceFlow
权重: 5
响应
json
[
{
"id": "539870570957903104",
"accountId": "122216245228131",
"coin": "BTC",
"coinId": "BTC",
"coinName": "BTC",
"symbol": "BTCUSDT", // 交易对
"symbolId": "BTCUSDT", // 交易对ID
"flowTypeValue": 51, // 流水类型
"flowType": "USER_ACCOUNT_TRANSFER", // 流水类型名称
"flowName": "Transfer", // 流水类型说明
"change": "-12.5", // 变动值
"total": "379.624059937852365", // 变动后当前tokenId总资产
"created": "1579093587214"
}
]参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| accountType | INT | NO | 账户对应的account_type, 1: 币币账户, 3: 合约账户 |
| coin | STRING | NO | 资产 |
| flowType | INT | NO | 划转:51 |
| fromId | LONT | NO | 顺向查询数据 |
| endId | LONG | NO | 反向查询数据 |
| startTime | LONG | NO | 开始时间 |
| endTime | LONG | NO | 结束时间 |
| limit | INT | NO | 每页记录数 |
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
获取API KEY类型 (USER_DATA)
GET /api/v1/account/checkApiKey
响应
json
{
"accountType": "master"
}参数
| 参数名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| recvWindow | LONG | NO | recv窗口 |
| timestamp | LONG | YES | 时间戳 |
accountType类型:
master
spot
contract