数据源订阅
本节描述了交易系统支持的数据源订阅方式。
订阅类型
| 类型 | 说明 |
|---|---|
| SubscribeWs | Websockets订阅 |
| SubscribeRest | Rest每隔一段时间(自定义间隔)轮询 |
| SubscribeTimer | 每隔一段时间(自定义间隔)执行一次回调 |
Websockets订阅
请求参数
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| account_id | Number | 是 | 账户ID |
| sub | Object(SubscribeWs) | 是 | 订阅对象 |
SubscribeWs
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| SubscribeWs | Array(SubscribeChannel) | 是 | 订阅对象详情 |
SubscribeChannel
SubscribeChannel是一个枚举类型(enum),定义了所有支持的订阅频道
| 频道 | 参数 | 说明 | 是否私有 |
|---|---|---|---|
| MarkPrice | Array(String) | 标记价格 | 否 |
| Bbo | Array(String) | 买卖价 | 否 |
| Depth | DepthWsParams | 市场深度 | 否 |
| Funding | Array(String) | 资金费率 | 否 |
| Trade | Array(String) | 公有成交 | 否 |
| Order | Array(String) | 订单 | 是 |
| OrderAndFill | Array(String) | 订单以及成交 | 是 |
| Position | Array(String) | 仓位 | 是 |
| Balance | - | 余额 | 是 |
| FundingFee | Array(String) | 结算资金费 | 是 |
DepthWsParams
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbols | String | 是 | 交易对 |
| levels | Number | 是 | 深度 |
订阅示例
{
"account_id": 0,
"sub": {
"SubscribeWs": [
{
"Bbo": [
"BTC_USDT"
]
},
{
"Funding": [
"BTC_USDT"
]
},
{
"Depth": {
"symbols": [
"BTC_USDT"
],
"levels": 5
}
}
]
}
}
Rest订阅
请求参数
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| account_id | Number | 是 | 账户ID |
| sub | Object(SubscribeRest) | 是 | 订阅对象 |
SubscribeRest
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| update_interval | Object(Duration) | 是 | 轮询间隔 |
| rest_type | String(RestType) | 是 | 订阅频道 |
Duration
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| secs | Number | 是 | 秒 |
| nanos | Number | 是 | 纳秒 |
RestType
RestType是一个枚举类型(enum),定义了所有支持的Rest订阅频道
| 频道 | 说明 |
|---|---|
| Funding | 资金费率 |
| Balance | 余额 |
| Position | 仓位 |
| Instrument | 币对产品 |
订阅示例
{
"account_id": 0,
"sub": {
"SubscribeRest": {
"update_interval": {
"secs": 1,
"nanos": 0
},
"rest_type": "Balance"
}
}
}
Timer订阅
请求参数
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| account_id | Number | 是 | 账户ID |
| sub | Object(TimerSubscribe) | 是 | 订阅对象 |
TimerSubscribe
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| update_interval | Object(Duration) | 是 | 轮询间隔 |
| name | String | 是 | 自定义名称 |
订阅示例
{
"account_id": 0,
"sub": {
"SubscribeTimer": {
"update_interval": {
"secs": 1,
"nanos": 0
},
"name": "test"
}
}
}