前言
微信公众号模板消息是公众号向用户定向发送消息的途径,只需要申请发送模板消息权限,拥有用户的OPENID即可实现该功能。基本步骤分为3部分:添加模板消息、组织Json数据和POST请求。
添加模板消息
公众号的模板消息格式不可自定义,开发人员需要选择相关行业,再寻找可用的模板消息(如果模板库中没有,可以向微信提交自定义的模板,等待审批),可以参考该博文。
该步骤将得到模板ID
组织待发送的Json数据
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"
}
}
}
该步骤将目标用户的OPENID、模板消息编号都填入,通知消息也以value和color填充,另外url用于模板消息点击后跳转的路径,可以置为空使用户点击无效。
POST请求
POST请求分为两部分:获取ACCESS_TOKEN和向指定路径提交Json数据。如果对获取ACCESS_TOKEN有疑问可参考这篇文章。至于向指定路径提交Json数据,只需要发送一个HTTPS的post请求即可,可以参考该文章。发送后会得到消息发送结果(上述博客中也有提到),可以根据该消息码确定下一步结果或编写log信息。
事件推送
模板消息开发文档中对事件推送的功能定义如下:
在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填写的服务器配置地址中。
由于没有实践,这里并不太了解事件推送的意义,可以后期开发中再做进一步了解。
参考
模板消息接口-开发文档
微信公众号开发之模板消息
微信公众号开发之发送模板消息
微信公众号开发之获取access token