# 频道下获取PPT文档上传STS TOKEN相关信息接口

### 接口URL

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

### 接口说明

```
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": "eyJjYWxsYmFja1VybCI6Imh0dHA6Ly9kb2N1bWVudC0yLnBvbHl2Lm5ldC9hbGkvb3NzL2NhbGxiYWNrL3VwbG9hZCIsImNhbGxiYWNrSG9zdCI6ImRvY3VtZW50LTIucG9seXYubmV0IiwiY2FsbGJhY2tCb2R5Ijoib2JqZWN0PSR7b2JqZWN0fSZzaXplPSR7c2l6ZX0mYnVja2V0PSR7YnVja2V0fSZldGFnPSR7ZXRhZ30mYXV0b0lkPTQwNzMxMyZmaWxlSWQ9c3NkZGZkZGRkczMzIiwiY2FsbGJhY2tCb2R5VHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9",
		"autoId": "407313",
		"expiration": "2019-07-17T04:36:26Z",
		"dir": "sources/20190717/",
		"token": "CAIS+gF1q6Ft5B2yfSjIr4neM4LXgopI2bO/MXeA1zgBQfob3rHOrjz2IH9LdHBtBOEasP4/nGtZ5/YflqQqFsEeHheYMJsutcQKqbp31RMW/p7b16cNrbH4M0rxYkeJ8a2/SuH9S8ynCZXJQlvYlyh17KLnfDG5JTKMOoGIjpgVBbZ+HHPPD1x8CcxROxFppeIDKHLVLozNCBPxhXfKB0ca0WgVy0EHsPvlmJbEtkCP3AWrl7BF/76ceMb0M5NeW75kSMqw0eBMca7M7TVd8RAi9t0t0/MUoGqa743DWQkJuETXY7fOlNp0N0pma6J/BrZAq/HwhTG5WjtoMmucGoABlIAZyelmx2YeNbHH4wEl9u6sN2AuCNyAYT2xTnRwgtvFlkblg2MC0lDLJcM4wI60pPCc+5qtOxU45AQH4T6EodUkBkCgHWk8q44MaYIhIsg3hOnJNTOouVRqanP+yWwirKszRIWiXF8naZ0aTHsrIQyIFONz9Cqyx8u8XTeihyQ=",
		"accessId": "STS.NJkx8coUinqT3Q138TMu71teF",
		"bucket": "polyvppt",
		"endpoint": "oss-cn-shenzhen.aliyuncs.com",
		"accessKey": "BbgS2wLdmXs2c91z269QPFXPZwScAG4qUy6TP1vPkd2D",
		"host": "http://polyvppt.oss-cn-shenzhen.aliyuncs.com",
		"callback": "{\"callbackUrl\":\"http://document-2.polyv.net/ali/oss/callback/upload\",\"callbackHost\":\"document-2.polyv.net\",\"callbackBody\":\"object=${object}&size=${size}&bucket=${bucket}&etag=${etag}&autoId=407313&fileId=ssddfdddds33\",\"callbackBodyType\":\"application/x-www-form-urlencoded\"}",
		"convertStatus": "waitUpload",
		"fileId": "ssddfdddds33",
		"object": "sources/20190717/ssddfdddds33.ppt"
	}
}
```

### 操作失败响应示例

签名错误

```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上传OSSAccessId                                                                                                           |
| data.accessKey       | string | oss上传OSSAccessKey                                                                                                          |
| data.dir             | string | 上传到oss的文件夹                                                                                                                 |
| data.endpoint        | string | oss上传的endpoint                                                                                                             |
| data.bucket          | string | oss上传的桶                                                                                                                    |
| data.host            | string | oss上传的host                                                                                                                 |
| data.expiration      | string | 加密串过期时间                                                                                                                    |
| data.callback        | string | oss上传的回调参数（必须带上这个参数，用于回调后端告知上传状态）                                                                                          |
| data.encodedCallback | string | oss上传回调参数使用encode编码（上传OSS时必须带上这个参数，用于回调后端告知上传状态）                                                                           |
| data.object          | string | 文档的存放目录key                                                                                                                 |
