# 深度频道

### 描述

获取深度数据<br/>`books`,`books5`,`books15`默认推送频率：**150ms**<br/>`books1`默认推送频率：**10ms**

- `books` 对应全量深度数据，首次推送全量数据：`snapshot`，后续推送增量变化数据：`update`
- `books1` 对应1档位深度数据，每次推送：`snapshot`
- `books5` 对应5档位深度数据，每次推送：`snapshot`
- `books15` 对应15档位深度数据，每次推送：`snapshot`

**seq说明**
- update增量消息的seq在除币对维护的情况是递增的

<div className="api-br-10"></div>

<div className="api-aligning">

```json title="请求示例"
{
    "op": "subscribe",
    "args": [
        {
            "instType": "USDT-FUTURES",
            "channel": "books5",
            "instId": "BTCUSDT"
        }
    ]
}
```

### 请求参数

| 参数名 | 参数类型 | 是否必须 | 描述                                                                                | 
| :---- | :---- | :---- |:----------------------------------------------------------------------------------|
| op | String | 是 | 操作, subscribe unsubscribe                                                         |
| args | List&lt;Object&gt; | 是 | 请求订阅的频道列表                                                                         |
| &gt; instType | String | 是 | 产品类型<br/>`USDT-FUTURES` U本位合约<br/>`COIN-FUTURES` 币本位合约<br/>`USDC-FUTURES` USDC合约  |
| &gt; channel | String | 是 | 频道名: `books/books1/books5/books15`                                                |
| &gt; instId | String | 是 | 产品ID                                                                              |

</div>

<div className="api-br-10"></div>

<div className="api-aligning">

```json title="订阅返回示例"
{
    "event": "subscribe",
    "arg": {
        "instType": "USDT-FUTURES",
        "channel": "books5",
        "instId": "BTCUSDT"
    }
}
```

### 返回参数

| 返回字段 | 参数类型 | 字段说明                                                                              | 
| :---- | :---- |:----------------------------------------------------------------------------------|
| event | String | 事件                                                                                |
| arg | Object | 订阅的频道                                                                             |
| &gt; instType | String | 产品类型<br/>`USDT-FUTURES` U本位合约<br/>`COIN-FUTURES` 币本位合约<br/>`USDC-FUTURES` USDC合约  |
| &gt; channel | String | 频道名: `books/books1/books5/books15`                                                |
| &gt; instId | String | 产品ID                                                                              |
| msg | String | 错误消息                                                                              |
| code | String | 错误码                                                                               |

</div>

<div className="api-br-5"></div>

<div className="api-aligning">

```json title="推送返回示例"
{
    "action": "snapshot",
    "arg": {
        "instType": "USDT-FUTURES",
        "channel": "books5",
        "instId": "BTCUSDT"
    },
    "data": [
        {
            "asks": [
                [
                    "27002.0",
                    "5.070"
                ],
                [
                    "27002.5",
                    "1.470"
                ]
            ],
            "bids": [
                [
                    "26998.5",
                    "6.620"
                ],
                [
                    "26998.0",
                    "7.510"
                ]
            ],
            "seq": 123,
            "pseq": 122,
            "ts": 1695716059516
        }
    ],
    "ts": "1695716059516"
}
```

### 推送数据参数

| 返回字段           | 参数类型               | 字段说明                                                                             | 
|:---------------|:-------------------|:---------------------------------------------------------------------------------|
| arg            | Object             | 订阅成功的频道                                                                          |
| &gt; instType  | String             | 产品类型<br/>`USDT-FUTURES` U本位合约<br/>`COIN-FUTURES` 币本位合约<br/>`USDC-FUTURES` USDC合约 |
| &gt; channel   | String             | 频道名: `books/books1/books5/books15`                                               |
| &gt; instId    | String             | 产品ID                                                                             |
| action         | String             | 推送数据动作， 增量推送数据还是全量推送数据                                                           |
| data           | List&lt;Object&gt; | 订阅的数据                                                                            |
| &gt; asks      | List&lt;String&gt; | 卖方深度                                                                             |
| &gt; bids      | List&lt;String&gt; | 买方深度                                                                             |
| &gt; ts        | String             | 撮合引擎时间戳，Unix时间戳的毫秒数格式，如 1597026383085                                            |
| &gt; seq       | Long               | 序列号 <br/> 订单簿更新时递增，可以用来判断是否乱序                                                    |
| &gt; pseq      | String             | 上次推送序列号<br/>`books` 频道：推送增量变化数据时有值且非0；`books1`、`books5`、`books15` 频道：固定返回 `0`。可用来判断是否丢包 |
| ts             | String             | 数据推送时间                                                                           |

</div>
