实现微信小程序向特定微信服务号用户发送模板消息
所需微信公众号资源
- 已认证的微信公众号、同主体的微信服务号(不同主体也行)
- 在微信公众号上和服务号上绑定同一个小程序
- 在服务号上开通消息模板功能,服务号作消息推送
- 申请自己需要的消息模板
发送模板消息
模版消息接口文档:https://mp.weixin.qq.com/advanced/tmplmsg?action=faq&token=809823485&lang=zh_CN
第一步:获取模版ID,通过在模版消息功能的模版库中使用需要的模版,可以获得模版ID。
第二步:请求接口,请注意,URL置空,则在发送后,点击模版消息会进入一个空白页面(ios),或无法点击(android)。
请求方式:POST请求 https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
-
post请求JSON报文:
{ "touser": "服务号下关注者的openId", "template_id": "服务号下申请的模板ID:ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url": "http://weixin.qq.com/download", "topcolor": "#FF0000", "data": { "User": { "value": "黄先生", "color": "#173177" }, "Date": { "value": "06月07日 19时24分", "color": "#173177" }, "CardNumber": { "value": "0426", "color": "#173177" }, "Type": { "value": "消费", "color": "#173177" }, "Money": { "value": "人民币260.00元", "color": "#173177" }, "DeadTime": { "value": "06月07日19时24分", "color": "#173177" }, "Left": { "value": "6504.09", "color": "#173177" } } }
-
模板消息如下:
-
获取服务号下关注者的openId:
在小程序里面提供一个入口,需要用户绑定个人手机号;然后在服务号页面提供一个功能按钮,同样需要用户绑定个人手机号,绑定过程需要短信验证码。
- 然后便可以通过用户手机号给某个用户发送模板消息了。
总结
上述模板消息的说明都能在官网文档上找到。但是,我们大多数情况下的需求是通过模板消息给用户发送通知,这个通知不需要用户和公众号交互就能响应。然而,官方说法是:为了保证用户不受到骚扰,在开发者出现需要主动提醒、通知用户时,才允许开发者在公众平台网站中模版消息库中选择模版,选择后获得模版ID,再根据模版ID向用户主动推送提醒、通知消息。所以,我们需要做的,就是引导用户绑定我们提供的服务号。推荐通过手机号绑定服务号,然后,手机号又在其他需要的业务端绑定。这样就能通过手机号唯一锁定我们绑定的服务号openId了。然后再通过服务号的模板消息模块给对应用户发送模板消息通知即可。