首頁  >  文章  >  後端開發  >  C#開發之微信小程式發送範本訊息功能

C#開發之微信小程式發送範本訊息功能

不言
不言原創
2018-06-22 16:38:024230瀏覽

這篇文章主要介紹了C#開發之微信小程式發送範本訊息功能,需要的朋友可以參考下

步驟一:取得範本ID

有兩個方法可以取得模版ID

  1. 透過模版訊息管理介面取得模版ID

  2. 在微信公眾平台手動設定取得模版ID

步驟二:頁面的e8b36d49ce73ede15e584e9dd86e79e9 元件,當屬性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"
}

效果截圖:

以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

微信小程式怎麼發送範本訊息

以上是C#開發之微信小程式發送範本訊息功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn