1. 添加模板
1)登錄公眾號
2)添加插件
登錄之后,在左邊欄的功能里面點擊【添加功能插件】—>【模板消息】
進入后,然后開始審核,大概要1-3天時間。下面為我們正在審核的界面
對此,我們等待模板審核成功
2. 設置模板
模板申請成功后,可看到左邊欄功能下面多了一個菜單欄【模板消息】
下圖是我們添加的模板
模塊庫。注意:模板庫是根據不同的行業(一級行業、二級行業)而定的。
我們選擇我們的模板(中獎模板)
模板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" } } }
我們可以看到結果如下:
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內容錯誤
可以關注本人的公眾號,多年經驗的原創文章共享給大家。







