|
发送消息-被动回复用户消息
对于每一个POST请求,开发者在响应包(Get)中返回特定XML结构,对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。请注意,回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器,只支持认证服务号。
微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。
关于重试的消息排重,有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime 排重。
发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复,假如服务器无法保证在五秒内处理并回复,必须做下述回复,微信服务器不会对此作任何处理,并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复):
1、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)2、直接回复success请开发者注意,一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”:
1、开发者在5秒内未回复任何内容2、开发者回复了异常数据,比如JSON数据等各消息类型需要的XML数据包结构如下。
目录
- 1 回复文本消息
- 2 回复图片消息
- 3 回复语音消息
- 4 回复视频消息
- 5 回复音乐消息
- 6 回复图文消息
| 回复文本消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[你好]]></Content></xml>参数 | 是否必须 | 描述 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间 (整型) | MsgType | 是 | text | Content | 是 | 回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示) | 回复图片消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[image]]></MsgType><Image><MediaId><![CDATA[media_id]]></MediaId></Image></xml>参数 | 是否必须 | 说明 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间 (整型) | MsgType | 是 | image | MediaId | 是 | 通过上传多媒体文件,得到的id。 |
回复语音消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[voice]]></MsgType><Voice><MediaId><![CDATA[media_id]]></MediaId></Voice></xml>参数 | 是否必须 | 说明 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间戳 (整型) | MsgType | 是 | 语音,voice | MediaId | 是 | 通过上传多媒体文件,得到的id |
回复视频消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[video]]></MsgType><Video><MediaId><![CDATA[media_id]]></MediaId><Title><![CDATA[title]]></Title><Description><![CDATA[description]]></Description></Video> </xml>参数 | 是否必须 | 说明 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间 (整型) | MsgType | 是 | video | MediaId | 是 | 通过上传多媒体文件,得到的id | Title | 否 | 视频消息的标题 | Description | 否 | 视频消息的描述 | 回复音乐消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[music]]></MsgType><Music><Title><![CDATA[TITLE]]></Title><Description><![CDATA[DESCRIPTION]]></Description><MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl><HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl><ThumbMediaId><![CDATA[media_id]]></ThumbMediaId></Music></xml>参数 | 是否必须 | 说明 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间 (整型) | MsgType | 是 | music | Title | 否 | 音乐标题 | Description | 否 | 音乐描述 | MusicURL | 否 | 音乐链接 | HQMusicUrl | 否 | 高质量音乐链接,WIFI环境优先使用该链接播放音乐 | ThumbMediaId | 是 | 缩略图的媒体id,通过上传多媒体文件,得到的id |
回复图文消息<xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName><![CDATA[fromUser]]></FromUserName><CreateTime>12345678</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles><item><Title><![CDATA[title1]]></Title> <Description><![CDATA[description1]]></Description><PicUrl><![CDATA[picurl]]></PicUrl><Url><![CDATA[url]]></Url></item><item><Title><![CDATA[title]]></Title><Description><![CDATA[description]]></Description><PicUrl><![CDATA[picurl]]></PicUrl><Url><![CDATA[url]]></Url></item></Articles></xml> 参数 | 是否必须 | 说明 | ToUserName | 是 | 接收方帐号(收到的OpenID) | FromUserName | 是 | 开发者微信号 | CreateTime | 是 | 消息创建时间 (整型) | MsgType | 是 | news | ArticleCount | 是 | 图文消息个数,限制为10条以内 | Articles | 是 | 多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应 | Title | 否 | 图文消息标题 | Description | 否 | 图文消息描述 | PicUrl | 否 | 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200 | Url | 否 | 点击图文消息跳转链接 |
发送消息-被动回复用户消息
摘自:http://mp.weixin.qq.com/wiki/14/89b871b5466b19b3efa4ada8e577d45e.html
|
|