# K线频道

### 描述

获取产品的K线数据

首次订阅后，会先全量(snapshot)推送最近数据，然后推送增量数据(update)

k线频道有成交，1s推送一次

没成交，到时间粒度时推送一次

<div className="api-aligning">

```json title="请求示例"
{
    "op": "subscribe",
    "args": [
        {
            "instType": "SPOT",
            "channel": "candle1m",
            "instId": "ETHUSDT"
        }
    ]
}
```

### 请求参数

| 参数名           | 参数类型               | 是否必须 | 描述                                                                                                                                                                                                                                                                                                  | 
|:--------------|:-------------------|:-----|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| op            | String             | 是    | 操作，subscribe unsubscribe                                                                                                                                                                                                                                                                            |
| args          | List&lt;Object&gt; | 是    | 请求订阅的频道列表                                                                                                                                                                                                                                                                                           |
| &gt; instType | String             | 是    | 产品线类型, `SPOT`                                                                                                                                                                                                                                                                                               |
| &gt; channel  | String             | 是    | 频道名,candle1m,candle5m 5分钟,candle15m 15分钟,candle30m 30分钟,candle1H 1小时,candle4H 4小时,candle6H 6小时,candle12H 12小时<br/>,candle1D 1天,candle3D 3天.candle1W 1周,candle1M 1月线,candle6Hutc  零时区 6小时线,candle12Hutc 零时区12小时线,candle1Dutc  零时区 1日线<br/>,candle3Dutc 零时区 3日线,candle1Wutc 零时区 周线,candle1Mutc 零时区 月线 |
| &gt; instId   | String             | 是    | 产品id 例如：ETHUSDT                                                                                                                                                                                                                                                                                     |

</div>

<div className="api-aligning">

```json title="订阅返回示例"
{
  "event": "subscribe",
  "arg": {
    "instType": "SPOT",
    "channel": "candle1m",
    "instId": "ETHUSDT"
  }
}
```

### 返回参数

| 返回字段          | 参数类型   | 字段说明                                                                                                                                                                                                                                                                                                      | 
|:--------------|:-------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| event         | String | 事件，subscribe unsubscribe error                                                                                                                                                                                                                                                                      |
| arg           | Object | 订阅的频道                                                                                                                                                                                                                                                                                               |
| &gt; instType | String | 产品类型                                                                                                                                                                                                                                                                                                |
| &gt; channel  | String | 频道名,candle1m,candle5m 5分钟,candle15m 15分钟,candle30m 30分钟,candle1H 1小时,candle4H 4小时,candle6H 6小时,candle12H 12小时<br/>,candle1D 1天,candle3D 3天.candle1W 1周,candle1M 1月线,candle6Hutc  零时区 6小时线,candle12Hutc 零时区12小时线,candle1Dutc  零时区 1日线<br/>,candle3Dutc 零时区 3日线,candle1Wutc 零时区 周线,candle1Mutc 零时区 月线 |
| &gt; instId   | String | 是<br/>产品id 例如：ETHUSDT                                                                                                                                                                                                                                                                                     |
| code          | String | 错误码，错误时才会返回                                                                                                                                                                                                                                                                           |
| msg           | String | 错误消息                                                                                                                                                                                                                                                                                                |

</div>

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

<div className="api-aligning">

```json title="推送返回示例"
{
  "action": "snapshot",
  "arg": {
    "instType": "SPOT",
    "channel": "candle1m",
    "instId": "ETHUSDT"
  },
  "data": [
    [
      "1695672780000",
      "2200.1",
      "2200.1",
      "2200.1",
      "2200.1",
      "0",
      "0",
      "0"
    ]
  ],
  "ts": 1695702747821
}
```

### 推送数据参数

| 返回字段          | 参数类型               | 字段说明                               | 
|:--------------|:-------------------|:-----------------------------------|
| action                | String             | 推送数据动作, `snapshot` or `update` |
| arg           | Object             | 订阅频道                               |
| &gt; channel  | String             | 频道名                                |
| &gt; instType | String             | 产品类型                               |
| &gt; instId   | String             | 产品id 例如：ETHUSDT                    |
| data          | List&lt;String&gt; | 订阅的数据                              |
| &gt; index[0] | String             | 开始时间，Unix时间戳的毫秒数格式，如 1597026383085 |
| &gt; index[1] | String             | 开盘价格                               |
| &gt; index[2] | String             | 最高价格                               |
| &gt; index[3] | String             | 最低价格                               |
| &gt; index[4] | String             | 收盘价格                               |
| &gt; index[5] | String             | 交易币成交量                             |
| &gt; index[6] | String             | 计价币成交量                             |
| &gt; index[7] | String             | usdt交易量                            |
| &gt; index[7] | String             | 折合USDT量                            |

</div>
