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

时间:2021-06-12 06:26:30

获取模板列表

获取已添加至帐号下所有模板列表,可在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"
}

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


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


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


用户手机微信接收到的模板消息

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

和平时我们微信中关注信用卡官方微信,如果消费了,信用卡官方微信就返回一个模板消息给我们告知,余额还有多少,消费了多少。

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

一、同步模板消息:

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 = ;//设置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(), System.Web.Caching.Cache.NoSlidingExpiration);
}
string Access_tokento = Access_token.Substring(, Access_token.Length - ); //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(,)+ "\",\"color\":\"#173177\"},\"remark\":{\"value\":\"如需再次修改密码,请点击进入!!\",\"color\":\"#173177\"}} }"; string result = wxs.GetPage(url, postData);

1.template_id:官网后台直接复制的,

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

至于怎么添加的模板,官网有介绍不罗嗦。完成。