/*-------------------------------------------------------------------------- * ReplayPassiveMessageAPI.cs *Auth:deepleo * Date:2015.01.15 * Email:2586662969@qq.com * Website:http://www.weixinsdk.net *--------------------------------------------------------------------------*/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using LYFZ.Weixin.SDK.Entities; using LYFZ.Weixin.SDK.Helpers; namespace LYFZ.Weixin.SDK { /// /// 发送被动响应消息 /// 注意: /// 1.回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器,只支持认证服务号。 /// 2.微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。 /// 3.假如服务器无法保证在五秒内处理并回复,必须直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。。这种情况下,可以使用客服消息接口进行异步回复。 /// http://mp.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E8%A2%AB%E5%8A%A8%E5%93%8D%E5%BA%94%E6%B6%88%E6%81%AF /// public class ReplayPassiveMessageAPI { /// /// 回复转到多客服消息 /// /// /// /// public static string TransmitService(string toUserName, string fromUserName) { return string.Format("" + "" + "{2}" + "", toUserName, fromUserName, Util.CreateTimestamp()); } /// /// 回复文本消息 /// /// /// /// /// public static string RepayText(string toUserName, string fromUserName, string content) { return string.Format("" + "" + "{2}" + "" + "", toUserName, fromUserName, Util.CreateTimestamp(), content); } /// /// 回复单图文消息 /// /// /// /// /// public static string RepayNews(string toUserName, string fromUserName, WeixinNews news) { var builder = new StringBuilder(); builder.Append(string.Format("" + "" + "{2}" + "" + "{3}", toUserName, fromUserName, Util.CreateTimestamp(), 1)); builder.Append(string.Format("<![CDATA[{0}]]>" + "" + "" + "" + "", news.title, news.description, news.picurl, news.url )); builder.Append(""); return builder.ToString(); } /// /// 回复多图文消息 /// /// /// /// /// public static string RepayNews(string toUserName, string fromUserName, List news) { var builder = new StringBuilder(); builder.Append(string.Format("" + "" + "{2}" + "" + "{3}", toUserName, fromUserName, Util.CreateTimestamp(), news.Count )); foreach (var c in news) { builder.Append(string.Format("<![CDATA[{0}]]>" + "" + "" + "" + "", c.title, c.description, c.picurl, c.url )); } builder.Append(""); return builder.ToString(); } /// /// 回复图片消息 /// /// /// /// 已经上传到微信服务器的图片media_id /// public static string ReplayImage(string toUserName, string fromUserName, string media_id) { return string.Format("" + "" + "{2}" + "" + "", toUserName, fromUserName, Util.CreateTimestamp(), media_id); } /// /// 回复语音消息 /// /// /// /// 已经上传到微信服务器的语音media_id /// public static string ReplayVoice(string toUserName, string fromUserName, string media_id) { return string.Format("" + "" + "{2}" + "" + "", toUserName, fromUserName, Util.CreateTimestamp(), media_id); } /// /// 回复视频消息 /// /// /// /// 已经上传到微信服务器的视频media_id /// 视频标题 /// 视频文字说明 /// public static string ReplayVedio(string toUserName, string fromUserName, string media_id, string title, string description) { return string.Format("" + "" + "{2}" + "" + "", toUserName, fromUserName, Util.CreateTimestamp(), media_id, title, description); } /// /// 回复音乐消息 /// /// /// /// 音乐标题 /// 音乐描述 /// 音乐链接 /// 高质量音乐链接,WIFI环境优先使用该链接播放音乐 /// 缩略图的媒体id,通过上传多媒体文件,得到的id /// public static string ReplayMusic(string toUserName, string fromUserName, string title, string description, string musicUrl, string hqMusicUrl, string thumb_media_id) { return string.Format("" + "" + "{2}" + "" + "" + "<![CDATA[{3}]]>" + "" + "" + "" + "" + "", toUserName, fromUserName, Util.CreateTimestamp(), title, description, musicUrl, hqMusicUrl, thumb_media_id); } } }