当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)
假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试:
1. 直接回复success(推荐方式)
2. 直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)
回复的数据包结构如下(省略ToUserName、FromUserName、CreateTime):
1. 回复文本消息
参数 | 是否必须 | 描述 |
---|
MsgType | 是 | text |
Content | 是 | 回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示) |
2. 回复图片消息
参数 | 是否必须 | 说明 |
---|
MsgType | 是 | image |
MediaId | 是 | 通过素材管理中的接口上传多媒体文件,得到的id。 |
3. 回复语音消息
参数 | 是否必须 | 说明 |
---|
MsgType | 是 | 语音,voice |
MediaId | 是 | 通过素材管理中的接口上传多媒体文件,得到的id |
4. 回复视频消息
参数 | 是否必须 | 说明 |
---|
MsgType | 是 | video |
MediaId | 是 | 通过素材管理中的接口上传多媒体文件,得到的id |
Title | 否 | 视频消息的标题 |
Description | 否 | 视频消息的描述 |
5. 回复音乐消息
参数 | 是否必须 | 说明 |
---|
MsgType | 是 | music |
Title | 否 | 音乐标题 |
Description | 否 | 音乐描述 |
MusicURL | 否 | 音乐链接 |
HQMusicUrl | 否 | 高质量音乐链接,WIFI环境优先使用该链接播放音乐 |
ThumbMediaId | 是 | 缩略图的媒体id,通过素材管理中的接口上传多媒体文件,得到的id |
6. 回复图文消息
参数 | 是否必须 | 说明 |
---|
MsgType | 是 | news |
ArticleCount | 是 | 图文消息个数,限制为8条以内 |
Articles | 是 | 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过8,则将会无响应 |
Title | 是 | 图文消息标题 |
Description | 是 | 图文消息描述 |
PicUrl | 是 | 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200 |
Url | 是 | 点击图文消息跳转链接 |