這篇文章主要介紹了C#開發之小程式發送模板訊息功能,需要的朋友可以參考下
步驟一:擷取模板ID
有兩個方法可以擷取模版ID
通過模版訊息管理介面擷取模版ID
在公眾平台手動設定擷取模版ID
步驟二:頁面的 <form/> 組件,屬性report-submit為true時,可以聲明為需發模板訊息,此時點擊按鈕提交表單可以擷取formId,用於發送模板訊息。或者當使用者完成支付行為,可以擷取prepay_id用於發送模板訊息。
步驟三:調用介面下發模板訊息
今天重要的說第三步怎麼實現,前面的步驟比較簡單就略過。
----------------------------------------------------------------------------------------------------
1. 擷取 access_token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
後面會在發送模板訊息的時候會用到access_token
2. 發送模板訊息
介面地址:(ACCESS_TOKEN 需換成上文擷取到的 access_token)
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN
注意說明:由於現在不讓開發人員直接在前端使用 https://api.weixin.qq.com 介面擷取資料,所以下面的操作都必須由伺服器後台來完成。
官方的POST參數:
{ "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "form_id": "FORMID", "data": { "keyword1": { "value": "339208499", "color": "#173177" }, "keyword2": { "value": "2015年01月05日 12:30", "color": "#173177" }, "keyword3": { "value": "粵海喜來登酒店", "color": "#173177" } , "keyword4": { "value": "廣州市天河區天河路208號", "color": "#173177" } }, "emphasis_keyword": "keyword1.DATA" } var l = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" + access_token; var tempData = new { touser = openid, template_id = "VErasH9Plzmyw9-PQjiggkBCa3hOU30qfvTaxD******",//這個是1、申請的模板訊息id, page ="pages/index/index", form_id = formId, data = new { keyword1 = new { value = title, color = "#666666" }, keyword2 = new { value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), color = "#9b9b9b" }, keyword3 = new { value = Remarks, color = "#9b9b9b" } }, color = "#666666" }; X.Component.Tools.WebClient wc = new X.Component.Tools.WebClient(); var result = tempData.ToJson(); //Newtonsoft.Json.JsonConvert.SerializeObject(tempData); wc.Encoding = System.Text.Encoding.UTF8; var obj = wc.Post(l, result); //得到返回的結果
注意 page路徑
最後返回的結果:
{ "data": { "success": true }, "statusCode": 200, "header": { "Server": "Microsoft-IIS/7.5", "Access-Control-Allow-Origin": "https://pubchem.ncbi.nlm.nih.gov", "Cache-Control": "private", "X-UA-Compatible": "chrome=1", "Date": "Thu, 28 Sep 2017 04:46:34 GMT", "X-AspNetMvc-Version": "4.0", "Content-Type": "application/json; charset=utf-8", "X-Powered-By": "ASP.NET", "X-AspNet-Version": "4.0.30319", "Content-Length": "16" }, "errMsg": "request:ok"}
效果:
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!