获取模板列表

获取已添加至帐号下所有模板列表,可在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 = ;//设置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微信开发第九篇----模板消息的使用的更多相关文章

  1. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  2. asp.net微信开发第二篇----消息应答

    当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上. 请注意: 1.关于重试的消息排重,推荐使用msgid排重. 2.微信服务器在五秒内收不到响应会断掉连接 ...

  3. asp.net微信开发第一篇----开发者接入

    在项目的根目录或者特定的文件夹内,创建一个ashx文件(一般处理程序文件),如图 public void ProcessRequest(HttpContext context) { context.R ...

  4. php之微信公众号发送模板消息

    讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0). 先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请: ...

  5. 微信小程序:模板消息推送提示{“errcode”:41030,”errmsg”:”invalid page hint: [gP1eXXXXXX]”}

    在开发小程序 模板消息定时推送功能时,在开发版测试程序功能运行正常,但提交到线上后提示报错{“errcode”:41030,”errmsg”:”invalid page hint: [gP1eXXXX ...

  6. 微信小程序发送模板消息

    微信小程序发送模板消息 标签(空格分隔): php 看小程序文档 [模板消息文档总览]:https://developers.weixin.qq.com/miniprogram/dev/framewo ...

  7. .NET微信公众号开发-6.0模板消息

    一.前言 为了保证用户不受到骚扰,在开发者出现需要主动提醒.通知用户时,才允许开发者在公众平台网站中模板消息库中选择模板,选择后获得模板ID,再根据模板 ID向用户主动推送提醒.通知消息.这个意思也就 ...

  8. 微信小程序-发送模板消息(C#)

    步骤一:获取模板ID 有两个方法可以获取模版ID 通过模版消息管理接口获取模版ID 在微信公众平台手动配置获取模版ID 步骤二:页面的 <form/> 组件,属性report-submit ...

  9. 微信小程序的模板消息与小程序订阅消息

    小程序订阅消息 功能介绍 消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验. 订阅消息推送位置:服务通知 订阅消息下发条件:用户自主订阅 订阅消息卡片跳 ...

随机推荐

  1. JQUERY1.9学习笔记 之内容过滤器(二) 空元素选择器

    描述:选择没有子元素(包括文本节点)的标签. jQuery(":empty") 与:parent相反. 例:找出所有为空的元素.(他们没有子元素或文本元素). <!docty ...

  2. 手写 title 提示

    jquery实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  3. centos和Ubuntu区别

    centos中新建的非root用户是没有sudo的权限的,如果需要使用sudo权限必须在/etc/sudoers 中加入账户和权限,所以切换到root账号的时候只需要输入:su,加入root账号的密码 ...

  4. 转:java开发的10位牛人

    文章来自于:http://it.deepinmind.com/java/2014/04/10/top-10-java-people-you-should-know.html James Gosling ...

  5. Matlab 数理统计

    1.离散随机分布 超几何分布:M:产品总数;K:次品数;N:抽样数. hygepdf(X, M,K,N):计算超几何分布的密度. 例:hygepdf(1,10,1,3),执行结果为ans=0.3000 ...

  6. Matlab 符号运算

    root(p):多项式求根.多项式等于0时对应方程的根. 例:,则输入p=[5 4 3 2 1]; root(p) 注:多项式系数都是按幂指数递减形式的. poly([a,b,c]):求已知根为a,b ...

  7. 把 图片 资源文件 编译到dll

    今天盘古 lucene的改了下.然后 里面有很多文件 . 还有一些 生成多音字的 汉语词典等. 索性一下子编译到dll里面 . 就不在项目里面设置 这些文件的目录了 然后找了下.愣是没找到. 后来发现 ...

  8. SQL 时间戳转DateTime类型

    最近在工作中通过接口获取时间字段为时间戳的值,直接入库后再页面查询时间格式时候需要通过SQL语句将时间戳格式装换为时间格式进行比较,首先我们需要知道时间戳格式是怎么产生的,: Unix时间戳(Unix ...

  9. (转载)php中实现定时执行计划任务方法

    (转载)http://www.111cn.net/phper/php/41216.htm PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设 ...

  10. combobox的不常用的方法和将txt文本内容加到textbox中显示

    将一个的datatable绑定到下拉框,指定显示某列的数据 cbx.DataSource = null; DataSet dsJH = new DataSet(); OperatePort.Opera ...