# 频道下获取PPT文档上传TOKEN接口

### 接口URL

```
http://api.polyv.net/live/v3/channel/document/token/get
```

### 接口说明

```
1、提供上传ppt文档token的接口
2、支持https
```

### 支持格式

```
JSON
```

### 请求方式

```
GET
```

### 请求数限制

```
TRUE
```

### 请求参数

| 参数名       | 必选 | 类型     | 说明                                                                                                                                                                                                                |
| --------- | -- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId     | 是  | string | 从API设置中获取，在直播系统登记的appId                                                                                                                                                                                           |
| timestamp | 是  | string | 当前时间的秒级时间戳（13位）                                                                                                                                                                                                   |
| sign      | 是  | string | 签名，为32位大写的MD5值                                                                                                                                                                                                    |
| channelId | 是  | int    | 频道号                                                                                                                                                                                                               |
| fileId    | 是  | string | 文件ID，（格式为：生成文件的MD5值value1， 获取频道号value2, type串的值value3（普通PPT为‘common’，动画PPT为‘animate’），fileId=value1 + value2 + value3）其中value1的值（即文件的MD5值）也可通过文件名+文件的修改时间进行MD5的值作为value1的值，生成文件ID事必须严格按照格式生成，涉及同个频道同个文件下的唯一性和秒传功能 |
| fileName  | 是  | string | 文件名（带文件后缀，限制文件后缀 .ppt, .pptx, .pdf，.doc, .docx, .wps）                                                                                                                                                             |
| type      | 是  | string | 文件转换类型，“common” 普通ppt ， “animate”动画PPT                                                                                                                                                                            |

### 操作成功响应示例

```json
{
  "code": 200,
  "status": "success",
  "message": "",
  "data": {
    "encodedCallback": "xxxxxxxxxxxxxxxxxxxx",
    "convertStatus": "waitUpload",
    "host": "xxx.xxx.xxx",
    "callback": "xxxxxxxxxxxxxxxxxxxx",
    "policy": "xxxxx",
    "dir": "xxxxxx",
	"endpoint": "xxxxxxx",
	"bucket": "bucket",
	"expire": "xdadada",
	"accessId": "xxxx",
	"policy": "policy",
	"signature": "signature"
  }
}
```

### 操作失败响应示例

签名错误

```json
{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
```

缺少参数 channelId

```json
{
    "code": 400,
    "status": "error"
    "message": "param should not be empty: channelId",
    "data": ""
}
```

文件ID非法

```json
{
    "code": 400,
    "status": "error"
    "message": "illegal document fileId",
    "data": ""
}
```

### 响应字段说明

| 名称                   | 类型     | 说明                                                                                                                         |
| -------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| code                 | string | 响应代码，成功为200，失败为400，签名错误为403，异常错误500                                                                                        |
| status               | string | 成功为success，失败为error                                                                                                        |
| message              | string | 错误时为错误提示消息                                                                                                                 |
| data                 | string | 成功响应对象                                                                                                                     |
| data.convertStatus   | string | PPT状态，“normal” 正常，不需要重复上传文件，已经有上传成功的相同PPT，可以直接进入轮询。“waitConvert” 转换PPT中，已经有相同的文件正在转换中，直接进入轮询。“waitUpload” 等待上传状态，进入上传阿里云步骤 |
| data.autoId          | int    | 文件自增ID                                                                                                                     |
| data.fileId          | string | 文件ID                                                                                                                       |
| data.accessId        | string | oss上传OSSAccessKeyId                                                                                                        |
| data.policy          | string | oss上传policy                                                                                                                |
| data.signature       | string | oss上传signature                                                                                                             |
| data.dir             | string | 上传到oss的文件夹                                                                                                                 |
| data.endpoint        | string | oss上传的endpoint                                                                                                             |
| data.bucket          | string | oss上传的桶                                                                                                                    |
| data.host            | string | oss上传的host                                                                                                                 |
| data.expire          | string | 加密串过期时间                                                                                                                    |
| data.callback        | string | oss上传的回调参数（必须带上这个参数，用于回调后端告知上传状态）                                                                                          |
| data.encodedCallback | string | oss上传回调参数使用encode编码（上传OSS时必须带上这个参数，用于回调后端告知上传状态）                                                                           |
| data.object          | string | 文档的存放目录key                                                                                                                 |
