asp.net微信開發第九篇----模板消息的使用


 

獲取模板列表

獲取已添加至帳號下所有模板列表,可在MP中查看模板列表信息,為方便第三方開發者,提供通過接口調用的方式來獲取帳號下所有模板信息,具體如下:

接口調用請求說明

http請求方式:GET
https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=ACCESS_TOKEN

參數說明

參數 是否必須 說明
access_token 接口調用憑證

返回說明

正確調用后的返回示例:

{	
 "template_list": [{
      "template_id": "iPk5sOIt5X_flOVKn5GrTFpncEYTojx6ddbt8WYoV5s",
      "title": "領取獎金提醒",
      "primary_industry": "IT科技",
      "deputy_industry": "互聯網|電子商務",
      "content": "{ {result.DATA} }\n\n領獎金額:{ {withdrawMoney.DATA} }\n領獎  時間:{ {withdrawTime.DATA} }\n銀行信息:{ {cardInfo.DATA} }\n到賬時間:  { {arrivedTime.DATA} }\n{ {remark.DATA} }",
      "example": "您已提交領獎申請\n\n領獎金額:xxxx元\n領獎時間:2013-10-10 12:22:22\n銀行信息:xx銀行(尾號xxxx)\n到賬時間:預計xxxxxxx\n\n預計將於xxxx到達您的銀行卡"
   }]
}

返回參數說明

參數 說明
template_id 模板ID
title 模板標題
primary_industry 模板所屬行業的一級行業
deputy_industry 模板所屬行業的二級行業
content 模板內容
example 模板示例

刪除模板

刪除模板可在MP中完成,為方便第三方開發者,提供通過接口調用的方式來刪除某帳號下的模板,具體如下:

接口調用請求說明

http請求方式post
https://api,weixin.qq.com/cgi-bin/template/del_private_template?access_token=ACCESS_TOKEN

POST數據說明如下:

 {
 “template_id”=”Dyvp3-Ff0cnail_CDSzk1fIc6-9lOkxsQE7exTJbwUE”
 }

參數說明

參數 是否必須 說明
template_id 公眾帳號下模板消息ID

返回說明

在調用接口后,會返回JSON數據包。正常時的返回JSON數據包示例:

{
 "errcode":0,"errmsg":"ok"
}



 
        



 
        

用戶手機微信接收到的模板消息

 

和平時我們微信中關注信用卡官方微信,如果消費了,信用卡官方微信就返回一個模板消息給我們告知,余額還有多少,消費了多少。

 

主要涉及到獲取微信模板消息,刪除模板消息,同步模板消息,

 

一、同步模板消息:

1.從微信服務器獲取模板消息列表,進行本地化存儲,

2.本地化存儲前,刪除本地全部模板消息列表

 

 

 

二、程序獲取用戶的OpenId,發送模板消息

 

 this.LinkBtnUpdate.Attributes.Add("OnClick", "return confirm('確定修改密碼?')");

            if (Request.QueryString["code"] != null)
            {
                string code = Request.QueryString["code"].ToString();
                string codeurl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + WeiXinServer.appid.ToString() + "&secret=" + WeiXinServer.secret.ToString()+ "&code=" + code + "&grant_type=authorization_code";

                string content = HttpSendCode.GetPageContent(codeurl, Encoding.UTF8);

                //使用前需葯引用Newtonsoft.json.dll文件
                JObject jsonObj = JObject.Parse(content);


                if (jsonObj.ToString().Contains("openid"))
                {
                    //Response.Write(jsonObj["openid"].ToString());
                    Session["openid"] = jsonObj["openid"].ToString();
                    Session.Timeout = 10;//設置session有效時間為10分鍾
                }

            }

其中這個Session["openid"]是根據用戶訪問了EmploUpdatePwd.aspx這個網頁,后台做的一些處理獲取到的。

 

   1.//密碼修改頁面
        public const string updatePwdOAuthUrl = postUrl + "/EmploUpdatePwd.aspx";


        2.//跳轉密碼修改認證Url
        public  string PwdURL = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + WeiXinServer.appid.ToString() + "&redirect_uri=" + updatePwdOAuthUrl + "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
      3.//微信中的點擊菜單修改密碼
         postData += "   \"type\":\"view\"," + "\r\n";
                postData += "   \"name\":\"密碼修改\", " + "\r\n";
                postData += "   \"url\":\"" + PwdURL + "\"" + "\r\n";

 

 

第二步:發送模板消息

 

                                //發送模板消息,提示密碼修改成功
                                WeiXinServer wxs = new WeiXinServer();
                                ///從緩存讀取accesstoken
                                string Access_token = Cache["Access_token"] as string;
                                if (Access_token == null)
                                {
                                    //如果為空,重新獲取
                                    Access_token = wxs.GetAccessToken();

                                    //設置緩存的數據7000秒后過期
                                    Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration);
                                }
                                string Access_tokento = Access_token.Substring(17, Access_token.Length - 37);

                                //https請求地址
                                string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", Access_tokento);


                                //用戶的openId
                                string UserOpenId = Session["openid"].ToString();
                    
                  
                   //官網示范的json串
//{ // "touser":"OPENID", // "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", // "url":"http://weixin.qq.com/download", // "data":{ // "first": { // "value":"恭喜你購買成功!", // "color":"#173177" // }, // "keynote1":{ // "value":"巧克力", // "color":"#173177" // }, // "keynote2": { // "value":"39.8元", // "color":"#173177" // }, // "keynote3": { // "value":"2014年9月22日", // "color":"#173177" // }, // "remark":{ // "value":"歡迎再次購買!", // "color":"#173177" // } // } // } //string strPostData = "{ \"touser\":\"" + UserOpenId + "\",\"template_id\":\"3yj8V1SauPXkSC9-PoPvOEtvIXaQhFsP6-bjyDs8Ilo\",\"url\":\"http://weixin.deqiaohr.com.cn\", \"data\":{\"channel\":{\"value\":\"微信\",\"color\":\"#173177\"},\"orderNumber\":{\"value\":\"113234\",\"color\":\"#173177\"},\"state\":{\"value\":\"進入收單狀態\",\"color\":\"#173177\"},\"doSomething\":{\"value\":\"kantzou將在今天下午三點上門收件\",\"color\":\"#173177\"},\"remark\":{\"value\":\"謝謝您的支持!\",\"color\":\"#173177\"}}}"; string postData = "{ \"touser\":\"" + UserOpenId + "\",\"template_id\":\"3yj8V1SauPXkSC9-PoPvOEtvIXaQhFsP6-bjyDs8Ilo\",\"url\":\"http://weixin.deqiaohr.com.cn/EmploUpdatePwd.aspx\", \"data\":{\"first\":{\"value\":\"恭喜您!你的查詢密碼已重置成功!\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + euserinfo.EmploName.ToString() + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"NULL\",\"color\":\"#173177\"},\"keyword3\":{\"value\":\"" + euserinfo.EmploIdentityCard.ToString().Substring(6,8)+ "\",\"color\":\"#173177\"},\"remark\":{\"value\":\"如需再次修改密碼,請點擊進入!!\",\"color\":\"#173177\"}} }"; string result = wxs.GetPage(url, postData);

 

1.template_id:官網后台直接復制的,

 

至於怎么添加的模板,官網有介紹不羅嗦。完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM