一日一技:微信开发-发送模板消息

概述

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

建立模板的方式具体见

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 = new
                {
                    first = new TemplateDataItem() { value = "您已解除连接!" },
                    keyword1 = new TemplateDataItem() { value = userMgmtExtra.EMail },
                    keyword2 = new TemplateDataItem() { value = DateTime.Now.ToString("yyyy年MM月dd日") },
                    remark = new TemplateDataItem() { value = "您已解除微信绑定,若要持续接收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);
        }

 

效果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值