麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C#開發(fā)微信門戶及應(yīng)用(27)-公眾號(hào)模板消息管理

2019-11-17 02:25:54
字體:
供稿:網(wǎng)友

C#開發(fā)微信門戶及應(yīng)用(27)-公眾號(hào)模板消息管理

通過模板消息接口,公眾號(hào)能向關(guān)注其賬號(hào)的用戶發(fā)送預(yù)設(shè)模板的消息。模板消息僅用于公眾號(hào)向用戶發(fā)送重要的服務(wù)通知,只能用于符合其要求的服務(wù)場(chǎng)景中,如信用卡刷卡通知,商品購買成功通知等。不支持廣告等營銷類消息以及其它所有可能對(duì)用戶造成騷擾的消息。本文主要介紹基于C#開發(fā)實(shí)現(xiàn)公眾號(hào)模板消息的管理功能。

“模板消息功能的推出,將極大地增強(qiáng)服務(wù)號(hào)的服務(wù)通知能力”,在一些一直期待微信模板消息功能開放的公眾號(hào)運(yùn)營者看來,微信一對(duì)一溝通的社交屬性,讓信息推送的觸達(dá)率更加精準(zhǔn),這也讓企業(yè)在成本、服務(wù)效率、性能上有了不少優(yōu)勢(shì),不僅豐富了企業(yè)的服務(wù)形式,增強(qiáng)用戶的互動(dòng)和粘性,還能為用戶帶來更多元、豐富、及時(shí)的服務(wù)體驗(yàn)。

1、模板的行業(yè)分類管理及說明

模版信息依行業(yè)進(jìn)行劃分,并根據(jù)使用場(chǎng)景不同設(shè)計(jì)了不同的模版,如軟件行業(yè)下就有報(bào)名成功通知、看房提醒、訂單提醒、會(huì)員充值、會(huì)員消費(fèi)通知等各種場(chǎng)景下可能使用到的模版。

如果我們公眾號(hào)需要使用模板,那么我們需要從模板庫里面添加所需的模板(目前數(shù)量上限為15個(gè))。模板添加到我的模板后,每個(gè)模板就生成了一個(gè)隨機(jī)值,也就是【模板ID】,我們發(fā)送信息,就是依照這個(gè)模板ID進(jìn)行發(fā)送的。

每個(gè)模板里面有詳細(xì)的參數(shù)說明,以及示例效果。

微信團(tuán)隊(duì)相關(guān)負(fù)責(zé)人表示:模板消息的開放主要是為了幫助公眾號(hào)完成閉環(huán)服務(wù),現(xiàn)有的公眾號(hào),主動(dòng)發(fā)消息能力有限(每月可群發(fā)四條消息),這讓許多企業(yè)無法向用戶推送服務(wù)結(jié)果等消息的主動(dòng)通知。模板消息開放后,企業(yè)可以借助微信平臺(tái),運(yùn)用模板消息,在外部服務(wù)和內(nèi)部管理過程中,讓信息的觸達(dá)更為迅捷,為用戶提供更加周到的服務(wù)。

微信一直在不斷優(yōu)化用戶體驗(yàn),模板消息的開放,為企業(yè)提供了更多的基礎(chǔ)能力,比如更豐富的雙向互動(dòng),更精準(zhǔn)的信息提醒等,這些都提升了企業(yè)精品化、個(gè)性化服務(wù)的深度和廣度,這也是為什么金融、民航、政務(wù)等多領(lǐng)域的機(jī)構(gòu)、企業(yè)都期待微信開放模板消息功能的原因。未來,隨著模板消息功能的進(jìn)一步完善,或許企業(yè)員工工資明細(xì)、住戶每月用電量、電費(fèi)等用電詳單,甚至是駕駛證到期需更換等,都能通過企業(yè)、部門機(jī)構(gòu)微信公眾帳號(hào)的模板消息即時(shí)傳遞給相應(yīng)用戶。

2、使用模板消息進(jìn)行開發(fā)

前面介紹了模板的相關(guān)信息以及單個(gè)模板的介紹,我們?nèi)绻枰诤笈_(tái)程序中集成模板消息發(fā)送的話,那么我們需要了解模板消息的API有那些?如何利用模板消息的API進(jìn)行消息發(fā)送?

我們先來看看模板消息使用的說明:

1、所有服務(wù)號(hào)都可以在功能->添加功能插件處看到申請(qǐng)模板消息功能的入口,但只有認(rèn)證后的服務(wù)號(hào)才可以申請(qǐng)模板消息的使用權(quán)限并獲得該權(quán)限;2、需要選擇公眾賬號(hào)服務(wù)所處的2個(gè)行業(yè),每月可更改1次所選行業(yè);3、在所選擇行業(yè)的模板庫中選用已有的模板進(jìn)行調(diào)用;4、每個(gè)賬號(hào)可以同時(shí)使用15個(gè)模板。5、當(dāng)前每個(gè)模板的日調(diào)用上限為10萬次【2014年11月18日將接口調(diào)用頻率從默認(rèn)的日1萬次提升為日10萬次,可在MP登錄后的開發(fā)者中心查看】。

