概述
模板訊息僅用于公眾號向用戶發送重要的服務通知,只能用于符合其要求的服務場景中,如信用卡刷卡通知,商品購買成功通知等,不支持廣告等營銷類訊息以及其它所有可能對用戶造成騷擾的訊息,
建立模板的方式具體見
https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
下面來說說具體的代碼實作,
檔案定義
介面呼叫請求說明
http請求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
POST資料說明
POST資料示例如下:
{ "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url":"http://weixin.qq.com/download", "miniprogram":{ "appid":"xiaochengxuappid12345", "pagepath":"index?foo=bar" }, "data":{ "first": { "value":"恭喜你購買成功!", "color":"#173177" }, "keyword1":{ "value":"巧克力", "color":"#173177" }, "keyword2": { "value":"39.8元", "color":"#173177" }, "keyword3": { "value":"2014年9月22日", "color":"#173177" }, "remark":{ "value":"歡迎再次購買!", "color":"#173177" } } }
實作方式
1、定義組織模板資料
Template_Id = TemplateIditem.TemplateId.FirstOrDefault(o => o.type == "Disconnected").value; var Data = https://www.cnblogs.com/lyl6796910/p/new { first = new TemplateDataItem() { value = https://www.cnblogs.com/lyl6796910/p/"您已解除連接!" }, keyword1 = new TemplateDataItem() { value =https://www.cnblogs.com/lyl6796910/p/ userMgmtExtra.EMail }, keyword2 = new TemplateDataItem() { value = https://www.cnblogs.com/lyl6796910/p/DateTime.Now.ToString("yyyy年MM月dd日") }, remark = new TemplateDataItem() { value = https://www.cnblogs.com/lyl6796910/p/"您已解除微信系結,若要持續接收xxxxxx系統資訊,請至xxxx賬戶重新系結,感謝您的使用" } }; TemplateData = JsonConvert.SerializeObject(Data);
if (item.OpenId != null && Template_Id != null && TemplateData != null) { return new TemplateSendParam() { OpenId = item.OpenId, Template_Id = Template_Id, TemplateData = TemplateData }; }
2、post請求微信api
private static Tuple<TemplateSendInfo, string, string> TemplateSend(string AppId, string Appsecret, string OPENID, string template_id, string TemplateData, bool isResh) { string jsonstr = "{\"touser\":\"" + OPENID + "\",\"template_id\":\"" + template_id + "\", \"data\":" + TemplateData + " }"; var accessToken = TryGetAccessToken(AppId, Appsecret, isResh); string url = APIConfig.Templatesend(accessToken); string str = APIConfig.CreatePostHttpResponse(url, jsonstr); _logger.Debug("發送模板訊息\r\n" + "輸入:" + url + "\r\n" + jsonstr + "\r\n輸出:" + str); return new Tuple<TemplateSendInfo, string, string>(JsonConvert.DeserializeObject<TemplateSendInfo>(str), url, jsonstr); }
效果

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/265002.html
標籤:.NET Core
上一篇:Redis快速入門及應用
