/// <summary> /// 发送文本信息 /// </summary> /// <param name="msgType"></param> /// <param name="content"></param> /// <param name="mediaID"></param> /// <param name="title"></param> /// <param name="description"></param> /// <param name="data"></param> /// <returns></returns> public static dynamic BuildMsg(PubMsgType msgType, string content, string mediaID, string title, string description, dynamic data) { switch (msgType) { case PubMsgType.image: data.msgtype = "image"; data.image = new { media_id = mediaID }; break; case PubMsgType.mpnews: data.msgtype = "mpnews"; data.mpnews = new { media_id = mediaID }; break; case PubMsgType.text: data.msgtype = "text"; data.text = new { content = content }; break; case PubMsgType.video: data.msgtype = "video"; data.video = new { media_id = mediaID, title = title, description = description }; break; case PubMsgType.voice: data.msgtype = "voice"; data.voice = new { media_id = mediaID }; break; case PubMsgType.wxcard: data.msgtype = "wxcard"; data.wxcard = new { media_id = mediaID }; break; default: break; } return(data); }
/// <summary> /// 群发消息 /// </summary> /// <param name="openIDs"></param> /// <param name="msgType"></param> /// <param name="content"></param> /// <param name="mediaID"></param> /// <param name="title"></param> /// <param name="description"></param> /// <returns></returns> public static PubMsgResult SendMsg(List <string> openIDs, PubMsgType msgType, string content, string mediaID, string title, string description) { var url = string.Format(USER_SEND_NEWS_URL, PubInterface.AccessToken); dynamic data = new ExpandoObject(); data.filter = new { touser = openIDs }; BuildMsg(msgType, content, mediaID, title, description, data); return(WebApiHelper.PostAsync <PubMsgResult>(url, data)); }
/// <summary> /// 群发消息 /// </summary> /// <param name="groupID">isToAll为true时间groupID无效,isToAll默认为false</param> /// <param name="msgType"></param> /// <param name="content"></param> /// <param name="mediaID"></param> /// <param name="title"></param> /// <param name="description"></param> /// <param name="isToAll">isToAll为true时间groupID无效,isToAll默认为false</param> /// <returns></returns> public static PubMsgResult SendMsg(int groupID, PubMsgType msgType, string content, string mediaID, string title, string description, bool isToAll = false) { var url = string.Format(GROUP_SEND_NEWS_URL, PubInterface.AccessToken); dynamic data = new ExpandoObject(); data.filter = new { is_to_all = isToAll, group_id = groupID }; BuildMsg(msgType, content, mediaID, title, description, data); return(WebApiHelper.PostAsync <PubMsgResult>(url, data)); }
/// <summary> /// 预览消息 每天限100次 /// </summary> /// <param name="openID"></param> /// <param name="msgType"></param> /// <param name="content"></param> /// <param name="mediaID"></param> /// <param name="title"></param> /// <param name="description"></param> /// <returns></returns> public static PubMsgResult PreViewMsg(string openID, PubMsgType msgType, string content, string mediaID, string title, string description) { dynamic data = new ExpandoObject(); data.touser = openID; BuildMsg(msgType, content, mediaID, title, description, data); var url = string.Format(PREVIEW_NEWS_URL, PubInterface.AccessToken); return(WebApiHelper.PostAsync(url, data)); }
/// <summary> /// 如果需要以某个客服帐号来发消息(在微信6.0.2及以上版本中显示自定义头像),则需在JSON数据包的后半部分加入customservice参数. /// 即kf_account不为空时,添加customservice /// </summary> /// <param name="data"></param> /// <param name="type"></param> /// <param name="openID"></param> /// <param name="kf_account"></param> /// <returns></returns> public static PubApiResult SendMsg(dynamic data, PubMsgType type, string openID, string kf_account = null) { data.touser = openID; data.msgtype = type.ToString(); if (!string.IsNullOrEmpty(kf_account)) { data.customservice = new { kf_account = kf_account }; } return(SendMsg(data)); }