> For the complete documentation index, see [llms.txt](https://polyv.gitbook.io/document/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://polyv.gitbook.io/document/docs/live/java/channeldistribute.md).

# Channel Distribute

### 1、查询分发地址信息

#### 描述

```
查询分发地址信息
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/list
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

#### 单元测试

```java
	@Test
	public void testListChannelDistribute() throws IOException, NoSuchAlgorithmException {
        LiveChannelDistributeListRequest liveChannelDistributeListRequest = new LiveChannelDistributeListRequest();
        LiveChannelDistributeListResponse liveChannelDistributeListResponse;
        try {
            liveChannelDistributeListRequest.setChannelId(super.getAloneChannelId());
            liveChannelDistributeListResponse = new LiveChannelDistributeServiceImpl().listChannelDistribute(
                    liveChannelDistributeListRequest);
            Assert.assertNotNull(liveChannelDistributeListResponse);
            if (liveChannelDistributeListResponse != null) {
                //to do something ......
                log.debug("测试查询分发地址信息成功 {}", JSON.toJSONString(liveChannelDistributeListResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回LiveChannelDistributeListResponse对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名           | 必选    | 类型     | 说明                           |
| ------------- | ----- | ------ | ---------------------------- |
| channelId     | true  | String | 频道号                          |
| distributeIds | false | String | 分发ID，以英文逗号分割，不传默认查询频道下全部分发地址 |

#### 返回对象描述

| 参数名              | 类型     | 说明                                                                                                                                                                         |
| ---------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| distributeEnable | String | 频道分发直播总开关 Y：开启 N：关闭                                                                                                                                                        |
| result           | Array  | 分发地址响应对象列表【详见[ChannelDistribute参数描述](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/channelDistribute.md?id=p36f0decc28879b7644d23aefbec98eda)】 |

[**ChannelDistribute参数描述**](#/channelDistribute.md?id=p36f0decc28879b7644d23aefbec98eda)

| 参数名                | 类型      | 说明                                                         |
| ------------------ | ------- | ---------------------------------------------------------- |
| id                 | Integer | 云分发ID                                                      |
| channelId          | String  | 频道号                                                        |
| name               | String  | 分发地址名称                                                     |
| distributeUrl      | String  | 推流地址                                                       |
| distributeLiveCode | String  | 直播码                                                        |
| status             | String  | 分发直播开关 Y：打开 N：关闭                                           |
| connectionStatus   | String  | 连接状态 completed：已结束 processing：转推中 waiting：等待连接中 error：转推失败 |

\ <br>

***

\ <br>

### 2、批量添加分发地址

#### 描述

```
批量添加分发地址
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/create-batch
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

2、只有纯视频、纯视频-极速（原大班课）直播模板的频道支持云分发

3、账号需要开通云分发功能

4、云分发地址个数上限：15

#### 单元测试

```java
	@Test
	public void testCreateChannelDistribute() throws IOException, NoSuchAlgorithmException {
        LiveChannelDistributeCreateRequest liveChannelDistributeCreateRequest =
                new LiveChannelDistributeCreateRequest();
        Boolean liveChannelDistributeCreateResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            LiveChannelDistributeCreateRequest.CreateDistribute createDistribute =
                    new LiveChannelDistributeCreateRequest.CreateDistribute();
            createDistribute.setName("SDK测试云分发")
                    .setDistributeUrl("rtmp://xx.xxx")
                    .setDistributeLiveCode(super.getRandomString(6))
                    .setStatus(LiveConstant.Flag.YES.getFlag());
            liveChannelDistributeCreateRequest.setChannelId(channelId).setContents(Arrays.asList(createDistribute));
            liveChannelDistributeCreateResponse = new LiveChannelDistributeServiceImpl().createChannelDistribute(
                    liveChannelDistributeCreateRequest);
            Assert.assertTrue(liveChannelDistributeCreateResponse);
            if (liveChannelDistributeCreateResponse) {
                //to do something ......
                log.debug("测试批量添加分发地址成功");
                //TODO 此处创建完成后删除了分发地址，正式使用需删除该语句
                super.deleteChannelDistribute(channelId, getChannelDistributeId(channelId));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回Boolean对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名       | 必选   | 类型     | 说明                                                                                                                                                                        |
| --------- | ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| channelId | true | String | 频道号                                                                                                                                                                       |
| contents  | true | Array  | 分发地址请求对象列表【详见[CreateDistribute参数描述](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/channelDistribute.md?id=pe6152cff2342373f49b0f6f396fd6e0c)】 |

[**CreateDistribute参数描述**](#/channelDistribute.md?id=pe6152cff2342373f49b0f6f396fd6e0c)

| 参数名                | 必选    | 类型     | 说明                                                                                                             |
| ------------------ | ----- | ------ | -------------------------------------------------------------------------------------------------------------- |
| name               | true  | String | 分发地址名称，长度不能超过20                                                                                                |
| distributeUrl      | true  | String | 推流地址（不可存在相同的推流地址），例：rtmp\://polyv.net，需满足正则：(^(\[rR]\[tT]\[mM]\[pP]://)(\[\w-]+.)+\[\w-]+(/\[\w-./?%#&=]\*)?$) |
| distributeLiveCode | false | String | 直播码                                                                                                            |
| status             | false | String | 分发直播推流开关，不传则默认关闭 Y：打开 N：关闭                                                                                     |

#### 返回对象描述

批量添加分发地址返回实体\ <br>

***

\ <br>

### 3、批量修改分分发地址

#### 描述

```
修改分发地址
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/update-batch
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

2、分发推流中不可修改推流地址

#### 单元测试

```java
	@Test
	public void testUpdateChannelDistribute() throws IOException, NoSuchAlgorithmException {
        LiveChannelDistributeUpdateRequest liveChannelDistributeUpdateRequest =
                new LiveChannelDistributeUpdateRequest();
        Boolean liveChannelDistributeUpdateResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            LiveChannelDistributeUpdateRequest.UpdateDistribute updateDistribute =
                    new LiveChannelDistributeUpdateRequest.UpdateDistribute();
            updateDistribute.setId(super.getChannelDistributeId(channelId))
                    .setName("SDK测试修改云分发")
                    .setDistributeUrl("rtmp://xxxx.xxx")
                    .setDistributeLiveCode(super.getRandomString(6));
            liveChannelDistributeUpdateRequest.setChannelId(channelId).setContents(Arrays.asList(updateDistribute));
            liveChannelDistributeUpdateResponse = new LiveChannelDistributeServiceImpl().updateChannelDistribute(
                    liveChannelDistributeUpdateRequest);
            Assert.assertTrue(liveChannelDistributeUpdateResponse);
            if (liveChannelDistributeUpdateResponse) {
                //to do something ......
                log.debug("测试批量修改分分发地址成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回Boolean对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名       | 必选   | 类型     | 说明                                                                                                                                                                        |
| --------- | ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| channelId | true | String | 频道号                                                                                                                                                                       |
| contents  | true | Array  | 分发地址请求对象列表【详见[UpdateDistribute参数描述](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/channelDistribute.md?id=p9497e5d0b9b94c8af41226c48827a589)】 |

[**UpdateDistribute参数描述**](#/channelDistribute.md?id=p9497e5d0b9b94c8af41226c48827a589)

| 参数名                | 必选    | 类型      | 说明                                                                                                |
| ------------------ | ----- | ------- | ------------------------------------------------------------------------------------------------- |
| id                 | true  | Integer | 云分发ID                                                                                             |
| name               | false | String  | 分发地址名称，长度不能超过20                                                                                   |
| distributeUrl      | false | String  | 推流地址，例：rtmp\://polyv.net，需满足正则：(^(\[rR]\[tT]\[mM]\[pP]://)(\[\w-]+.)+\[\w-]+(/\[\w-./?%#&=]\*)?$) |
| distributeLiveCode | false | String  | 直播码                                                                                               |

#### 返回对象描述

批量修改分分发地址返回实体\ <br>

***

\ <br>

### 4、批量删除分发地址

#### 描述

```
批量删除分发地址
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/delete-batch
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

2、分发推流中不可删除分发地址

#### 单元测试

```java
	@Test
	public void testDeleteChannelDistribute() throws IOException, NoSuchAlgorithmException {
        LiveChannelDistributeDeleteRequest liveChannelDistributeDeleteRequest =
                new LiveChannelDistributeDeleteRequest();
        Boolean liveChannelDistributeDeleteResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            liveChannelDistributeDeleteRequest.setChannelId(channelId).setDistributeIds("3884,3885");
            liveChannelDistributeDeleteResponse = new LiveChannelDistributeServiceImpl().deleteChannelDistribute(
                    liveChannelDistributeDeleteRequest);
            Assert.assertTrue(liveChannelDistributeDeleteResponse);
            if (liveChannelDistributeDeleteResponse) {
                //to do something ......
                log.debug("测试批量删除分发地址成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回Boolean对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名           | 必选   | 类型     | 说明           |
| ------------- | ---- | ------ | ------------ |
| channelId     | true | String | 频道ID         |
| distributeIds | true | String | 分发ID，以英文逗号分割 |

#### 返回对象描述

批量删除分发地址返回实体\ <br>

***

\ <br>

### 5、修改云分发频道总开关

#### 描述

```
修改单个频道云分发总开关，该功能需要超管开通才生效
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/update-master-switch
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

#### 单元测试

```java
	@Test
	public void testUpdateMasterSwitch() throws IOException, NoSuchAlgorithmException {
        LiveDistributeUpdateMasterSwitchRequest liveDistributeUpdateMasterSwitchRequest =
                new LiveDistributeUpdateMasterSwitchRequest();
        Boolean liveDistributeUpdateMasterSwitchResponse;
        try {
            String channelId = super.createChannel();
            liveDistributeUpdateMasterSwitchRequest.setChannelId(channelId)
                    .setDistributeEnabled(LiveConstant.Flag.YES.getFlag());
            liveDistributeUpdateMasterSwitchResponse = new LiveChannelDistributeServiceImpl().updateMasterSwitch(
                    liveDistributeUpdateMasterSwitchRequest);
            Assert.assertTrue(liveDistributeUpdateMasterSwitchResponse);
            if (liveDistributeUpdateMasterSwitchResponse) {
                //to do something ......
                log.debug("测试修改云分发频道总开关成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回Boolean对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名               | 必选    | 类型     | 说明                                                  |
| ----------------- | ----- | ------ | --------------------------------------------------- |
| channelId         | true  | String | 频道号                                                 |
| distributeEnabled | false | String | 频道云分发总开关，Y：开启，N：关闭，默认为Y                             |
| enforce           | false | String | 是否强制关闭，Y：强制关闭，N：非强制关闭，默认为N。非强制关闭时，频道如果正常直播中，接口会抛出异常 |

#### 返回对象描述

修改云分发频道总开关返回实体\ <br>

***

\ <br>

### 6、批量修改频道云分发开关

#### 描述

```
批量修改频道云分发开关，该功能需要超管开通才生效
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/update-switch
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

#### 单元测试

```java
	@Test
	public void testUpdateSwitch() throws IOException, NoSuchAlgorithmException {
        LiveDistributeUpdateSwitchRequest liveDistributeUpdateSwitchRequest = new LiveDistributeUpdateSwitchRequest();
        Boolean liveDistributeUpdateSwitchResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            liveDistributeUpdateSwitchRequest.setChannelId(channelId)
                    .setDistributeIds(String.valueOf(super.getChannelDistributeId(channelId)))
                    .setDistributeEnabled(LiveConstant.Flag.YES.getFlag());
            liveDistributeUpdateSwitchResponse = new LiveChannelDistributeServiceImpl().updateSwitch(
                    liveDistributeUpdateSwitchRequest);
            Assert.assertTrue(liveDistributeUpdateSwitchResponse);
            if (liveDistributeUpdateSwitchResponse) {
                //to do something ......
                log.debug("测试批量修改频道云分发开关成功");
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
```

#### 单元测试说明

1、请求正确，返回Boolean对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名               | 必选    | 类型     | 说明                   |
| ----------------- | ----- | ------ | -------------------- |
| channelId         | true  | String | 频道号                  |
| distributeIds     | true  | String | 云分发列表id，多个使用,分隔      |
| distributeEnabled | false | String | 云分发开关，Y：开启，N：关闭，默认为N |

#### 返回对象描述

批量修改频道云分发开关返回实体\ <br>

***

\ <br>

### 7、查询云分发数据信息

#### 描述

```
查询频道云分发数据信息
接口地址（仅做说明使用）：https://api.polyv.net/live/v4/channel/distribute/get/statistic
```

#### 调用约束

1、接口调用有频率限制，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/limit.md)，调用常见异常，[详细请查看](https://git.polyv.net/help-center/document-center/-/blob/master/live/java/exceptionDoc/README.md)

#### 单元测试

```java
	@Test
	public void testGetDistributeStatistic() throws IOException, NoSuchAlgorithmException {
        LiveChannelDistributeStatisticRequest liveChannelDistributeStatisticRequest =
                new LiveChannelDistributeStatisticRequest();
        List<LiveChannelDistributeStatisticResponse> liveChannelDistributeStatisticResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            liveChannelDistributeStatisticRequest.setChannelId(channelId)
                    .setSessionIds("g57pg85h1x")
                    .setStartTime(super.getDate(1639668105000L))
                    .setEndTime(super.getDate(1639679787000L));
            liveChannelDistributeStatisticResponse = new LiveChannelDistributeServiceImpl().getDistributeStatistic(
                    liveChannelDistributeStatisticRequest);
            Assert.assertNotNull(liveChannelDistributeStatisticResponse);
            if (liveChannelDistributeStatisticResponse != null) {
                //to do something ......
                log.debug("测试查询云分发数据信息成功 {}", JSON.toJSONString(liveChannelDistributeStatisticResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误，错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑，记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }
}
```

#### 单元测试说明

1、请求正确，返回LiveChannelDistributeStatisticResponse对象，B端依据此对象处理业务逻辑；

2、请求参数校验不合格，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 输入参数 \[xxx.chat.LivexxxRequest]对象校验失败，失败字段 \[pic不能为空 / msg不能为空] ]

3、服务器处理异常，抛出PloyvSdkException，错误信息见PloyvSdkException.getMessage()，如 \[ 保利威请求返回数据错误，请求流水号：66e7ad29fd04425a84c2b2b562d2025b，错误原因： invalid signature. ]

#### 请求入参描述

| 参数名        | 必选    | 类型     | 说明                                 |
| ---------- | ----- | ------ | ---------------------------------- |
| channelId  | true  | String | 频道号                                |
| sessionIds | false | String | 频道场次ID，多个使用,分隔，场次ID和直播开始结束时间不能同时为空 |
| startTime  | false | Date   | 直播开始时间，场次ID和直播开始结束时间不能同时为空         |
| endTime    | false | Date   | 直播结束时间，场次ID和直播开始结束时间不能同时为空         |

#### 返回对象描述

返回对象是List\<LiveChannelDistributeStatisticResponse>，**LiveChannelDistributeStatisticResponse**具体元素内容如下：

| 参数名                 | 类型      | 说明                   |
| ------------------- | ------- | -------------------- |
| channelId           | String  | 频道ID                 |
| sessionId           | String  | 场次号                  |
| liveStartTime       | Date    | 直播开始时间               |
| liveEndTime         | Date    | 直播结束时间               |
| distributeUrl       | String  | 云分发推流地址              |
| distributeStartTime | Date    | 推流开始时间               |
| distributeEndTime   | Date    | 推流结束时间               |
| duration            | Integer | 云分发持续时间，单位：秒         |
| desc                | String  | 错误描述，与 error.code 对应 |

<br>