模板消息的管理功能有:

  1 設(shè)置所屬行業(yè)  2 獲得模板ID  3 發(fā)送模板消息  4 事件推送

2.1設(shè)置所屬行業(yè)

設(shè)置行業(yè)可在MP中完成,每月可修改行業(yè)1次,賬號(hào)僅可使用所屬行業(yè)中相關(guān)的模板,為方便第三方開發(fā)者,提供通過接口調(diào)用的方式來修改賬號(hào)所屬行業(yè),具體如下:

接口調(diào)用請(qǐng)求說明

http請(qǐng)求方式: POSThttps://api.weixin.QQ.com/cgi-bin/template/api_set_industry?access_token=ACCESS_TOKEN

POST數(shù)據(jù)說明

POST數(shù)據(jù)示例如下:

      {          "industry_id1":"1",          "industry_id2":"4"       }

根據(jù)說明,我們可以定義一個(gè)接口類ITemplateMessageApi,然后定義設(shè)置所屬行業(yè)的接口函數(shù)如下所示:

        /// <summary>        /// 設(shè)置所屬行業(yè)        /// </summary>        /// <param name="accessToken"></param>        /// <param name="industry_id1">公眾號(hào)模板消息所屬行業(yè)編號(hào)(主營行業(yè))</param>        /// <param name="industry_id2">公眾號(hào)模板消息所屬行業(yè)編號(hào)(副營行業(yè))</param>        /// <returns></returns>        CommonResult SetIndustry(string accessToken, IndustryCode industry_id1, IndustryCode industry_id2);

而為了方便,我們定義IndustryCode為一個(gè)枚舉對(duì)象,里面列出了系統(tǒng)支持的所有行業(yè)代碼,如下所示。

而實(shí)現(xiàn)代碼和之前的函數(shù)處理類似,都是POST數(shù)據(jù)到一個(gè)連接即可,并解析返回的結(jié)果就可以了,具體實(shí)現(xiàn)代碼如下所示。

        /// <summary>        /// 設(shè)置所屬行業(yè)        /// </summary>        /// <param name="accessToken">訪問憑證</param>        /// <param name="industry_id1">公眾號(hào)模板消息所屬行業(yè)編號(hào)(主營行業(yè))</param>        /// <param name="industry_id2">公眾號(hào)模板消息所屬行業(yè)編號(hào)(副營行業(yè))</param>        /// <returns></returns>        public CommonResult SetIndustry(string accessToken, IndustryCode industry_id1, IndustryCode industry_id2)        {            var url = string.Format("https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token={0}", accessToken);            var data = new            {                industry_id1 = (int)industry_id1,                industry_id2 = (int)industry_id2            };            string postData = data.ToJson();            return Helper.GetExecuteResult(url, postData);        }

2.2獲得模板ID

獲得模板ID,也就是從模板庫里面添加對(duì)應(yīng)的模板消息到我的模板里面。

從行業(yè)模板庫選擇模板到賬號(hào)后臺(tái),獲得模板ID的過程可在MP中完成。為方便第三方開發(fā)者,提供通過接口調(diào)用的方式來修改賬號(hào)所屬行業(yè),具體如下:

接口調(diào)用請(qǐng)求說明

http請(qǐng)求方式: POSThttps://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=ACCESS_TOKEN

POST數(shù)據(jù)說明

POST數(shù)據(jù)示例如下:

      {           "template_id_short":"TM00015"       }

C#函數(shù)實(shí)現(xiàn)代碼如下所示:

        /// <summary>        /// 獲得模板ID.        /// 從行業(yè)模板庫選擇模板到賬號(hào)后臺(tái),獲得模板ID的過程可在MP中完成。        /// </summary>        /// <param name="accessToken">訪問憑證</param>        /// <param name="template_id_short">模板庫中模板的編號(hào),有“TM**”和“OPENTMTM**”等形式</param>        /// <returns></returns>        public AddTemplateResult AddTemplate(string accessToken, string template_id_short)        {            var url = string.Format("https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token={0}", accessToken);            var data = new            {                template_id_short = template_id_short            };            string postData = data.ToJson();            return JsonHelper<AddTemplateResult>.ConvertJson(url, postData);        }

2.3發(fā)送模板消息

根據(jù)上面小節(jié)處理,添加到我的模板里面的操作得到的模板ID,我們就可以調(diào)用發(fā)送模板消息的API進(jìn)行模板消息發(fā)送了。

接口調(diào)用請(qǐng)求說明

http請(qǐng)求方式: POSThttps://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST數(shù)據(jù)說明

