
# 第三方上传文件
#### 场景描述
调用该API，第三方（IVR加载定制JAR包形式与第三方对接的模式）上传文件，用于第三方机器人使用场景。支持SAAS、OP部署模式。
#### 使用说明
- 前提条件
  - 已通过鉴权（Authorization）。
   
- 使用限制 开发者只能上传到属于自己帐号下的文件夹，详见[C2 监控/系统外呼/话单/知识库类接口鉴权方式](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0003.html#ZH-CN_TOPIC_0000002481273406)。
  上传路径地址请联系系统管理员获取，获取路径：" 配置中心 \> 系统管理 \> 系统参数配置 \> 系统参数 \> 文件存储服务 \> 路径配置 \> 第三方下载录音路径规则"。
  
 
#### 接口方法
POST
#### 接口URI
https://ip:port/CCFS/resource/ccfs/ivr/uploadFile?vdnId={vdnId}
其中，ip为CC-FS安装的服务器IP地址，port为CC-FS的HTTPS端口号。
如果经过NSLB路由，ip为NSLB的服务器IP地址，port为CC-FS服务在NSLB映射的HTTPS端口号。
表1URL中携带的参数说明 
| 序号 | 名称    | 参数类型 | 是否必选 | 说明         |
|:---|:---|:---|:---|:---|
| 1  | vdnId | int  | True | 虚拟呼叫中心 id。 |
   
#### 请求说明
表2请求Headers参数说明 
| 序号 | 名称            | 参数类型   | 是否必选 | 默认值 | 说明                                                                                                                            |
|:---|:---|:---|:---|:---|:---|
| 1  | Content-Type  | String | True | 无   | 固定填 application/json;charset=UTF-8。                                                                                           |
| 2  | Authorization | String | True | 无   | 生成方式参见[C2 监控/系统外呼/话单/知识库类接口鉴权方式](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0003.html#ZH-CN_TOPIC_0000002481273406)。 |
   
表3请求Body中request参数说明 
| 序号 | 名称      | 参数类型         | 是否必选 | 默认值 | 说明              |
|:---|:---|:---|:---|:---|:---|
| 1  | version | String（1-32） | True | 2.0 | 协议版本。当前固定值为2.0。 |
   
表4请求Body中msgBody参数说明 
| 序号 | 名称   | 参数类型   | 是否必选 | 默认值 | 说明                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|:---|:---|
| 1  | data | String | True | 无   | 上传文件的 base64 编码值 说明：目前仅支持wav格式的音频文件，音频文件格式:8bit，8000Hz，64kbps，单声道。 文件大小由系统级参数"第三方上传文件大小限制"控制，单位MB，默认为5。需要修改时，请联系系统管理员配置，配置路径："配置中心 \> 系统管理 \> 系统参数配置 \> 系统参数 \> 文件存储服务 \> 资源配置 \> 第三方上传文件大小限制"。 |
   
#### 响应说明
当调用本接口响应成功，则返回0和operate success。
当调用本接口响应失败，则返回相应的错误码信息，错误码响应数据结构请查看[表4](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0817.html#ZH-CN_TOPIC_0000002513073793__zh-cn_topic_0000002478109896_zh-cn_topic_0205768961_table179638246341)，resultData为保留字段，默认为空字符串。
表5响应消息参数说明 
| 序号 | 名称         | 参数类型   | 说明                                                                                                                              |
|:---|:---|:---|:---|
| 1  | resultCode | String | 请求返回的结果码，详见[错误码参考](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0835.html#ZH-CN_TOPIC_0000002481113938)。                 |
| 2  | resultDesc | String | 请求结果描述。                                                                                                                         |
| 3  | resultData | Object | 请求响应数据，参数说明详见[表6]。 |
   
 表6响应 resultData 说明 
| 序号  | 名称         | 参数类型           | 说明                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| 3.1 | fileName   | String         | 上传文件的文件名，文件名需要与系统级参数"第三方上传文件路径规则"保持一致，请联系系统管理员获取，获取路径："配置中心 \> 系统管理 \> 系统参数配置 \> 系统参数 \> 文件存储服务 \> 路径配置 \> 第三方上传文件路径规则"。默认值为：/3rdfile/%VDNNO%/thirdvoicebotfile/。 例：{盘符}:/3rdfile/{VDN编号}/thirdvoicebotfile/xxx.wav |
| 3.2 | locationId | List\<String\> | CTI POOL 模式下上传成功会返回                                                                                                                                                                                                                                                                                                          |
   
#### 报文样例
- 请求头
  ```
  POST /CCFS/resource/ccfs/ivr/upload?vdnId=xx HTTP/1.1
  Authorization: auth-v2/ak/2021-08-31T09:38:50.872Z/content-length;content-type;host/c12f0ed******************941bdd106
  Accept: */*
  Content-Type: application/json;charset=UTF-8
  Content-Length: 193
  ```
  
- 请求参数
  ```
  {
      "request": {
          "version": "2.0"
      },
      "msgBody": {
          "data":"base64"
      }
  }
  ```
  
- 响应参数
  ```
  {
      "resultData": {
          "fileName": "Y:/3rdfile/53/thirdvoicebotfile/8fSsBaEb_1631869974029.wav",
          "locationId": [
              "0",
              "256"
          ]
      },
      "resultCode": "0",
      "resultDesc": "success"
  }
  ```
  
 
