微信模板消息开发

1. 添加模板

1)登录公众号

2)添加插件

登录之后,在左边栏的功能里面点击【添加功能插件】—>【模板消息】

进入后,然后开始审核,大概要1-3天时间。下面为我们正在审核的界面

对此,我们等待模板审核成功

2. 设置模板

模板申请成功后,可看到左边栏功能下面多了一个菜单栏【模板消息】

下图是我们添加的模板

模块库。注意:模板库是根据不同的行业(一级行业、二级行业)而定的。

我们选择我们的模板(中奖模板)

模板ID我们要记住,这个是我们调用的时候需要传的参数

3. 开发

1)官网地址

具体调用可查看微信文档 http://mp.weixin.qq.com/wiki/17/304c1885ea66dbedf7dc170d84999a9d.html

运营规范可查看微信文档 http://mp.weixin.qq.com/wiki/2/def71e3ecb5706c132229ae505815966.html

2)开发(用到RestSharp框架,用来webservice访问)

调用模板API,首先要获取全局token,获取全局token是GET方式,调用模板API是POST方式

下面是获取token代码

        private string getToken(string appid, string secret)
        {
            string url = "https://api.weixin.qq.com/cgi-bin/token";
            var vClient = new RestClient(url);
            var vRequest = new RestRequest(Method.GET);
            vRequest.AddParameter("grant_type", "client_credential");
            vRequest.AddParameter("appid", appid);
            vRequest.AddParameter("secret", secret);
            var strJson = vClient.Execute(vRequest);
            Log.Info("getToken strJson=" + strJson.Content);
            return CPublicMethod.GetJsonValue(strJson.Content, "access_token");
        }

下面是发送模板消息代码

       public string sendTemplate(string appid, string openid, string templateId)
        {
            string result = "";
            string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + wechatToken.token;

            var vClient = new RestClient(url);
            var vRequest = new RestRequest(Method.POST);
            vRequest.RequestFormat = DataFormat.Json;
            /*
                {{first.DATA}}
                活动名称:{{keyword1.DATA}}
                奖品说明:{{keyword2.DATA}}
                收货地址:{{keyword3.DATA}}
                收件姓名:{{keyword4.DATA}}
                联系方式:{{keyword5.DATA}}
                {{remark.DATA}}
            */
            vRequest.AddBody(new
            {
                touser= openid,
                template_id=templateId,
                url="http://www.baidu.com",
                data=new {
                    first=new{
                        value="恭喜您中了穗宝的抽奖",
                        color="#173177"
                    },
                    keyword1= new{
                        value="枕头",
                        color="#173177"
                    },
                    keyword2= new{
                        value="周一中奖",
                        color="#173177"
                   },
                    keyword3= new{
                        value="广东省广州市天河区龙口西路XXXXXXXX",
                        color="#173177"
                   },
                    keyword4 = new
                    {
                        value = "AlunChen",
                        color = "#173177"
                    },
                    keyword5 = new
                    {
                        value = "13788856985",
                        color = "#173177"
                    },
                    remark =new{
                        value="欢迎再次玩我们的活动抽奖!",
                        color="#173177"
                   }
                }
              });
            var jsonStr = vClient.Execute(vRequest).Content;

            Log.Info("sendTemplate jsonStr:" + jsonStr);

            result = jsonStr;

            return result;
        }

注意上面的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"
                   }
           }
       }
 
我们可以看到结果如下:
 

4.返回码说明

在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

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

错误时的返回JSON数据,形式类似,错误码请见本页下方返回码说明。

错误时的返回JSON数据,形式类似,错误码请见本页下方返回码说明。

返回码
说明

-1
系统繁忙

0
请求成功

40001
验证失败

40002
不合法的凭证类型

40003
不合法的OpenID

40004
不合法的媒体文件类型

40005
不合法的文件类型

40006
不合法的文件大小

40007
不合法的媒体文件id

40008
不合法的消息类型

40009
不合法的图片文件大小

40010
不合法的语音文件大小

40011
不合法的视频文件大小

40012
不合法的缩略图文件大小

40013
不合法的APPID

41001
缺少access_token参数

41002
缺少appid参数

41003
缺少refresh_token参数

41004
缺少secret参数

41005
缺少多媒体文件数据

41006
access_token超时

42001
需要GET请求

43002
需要POST请求

43003
需要HTTPS请求

44001
多媒体文件为空

44002
POST的数据包为空

44003
图文消息内容为空

45001
多媒体文件大小超过限制

45002
消息内容超过限制

45003
标题字段超过限制

45004
描述字段超过限制

45005
链接字段超过限制

45006
图片链接字段超过限制

45007
语音播放时间超过限制

45008
图文消息超过限制

45009
接口调用超过限制

46001
不存在媒体数据

47001
解析JSON/XML内容错误

时间: 2024-11-04 07:50:40

