小程序发送通知-可重复多次发送

一.小程序发送订阅消息背景

发送永久订阅消息目前微信只支持集中行业:市政,金融,在线教育等,其他行业暂未开通

但是项目均不符合以上条件,想要实现发送永久订阅消息就需要使用公众号模板消息:公众号模板消息可以添加小程序跳转

发送公众号模板消息需要参数access_tocken,微信接口唯一凭证,2小时过期,需要后端自行刷新,旧的tocken可以在过期后5分钟内继续使用

剩下的消息数据参考微信接口API示例

微信官方API:subscribeMessage.send | 微信开放文档

网络示例:微信公众号开发之发送模板消息_朱哲的博客-CSDN博客_微信模板消息

微信公众号模板消息推送_永封尘埃的博客-CSDN博客_微信公众号推送模板

二.小程序与公众号数据对接

openid 是每个小程序独有的,相同用户不同小程序的openid不同,所以同一用户,小程序和公众号的openid不同,但会有相同的unionid

1.公众号发送订阅消息接口

公众号发送消息,其中一个参数是用户openid

发送模板消息

接口调用请求说明

http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST数据说明

POST数据示例如下:

  {
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },          
           "data":{
                   "first": {
                       "value":"恭喜你购买成功!",
                       "color":"#173177"
                   },
                   "keyword1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keyword2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keyword3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"欢迎再次购买!",
                       "color":"#173177"
                   }
           }
       }

参数说明

参数

是否必填

说明

touser

接收者openid

template_id

模板ID

url

模板跳转链接(海外帐号没有跳转能力)

miniprogram

跳小程序所需数据,不需跳小程序可不用传该数据

appid

所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)

pagepath

所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏

data

模板数据

color

模板内容字体颜色,不填默认为黑色

注:url和miniprogram都是非必填字段,若都不传则模板无跳转;若都传,会优先跳转至小程序。开发者可根据实际需要选择其中一种跳转方式即可。当用户的微信客户端版本不支持跳小程序时,将会跳转至url。

返回码说明

在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

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

另,unionid需要关注公众号才能获取到,需要捕获关注公众号事件获取。

公众号开发需要验证URL,需要配置IP白名单;

公众号获取用户信息,后端采用的获取监听关注事件

公众号:关注/取消关注事件

推送XML数据包示例:

<xml>

        &l

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值