消息通知
## 一、消息通知介绍
#### 关于接收消息
为了能够让自建应用和企业微信进行双向通信,企业可以在应用的管理后台开启接收消息模式。
#### 开启接收消息
在企业的管理端后台,企业管理-开发配置页面,在回调接口里写上企业自己的api地址
## 二、消息通知使用
假设接收消息地址设置为:http://api.6666.com/yxapi,企业微信将向该地址发送如下验证请求:
#### 请求方式:POST
请求地址:http://api.6666.com/yxapi?token=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234
请求数据格式 :
```language
{
"msgType":1001,
"msgStr":"json字符串"
}
```
参数说明
|参数|必须|说明|
|-|-|-|
|token|是|系统加密签名,企业可用此验证数据合法性md5(Key+Secret+timestamp+msgStr.hasCode())|
|timestamp|是|时间戳|
|msgType|是|消息类型,见下文msgType说明|
|msgStr|否|消息体,会把具体对象转为json字符串进行传递,JSON.toJSONString(Object)|
#### 对收到的请求处理
通过参数token对请求进行校验,确认调用者的合法性。
通过json.parse解析msgStr参数得到消息内容
在3秒内响应本次请求,响应状态码为200即可.
## 三、msgType说明
#### 1001 派单池超时通知
msgStr:
|字段|类型|必须|说明|
|-|-|-|-|
----
#### 1002 删除聊天记录(暂不支持)
msgStr:
|字段|类型|必须|说明|
|-|-|-|-|
|talker|String|是|好友的wxid|
|deviceWxid|String|是|员工的微信id|
----
#### 1003 删除好友 (暂不支持)
msgStr:
|字段|类型|必须|说明|
|-|-|-|-|
|talker|String|是|好友的wxid|
|deviceWxid|String|是|员工的微信id|
----
#### 1004 推送企业微信聊天消息
msgStr:List<消息对象>
消息对象属性如下:
|字段|类型|说明|
|-|-|-|-|
|clientName|String|对方名称,好友昵称或群名称|
|staffName|String|员工姓名|
|remark|String|客户备注|
|isSend|int|1标示员工发送,0标示对方发送|
|isSelf|int|1表示私聊,0表示群聊|
|qunTalkerName|String|群里具体的发言人姓名|
|msgType|String|聊天类型:image 图片, voice 短语音, video 视频, meeting_voice_call 通话语音,file 文件,emotion 表情|
|msgContent|String|聊天内容|
|msgTime|Date|聊天时间|
#### 1005 推送电话通话记录
msgStr:List<消息对象>
消息对象属性如下:
|字段|类型|说明|
|-|-|-|-|
|参照员工通话记录列表||||
#### 1006 推送短信记录
msgStr:List<消息对象>
消息对象属性如下:
|字段|类型|说明|
|-|-|-|-|
|参照员工短信记录列表||||
#### 1007 推送通话录音文件上传成功的通知
msgStr:List<消息对象>
消息对象属性如下:
|字段|类型|说明|
|-|-|-|-|
|callRecordFilePath|String|录音文件地址(如newPhone/record/0/abc.mp3)|
|callRecordAuthorFilePath|String|录音文件授权下载地址(如http://www.abc.com/newPhone/abc.mp3?token=xxx)|
#### ~~1008 (暂不可用)推送好友申请~~
msgStr:List<消息对象>
消息对象属性如下:
|字段|类型|说明|
|-|-|-|-|
|userWxId|String|员工wxid|
|userAlias|String|员工微信号|
|friendWxId|String|好友的wxid|
|friendNickname|String|好友的昵称|
|applyContent|String|申请时备注的信息|
|*~~friendHeadImg~~*|String|暂不支持,好友的头像地址|
|*~~friendAlias~~*|String|暂不支持,好友的微信号|