微信模板消息开发的相关文章

微信模板消息发送

整个开发流程,我在"简书" 上看到了一个完整的开发流程. https://www.jianshu.com/p/eb0e9c4dcdfe 微信官方接口为: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277 自己开发中总结了一下,如下,方便后续备查: ①微信的模板消息,其实是微信公众号上推送给用户的一条消息记录. 在开发的时候,需要获取到用户的openId(用户关注公众号就会产生一个唯一的openId

微信模板消息

以下文档只适合新手,如果你已经是一个微信开发的老鸟 就不用浪费时间阅读了: 需求分析:昨天晚上 有几个人在上一期的微信活动中 中奖了,领导给了一个案例说发送一条 微信模板消息 实现步骤: 1.查阅相关接口资料 以下内容提取 微信官方文档 模板消息调用时主要需要模板ID和模板中各参数的赋值内容: 模板中参数内容必须以".DATA"结尾,否则视为保留字: 模板保留符号"{{ }}"当我读到这里时候仍旧是一脸懵逼的样子,完全不知所云,于是接着往下看 到此 官方文档已看完,

微信模板消息下线后订阅消息是否可以满足各行业通知提醒

微信模板消息下线后订阅消息是否可以满足各行业通知提醒,如何在短信平台和订阅号直接选择一个最佳方案? 一.青鸟报修云工单提醒短信业务及微信订阅消息选择思考 作为工单系统如何科学合理解决用户.技术员.管理员之间的信息提醒对于青鸟报修云工单系统是一种挑战,新版本2.0采用微信消息模板,但在4月10号官方下线模板消息,经平台进行用户调查最终只有2个选择,平台引用第三方短信平台或调整为订阅消息,今天简单做一个对比: 方案选择:订阅消息 三.选择理由1.短信提醒:弊端短信通知要帮助用户充值,单独开户,显示余

微信模板消息接口-给用户发送订单成功信息/支付成功等等

微信模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. <?php //curl模拟请求发送信息 function send_template_message($data,$access_token){ //return $data.'----'.$access_token; //$access_token = get_access_token($appId,$appSe

C# MVC 微信支付之微信模板消息推送

微信支付之微信模板消息推送 今天我要跟大家分享的是"模板消息"的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不牛逼吗?现在的社会,人多多少少都有或轻或重的"强迫症".就是,看到有未读消息,都要去看一下.特别是现在的微信,大部分可以几个小时不看手机QQ有没有新消息来,但是这大部分人绝对做不到一个小时不看微信有没有消息来.现在的微信,真特么是神一样的存在,几乎人人手机上都会有微信.而且,如果你的公众号是服务号的话,这个

php实现微信模板消息推送

转自:https://www.jb51.net/article/137428.htm 这篇文章主要为大家详细介绍了php实现微信模板消息推送,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了php微信模板消息推送的具体代码,供大家参考,具体内容如下 1.微信公众号模板消息配置 2.PHP代码 /** * 发送模板消息 */ public function send_notice(){ //获取access_token if ($_COOKIE['access_token']

微信公众号模板消息开发小结

总结: 遇到的坑: ①要想调用微信的模版消息,我们就需要获取该用户关注的这个公众号openId, 要获取openId就要获取进入时候的code参数,code参数通过一个链接获取.那么我们在进入公众号后的时候就需要回调这个链接,然后获取到openId. 这里回调里面有一个redirect_uri参数,这个是回调的URL编码后的值.我们既然要回调,就需要在公众号管理端将回调域名设置为我们请求的域名(注意域名一个月只能修改三次). ②在调用微信获取code的链接时,不能是ajax请求,否则回调将无法完

C#微信公众号开发之模板消息开发,附源码

个人觉得模板消息功能的增加对公众号的作用非常大,可以说是真正意义上的实现了所谓的轻app,商家可以通过模板消息给用户发送重要的信息,交易.预约.消费.邮件.物流等信息.之前我做过的系统通过邮件发送订单消息,但是对于一些不喜欢绑定手机邮箱(实时提现商家发货买家订单进程等)的人来说还是不够方便,有了模板消息,公众号得以独立的完成交易信息通知跟踪等. 开发文档:http://mp.weixin.qq.com/wiki/17/304c1885ea66dbedf7dc170d84999a9d.html C

微信模板消息测试

模板消息定义 目前允许发的模板消息示例   1.1资料变更类通知示例如下: 标题 内容 示例 会员卡申请资料变更通知 {{first.DATA}} 会员卡号:{{keyword1.DATA}} 会员姓名:{{keyword2.DATA}} 变更内容:{{keyword3.DATA}} 时间:{{keyword4.DATA}} {{remark.DATA}} 尊敬的会员,您的资料变更成功 会员卡号:0000 0000 会员姓名:李XX 变更内容:1234567890 时间:2015年5月5日 感谢