
# 主动轮询座席侧发送的信息 (poll)
#### 场景描述
第三方主动轮询座席侧发送给用户侧的消息，包括系统消息、座席消息以及机器人消息。
如果使用该接口未查到消息，请确认是否使用了send接口建立连接（connect）。
![](https://support.huaweicloud.com/api-ccfs-cec/public_sys-resources/note_3.0-zh-cn.png)
在会话期间，如果不调用这个接口，超过会话默认时间（CCUCS后台配置的），会话会被自动释放掉。
#### 接口方法
GET
#### 接口URI
https://域名/apiaccess/ccmessaging/poll，例如域名是service.besclouds.com
#### 请求说明
表1查询参数 
| 序号 | 名称         | 参数类型   | 是否必选  | 说明                                         |
|:---|:---|:---|:---|:---|
| 1  | receiverId | string | True  | 接收者Id，即applyToken里面的userId。                |
| 2  | channel    | string | True  | 接收者渠道类型，缺省值为WEB，且必须为WEB。                   |
| 3  | isNeedRead | string | False | 是否需要READ座席已读用户消息的提示消息，true为需要，其余或者为空不需要该消息 |
   
表2请求头参数 
| 序号 | 名称                | 参数类型   | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|:---|
| 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后有空格）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 响应说明
- **响应状态码: 200**
  表3pollRsp参数结构 
  | 序号  | 名称               | 参数类型                                                                                                                          | 说明                                                                                                                                                       |
  |:---|:---|:---|:---|
  | 1.1 | resultDesc       | string                                                                                                                        | 返回结果描述 成功时返回"query user messages success"，失败时无返回。 |
  | 1.2 | downlinkMessages | [downLIinkMsgArr] | 发送给用户的消息数组                                                                                                                                               |
  | 1.3 | resultCode       | string                                                                                                                        | 客户端接收消息结果码，0表示成功，非0表示失败                                                                                                                                  |
     
   表4downLIinkMsgArr参数结构 
  | 序号   | 名称              | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|:---|
  | 1.1  | channel         | string  | 消息渠道类型，当前固定为WEB，表示WEB渠道接入。                                                                                                                                                                                                                                                                                                                                                                                     |
  | 1.2  | content         | string  | 发送给客户下行消息内容，最多500个字符。 根据mediaType不同，content有不同的格式。 如果是多媒体库文件，为多媒体库文件ID； 如果是本地文件，为obskey。 |
  | 1.3  | from            | string  | 消息发送方的id，一般为AICC侧渠道的"配置ID"。                                                                                                                                                                                                                                                                                                                                                                                    |
  | 1.4  | mediaType       | string  | 消息媒体类型，如文本类型（TEXT）、图片（IMAGE）、视频（VIDEO）、语音（AUDIO）、位置（LOCATE）、文档（DOCUMENT）                                                                                                                                                                                                                                                                                                                                       |
  | 1.5  | senderNickname  | string  | 座席侧或机器人开启时配置的昵称。如果是系统消息，则返回"系统"（中文租间）或"system"（英文租间）。                                                                                                                                                                                                                                                                                                                                                          |
  | 1.6  | sourceType      | string  | 消息发送方来源，如人工座席（AGENT）、机器人（ROBOT）、系统（SYSTEM）                                                                                                                                                                                                                                                                                                                                                                     |
  | 1.7  | timestamp       | string  | 消息发送时间戳                                                                                                                                                                                                                                                                                                                                                                                                        |
  | 1.8  | to              | string  | 消息接收方id，通常为企业侧客户端发送的userId。                                                                                                                                                                                                                                                                                                                                                                                    |
  | 1.9  | simQuestions    | string  | 相似问内容                                                                                                                                                                                                                                                                                                                                                                                                          |
  | 1.10 | isOfflineStatus | boolean | 用于客户端判断下一步是否可以发送消息。                                                                                                                                                                                                                                                                                                                                                                                            |
  | 1.11 | messageCode     | string  | 消息唯一编码，用来识别撤销或删除动作操作的消息                                                                                                                                                                                                                                                                                                                                                                                        |
  | 1.12 | interIdx        | string  | 交互次数，直接取上一次ODFS返回的inter_idx值即可                                                                                                                                                                                                                                                                                                                                                                                 |
  | 1.13 | contentType     | string  | 如果是多媒体库文件，返回值为null； 如果是本地文件，为"1"。                                                                                                                                                                                                                                                                     |
  | 1.14 | mediaFileType   | string  | 多媒体文件类型。支持jpg，png，bmp，mp3，aac，mp4，txt，csv，richtext，doc，docx，pdf，zip。                                                                                                                                                                                                                                                                                                                                           |
  | 1.15 | controlType     | string  | 如聊天(CHAT)，断开连接(DISCONNECT)，READ（已读）                                                                                                                                                                                                                                                                                                                                                                            |
     
  
- **响应状态码: 400**
  错误的请求：请检查请求路径及参数。
  
- **响应状态码: 401**
  未授权：1.请确认是否购买了相关服务。2.请联系客服人员检查您账号的当前状态。
  
- **响应状态码: 404**
  请求的内容未找到：请检查请求的路径。
  
- **响应状态码: 500**
  业务失败：请依次确认您请求中各参数的取值。
  
 
#### 错误码
无。
#### 报文样例
- 场景描述：主动轮询座席侧发送给用户侧的消息 URL：Domain Address/apiaccess/ccmessaging/poll?receiverId=XXXXXXXXXXXXXXXXXXXXXXXX\&channel=WEB
  请求头:
  ```
  ccmessaging-token： XXXXXXXXX
  ```
  响应参数:
  ```
  {
  "resultCode": "0",
  "resultDesc": "query user messages success.",
  "downlinkMessages": [{
  "from": "1011577355744904195",
  "channel": "WEB",
  "to": "session_fixed_user_fixed",
  "controlType": "CHAT",
  "mediaType": "TEXT",
  "content": "欢迎欢迎，热列欢迎",
  "simQuestions": null,
  "senderNickname": "test",
  "senderAvatar": "1",
  "timestamp": 1619590480756,
  "sourceType": "ROBOT",
  "callId": null,
  "robotGender": "MALE"
  }, {
  "from": "1011577355744904195",
  "channel": "WEB",
  "to": "session_fixed_user_fixed",
  "controlType": "CHAT",
  "mediaType": "TEXT",
  "content": "转人工",
  "simQuestions": null,
  "senderNickname": "test",
  "senderAvatar": "1",
  "timestamp": 1619590482098,
  "sourceType": "ROBOT",
  "callId": null,
  "robotGender": "MALE"
  }, {
  "from": "1011577355744904195",
  "channel": "WEB",
  "to": "session_fixed_user_fixed",
  "controlType": "CHAT",
  "mediaType": "TEXT",
  "content": "已接通座席。",
  "simQuestions": null,
  "senderNickname": "系统",
  "senderAvatar": null,
  "timestamp": 1619590484115,
  "sourceType": "SYSTEM",
  "callId": null,
  "robotGender": null
  }]
  }
  多媒体库文件场景下：
  {
      "downlinkMessages": [
          {
              "callId": null,
              "simQuestions": null, 
              "senderNickname": "agent",
              "handlerType": null,
              "isOfflineStatus": null, 
              "channel": "WEB",
              "senderAvatar": "", 
              "robotGender": null, 
              "mediaType": "IMAGE",
              "associationContentId": null, 
              "content": "1179725658739559425", 
              "receiveTime": null, 
              "controlType": "CHAT", 
              "sourceType": "AGENT",
              "queueFlag": null, 
              "messageCode": "1e1f2bf7-fd6e-4471-a45d-2b43d1eb6272", 
              "from": "202201077401331370",
              "to": "1642643982282972758", 
              "mediaFileType": "png", 
              "contentType": null, 
              "interIdx": null, 
              "timestamp": 1648102235191
          }
      ], 
      "resultCode": "0", 
      "resultDesc": "query user messages success."
  }
  发送本地文件场景下：
  {
      "downlinkMessages": [
          {
              "callId": null, 
              "simQuestions": null, 
              "senderNickname": "agent",
              "handlerType": null, 
              "isOfflineStatus": null, 
              "channel": "WEB", 
              "senderAvatar": "", 
              "robotGender": null,
              "mediaType": "IMAGE", 
              "associationContentId": null, 
              "content": "878e7d9a-8e2f-4893-8b54-352f8ecbf86c", 
              "receiveTime": null, 
              "controlType": "CHAT", 
              "sourceType": "AGENT", 
              "queueFlag": null,
              "messageCode": "9374d9c4-b8ee-4035-aab9-ad5ceddbb856", 
              "from": "202201077401331370", 
              "to": "1642643982282972758", 
              "mediaFileType": "png", 
              "contentType": "1", 
              "interIdx": null, 
              "timestamp": 1648102054235
          }
      ], 
      "resultCode": "0", 
      "resultDesc": "query user messages success."
  }
  ```
  
 
