1. 添加模板html
1)登陸公衆號web
2)添加插件json
登陸以後,在左邊欄的功能裏面點擊【添加功能插件】—>【模板消息】api
進入後,而後開始審覈,大概要1-3天時間。下面爲咱們正在審覈的界面微信
對此,咱們等待模板審覈成功app
2. 設置模板框架
模板申請成功後,可看到左邊欄功能下面多了一個菜單欄【模板消息】url
下圖是咱們添加的模板spa
模塊庫。注意:模板庫是根據不一樣的行業(一級行業、二級行業)而定的。插件
咱們選擇咱們的模板(中獎模板)
模板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內容錯誤
能夠關注本人的公衆號,多年經驗的原創文章共享給你們。