公众号发送消息包括文本 图片 图文 语音 视频 等等
- 当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复
- 其实上面的操作,我们之前做【客服】的时候我们已经使用过该功能了
- 微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次
- 一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”
1、开发者在5秒内未回复任何内容
2、开发者回复了异常数据,比如JSON数据等 - 另外,请注意,回复图片等多媒体消息时需要预先通过素材管理接口上传临时素材到微信服务器,可以使用素材管理中的临时素材,也可以使用永久素材。
回复文本消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
</xml>Code language: HTML, XML (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>Code language: HTML, XML (xml)
- 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>Code language: HTML, XML (xml)
- 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>Code language: HTML, XML (xml)
- 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>Code language: HTML, XML (xml)
- 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>Code language: HTML, XML (xml)
- MsgType:是,news
- ArticleCount:是,图文消息个数,限制为10条以内
- Articles:是,多条图文消息信息,默认第一个item为大图,注意,如果图文数超过10,则将会无响应
- Title:否,图文消息标题
- Description:否,图文消息描述
- PicUrl:否,图片链接,支持JPG、PNG格式,较好的效果为大图360 * 200,小图200 * 200
- Url:否,点击图文消息跳转链接
Previous: 点击菜单跳转链接时的事件推送
Next: 素材管理接口的应用