C#微信公众号开发-高级接口-之模板消息开发,附源码

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

开发文档:http://mp.weixin.qq.com/wiki/17/304c1885ea66dbedf7dc170d84999a9d.html

C#代码:

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Web.Script.Serialization;
 6 
 7 namespace sohovan.com.wxapi.SendMessage
 8 {
 9     public class TemplateMessage
10     {
11         JavaScriptSerializer Jss = new JavaScriptSerializer();
12         /// <summary>
13         /// 给指定的用户发送模板消息
14         /// </summary>
15         /// <param name="AppID"></param>
16         /// <param name="AppSecret"></param>
17         /// <param name="openId">用户标识openid</param>
18         /// <param name="templateId">对应的模板id</param>
19         /// <param name="data">对应模板的参数</param>
20         /// <param name="url">点击对应消息弹出的地址</param>
21         /// <param name="topcolor">颜色</param>
22         /// <returns>返回json数据包</returns>
23         public string SendTemplate(string AppID, string AppSecret, string openId, string templateId, object data, string url, string topcolor = "#173177")
24         {
25             var msgData = new 
26             {
27                 touser = openId,
28                 template_id = templateId,
29                 topcolor = topcolor,
30                 url = url,
31                 data = data
32             };
33             string postData = Jss.Serialize(msgData);
34             return CommonMethod.WebRequestPostOrGet("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + BasicApi.GetTokenSession(AppID, AppSecret), postData);
35         }
36     }
37 }
复制代码

其中data为:

代码

复制代码
 1 var data = new
 2 {
 3     first = new
 4     {
 5         value = "恭喜你购买成功",
 6         color = "#173177"
 7     },
 8     keynote1 = new 
 9     {
10         value = "巧克力",
11         color = "#173177"
12     },
13     keynote2 = new
14     {
15         value = "39.8元",
16         color = "#173177"
17     },
18     keynote3 = new
19     {
20         value = "2014年9月16日",
21         color = "#173177"
22     },
23     remark = new
24     {
25         value = "欢迎再次购买",
26         color = "#173177"
27     },
28                
29 };
复制代码

咨询 请加 QQ:点击这里给我发消息

本文版权归作者(谢俊)和博客园所有,欢迎转载,转载请标明出处。

原文地址:http://www.cnblogs.com/net-xiejun/

微信开发群C#.NETWEB程序开发交流

完整源码下载:https://github.com/xiejun-net/weixin

个人公众账号:

posted @   村长村长  阅读(9329)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示