POST數(shù)據(jù)示例如下:

      {           "touser":"OPENID",           "template_id":"ngqipbwh8bUfCSSECmogfXcV14J0tQlEpBO27izEYtY",           "url":"http://weixin.qq.com/download",           "topcolor":"#FF0000",           "data":{                   "first": {                       "value":"恭喜你購買成功!",                       "color":"#173177"                   },                   "keynote1":{                       "value":"巧克力",                       "color":"#173177"                   },                   "keynote2": {                       "value":"39.8元",                       "color":"#173177"                   },                   "keynote3": {                       "value":"2014年9月16日",                       "color":"#173177"                   },                   "remark":{                       "value":"歡迎再次購買!",                       "color":"#173177"                   }           }       }

根據(jù)上面的JSON參數(shù),我們可以看到,有部分是模板消息公共的部分,有部分則是模板消息的具體參數(shù),這些參數(shù)需要根據(jù)不同的模板進(jìn)行不同的賦值。

如這部分是共同的:

   touser":"OPENID",   "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",   "url":"http://weixin.qq.com/download",   "topcolor":"#FF0000",

根據(jù)這個(gè)特點(diǎn),我們定義發(fā)送模板消息的接口如下所示:

        /// <summary>        /// 模板消息僅用于公眾號(hào)向用戶發(fā)送重要的服務(wù)通知,只能用于符合其要求的服務(wù)場(chǎng)景中,如信用卡刷卡通知,商品購買成功通知等。        /// 不支持廣告等營銷類消息以及其它所有可能對(duì)用戶造成騷擾的消息。        /// </summary>        /// <param name="accessToken">訪問憑證</param>        /// <param name="openId">賬號(hào)的openID</param>        /// <param name="templateId">在公眾平臺(tái)線上模板庫中選用模板獲得ID</param>        /// <param name="data">模板的變化參數(shù)數(shù)據(jù)</param>        /// <param name="url">,URL置空,則在發(fā)送后,點(diǎn)擊模板消息會(huì)進(jìn)入一個(gè)空白頁面(ios),或無法點(diǎn)擊(android)。</param>        /// <param name="topcolor">頂部顏色,默認(rèn)為#173177</param>        /// <returns></returns>        SendMassMessageResult SendTemplateMessage(string accessToken, string openId, string templateId, object data, string url, string topcolor = "#173177");

我們用object data來定義模板的變化參數(shù)數(shù)據(jù)。

具體的實(shí)現(xiàn)還是和前面的方法提交數(shù)據(jù)處理差不多,代碼如下所示。

        /// <summary>        /// 模板消息僅用于公眾號(hào)向用戶發(fā)送重要的服務(wù)通知,只能用于符合其要求的服務(wù)場(chǎng)景中,如信用卡刷卡通知,商品購買成功通知等。        /// 不支持廣告等營銷類消息以及其它所有可能對(duì)用戶造成騷擾的消息。        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="accessToken">訪問憑證</param>        /// <param name="openId"></param>        /// <param name="templateId">在公眾平臺(tái)線上模板庫中選用模板獲得ID</param>        /// <param name="data"></param>        /// <param name="url">,URL置空,則在發(fā)送后,點(diǎn)擊模板消息會(huì)進(jìn)入一個(gè)空白頁面(ios),或無法點(diǎn)擊(android)。</param>        /// <param name="topcolor"></param>        /// <returns></returns>        public SendMassMessageResult SendTemplateMessage(string accessToken, string openId, string templateId, object data, string url, string topcolor = "#173177")        {            var postUrl = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_tok
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久蜜桃香蕉精品一区二区三区 | 久久精品国产清自在天天线 | 色婷婷av一区二区三区久久 | 久久久入口 | 激情五月少妇a | 日韩精品网站在线观看 | 欧美成人精品欧美一级 | 成人福利在线观看 | 欧美一级精品 | 一区二区三区在线观看国产 | 意大利av在线 | 手机国产乱子伦精品视频 | 国产一级淫片在线观看 | 色播视频在线播放 | 亚洲免费看片网站 | 国产免费网站视频 | 国产精品视频久久久 | 久久久久久久久久亚洲 | 亚洲性一区 | 一级黄片毛片免费看 | 欧美亚洲一级 | 草b视频在线观看 | 精品国内视频 | 国产妞干网 | 久久久久久久久久久久网站 | 一级电影免费在线观看 | h色视频在线观看 | 91一区二区在线观看 | 亚洲国产精久久久久久久 | chinese中国真实乱对白 | 国产精品视频免费在线观看 | 色99久久 | 7777欧美| 久久精品日韩 | 久久久久国产成人免费精品免费 | 欧美日韩在线看片 | 一级黄色在线免费观看 | 成人免费入口 | 国产99精品在线 | 亚洲看片网| 羞羞答答视频 |