微信公眾號 模板消息開發


 

1. 添加模板

1)登錄公眾號

2)添加插件

登錄之后,在左邊欄的功能里面點擊【添加功能插件】—>【模板消息】

image

進入后,然后開始審核,大概要1-3天時間。下面為我們正在審核的界面

image

對此,我們等待模板審核成功

 

2. 設置模板

模板申請成功后,可看到左邊欄功能下面多了一個菜單欄【模板消息】

下圖是我們添加的模板

image

 

模塊庫。注意:模板庫是根據不同的行業(一級行業、二級行業)而定的。

image

 

我們選擇我們的模板(中獎模板)

image

 

模板ID我們要記住,這個是我們調用的時候需要傳的參數

 

3. 開發

1)官網地址

具體調用可查看微信文檔 http://mp.weixin.qq.com/wiki/17/304c1885ea66dbedf7dc170d84999a9d.html

運營規范可查看微信文檔 http://mp.weixin.qq.com/wiki/2/def71e3ecb5706c132229ae505815966.html

2)開發(用到RestSharp框架,用來webservice訪問)

調用模板API,首先要獲取全局token,獲取全局token是GET方式,調用模板API是POST方式

下面是獲取token代碼

        private string getToken(string appid, string secret)
        {
            string url = "https://api.weixin.qq.com/cgi-bin/token";
            var vClient = new RestClient(url);
            var vRequest = new RestRequest(Method.GET);
            vRequest.AddParameter("grant_type", "client_credential");
            vRequest.AddParameter("appid", appid);
            vRequest.AddParameter("secret", secret);
            var strJson = vClient.Execute(vRequest);
            Log.Info("getToken strJson=" + strJson.Content);
            return CPublicMethod.GetJsonValue(strJson.Content, "access_token");
        }

下面是發送模板消息代碼

       public string sendTemplate(string appid, string openid, string templateId)
        {
            string result = "";string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + wechatToken.token;

            var vClient = new RestClient(url);
            var vRequest = new RestRequest(Method.POST);
            vRequest.RequestFormat = DataFormat.Json;
            /*
                {{first.DATA}}
                活動名稱:{{keyword1.DATA}}
                獎品說明:{{keyword2.DATA}}
                收貨地址:{{keyword3.DATA}}
                收件姓名:{{keyword4.DATA}}
                聯系方式:{{keyword5.DATA}}
                {{remark.DATA}}
            */
            vRequest.AddBody(new
            {
                touser= openid,
                template_id=templateId,
                url="http://www.baidu.com",
                data=new {
                    first=new{
                        value="恭喜您中了穗寶的抽獎",
                        color="#173177"
                    },
                    keyword1= new{
                        value="枕頭",
                        color="#173177"
                    },
                    keyword2= new{
                        value="周一中獎",
                        color="#173177"
                   },
                    keyword3= new{
                        value="廣東省廣州市天河區龍口西路XXXXXXXX",
                        color="#173177"
                   },
                    keyword4 = new
                    {
                        value = "AlunChen",
                        color = "#173177"
                    },
                    keyword5 = new
                    {
                        value = "13788856985",
                        color = "#173177"
                    },
                    remark =new{
                        value="歡迎再次玩我們的活動抽獎!",
                        color="#173177"
                   }
                }
              });
            var jsonStr = vClient.Execute(vRequest).Content;

            Log.Info("sendTemplate jsonStr:" + jsonStr);

            result = jsonStr;

            return result;
        }

注意上面的JSON格式類似這樣的

{
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",            
           "data":{
                   "first": {
                       "value":"恭喜你購買成功!",
                       "color":"#173177"
                   },
                   "keynote1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keynote2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keynote3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"歡迎再次購買!",
                       "color":"#173177"
                   }
           }
       }
 
我們可以看到結果如下:
image
 

 

4.返回碼說明

在調用模板消息接口后,會返回JSON數據包。正常時的返回JSON數據包示例:

{
"errcode":0,
"errmsg":"ok",
"msgid":200228332
}

錯誤時的返回JSON數據,形式類似,錯誤碼請見本頁下方返回碼說明。

錯誤時的返回JSON數據,形式類似,錯誤碼請見本頁下方返回碼說明。

返回碼
說明

-1
系統繁忙

0
請求成功

40001
驗證失敗

40002
不合法的憑證類型

40003
不合法的OpenID

40004
不合法的媒體文件類型

40005
不合法的文件類型

40006
不合法的文件大小

40007
不合法的媒體文件id

40008
不合法的消息類型

40009
不合法的圖片文件大小

40010
不合法的語音文件大小

40011
不合法的視頻文件大小

40012
不合法的縮略圖文件大小

40013
不合法的APPID

41001
缺少access_token參數

41002
缺少appid參數

41003
缺少refresh_token參數

41004
缺少secret參數

41005
缺少多媒體文件數據

41006
access_token超時

42001
需要GET請求

43002
需要POST請求

43003
需要HTTPS請求

44001
多媒體文件為空

44002
POST的數據包為空

44003
圖文消息內容為空

45001
多媒體文件大小超過限制

45002
消息內容超過限制

45003
標題字段超過限制

45004
描述字段超過限制

45005
鏈接字段超過限制

45006
圖片鏈接字段超過限制

45007
語音播放時間超過限制

45008
圖文消息超過限制

45009
接口調用超過限制

46001
不存在媒體數據

47001
解析JSON/XML內容錯誤

 

可以關注本人的公眾號,多年經驗的原創文章共享給大家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM