
# 客户接收文件 (downloadFileStream)
#### 场景描述
用户接入座席后与座席进行多媒体消息交谈，若座席侧发送的消息为多媒体类型消息，则需要调用该接口接收文件接。返回的结果为Base64编码后的文件流。
缺省情况下，客户端只能下载不超过2MB的文件，如果需要传递更大的文件，请联系华为运维工程师调整该限制。
#### 接口方法
POST
#### 接口URI
https://域名/apiaccess/ccmessaging/downloadFileStream，例如域名是service.besclouds.com
#### 请求说明
表1请求头参数 
| 序号 | 名称                | 参数类型   | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|:---|
| 1  | ccmessaging-token | string | True | - applyToken接口返回的token值。  - 会话过程中接口Response Header中返回的ccmessaging-token的值。   |
| 2  | x-app-key         | string | True | appKey字段，用户标识，在API Fabric工具上配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 3  | Authorization     | string | True | 鉴权字段，内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken（Bearer后有空格）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
表2请求体参数 
| 序号 | 名称      | 参数类型                                                                                                                | 是否必选 | 说明  |
|:---|:---|:---|:---|:---|
| 1  | reqBody | [ReqBody] | True | 请求体 |
   
 表3ReqBody参数结构 
| 序号  | 名称         | 参数类型   | 是否必选  | 说明                                                                                                                                                                                                                  |
|:---|:---|:---|:---|:---|
| 1.1 | fileId     | string | True  | 文件下载的fileId，在poll接口中携带 fileId取值 "local/" + content（poll接口响应）时，判定为发送本地文件。若不携带，则判定发送多媒体库文件。                     |
| 1.2 | channel    | string | True  | 下载渠道类型，当前固定为WEB。                                                                                                                                                                                                    |
| 1.3 | fileType   | string | True  | 下载的文件类型，支持jpg，png，bmp，mp3，aac，mp4，txt，csv，richtext，doc，docx，pdf，zip。 发送本地文件场景下，该参数为多媒体文件下行消息中mediaFileType字段。 |
| 1.4 | multiMedia | string | False | 如果文件为多媒体库文件时，该参数必填，并且需要配置为"multiMedia"。                                                                                                                                                                             |
   
#### 响应说明
- **响应状态码: 200**
  表4RspBody参数结构 
  | 序号  | 名称         | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|
  | 1.1 | fileStream | string | Base64编码后的文件流。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | 1.2 | resultCode | string | 响应返回码，0表示成功，非0表示失败 - 0：成功，不反悔提示信息  - 401：objectKey is null!  - 13：param filetype Out of range!或empty file!或fsservice downloadFile is failed或downloadFileStream IOException或downloadFileStream exception  - 2：param channelId or userId or tenantId is null   |
  | 1.3 | resultDesc | string | 响应返回描述，0表示成功，非0表示失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | 1.4 | fileUrl    | string | 接收文件临时查看链接。默认保留24小时。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     
  
- **响应状态码: 400**
  错误的请求：请检查请求路径及参数。
  
- **响应状态码: 401**
  未授权：1.请确认是否购买了相关服务。2.请联系客服人员检查您账号的当前状态。
  
- **响应状态码: 404**
  请求的内容未找到：请检查请求的路径。
  
- **响应状态码: 500**
  业务失败：请依次确认您请求中各参数的取值。
  
 
#### 错误码
无。
#### 报文样例
- 场景描述：客户接收座席发送的多媒体库文件 请求参数:
  ```
  {
  "fileType": "jpg",
  "channel": "WEB",
  "fileId": "XXXXXXXXXXXXXXXX",
          "multiMedia":"multiMedia"
  }
  ```
  响应参数:
  ```
  {
      "resultCode": "0",
      "fileUrl": "https://IP:PORT/ccmessaging/202307260369/agent/202307260369134944/1111111111114/e43f69a2-01ee-48ec-82cd-bdf8447492e0.png?AccessKeyId=5BKCLVUJC700HY9M51AT&Expires=1716445961&Signature=LDYl%2FfEpaLbpvlxfEnYxW8QdevY%3D",
      "fileStream": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAA9ADwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI"
  }
  ```
  
- 场景描述：客户接收座席发送的本地文件 请求参数:
  ```
  {
  "fileType": "png",
  "channel": "WEB",
  "fileId": "local/XXXXXXXXXXXXXXXX"
  }
  ```
  响应参数:
  ```
  {
      "resultCode": "0",
      "fileUrl": "https://IP:PORT/ccmessaging/202307260369/agent/202307260369134944/1111111111114/e43f69a2-01ee-48ec-82cd-bdf8447492e0.png?AccessKeyId=5BKCLVUJC700HY9M51AT&Expires=1716445961&Signature=LDYl%2FfEpaLbpvlxfEnYxW8QdevY%3D",
      "fileStream": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAnCAYAAACBvSFyAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA7SURBVFhH7c6hEQAgDAAx1uj+gxbB/QyYiPicmdnfJCIRiUhEIhKRiEQkIhGJSEQiEpGIRCQiEYln9gJ7uXthjovHaAAAAABJRU5ErkJggg=="
  }
  ```
  
 
