微信小程序订阅消息
admin
2024-03-19 06:30:31

subscribeMessage.send | 微信开放文档

由于业务需求 , 需要实现小程序订单状态发送给用户 , 于是微信小程序发送订阅消息就被找到了

这里前端是使用了uniapp , 具体实现方式不清楚,就不瞎bb了

后端这里就是上面的接口文档 , 总共需要是三个步骤

1. 获取小程序 appid 和 密钥

2. 订阅消息模板选择

3. 通过appid 和 密钥获取accesstoken

auth.getAccessToken | 微信开放文档

4. 获取用户小程序openid

5. 测试模板消息是否发送成功 , 这里需要前端先对模板消息进行订阅才能发送 , 这里需要对模板消息的数据类型进行比对

参数类别参数说明参数值限制说明
thing.DATA事物20个以内字符可汉字、数字、字母或符号组合
number.DATA数字32位以内数字只能数字,可带小数
letter.DATA字母32位以内字母只能字母
symbol.DATA符号5位以内符号只能符号
character_string.DATA字符串32位以内数字、字母或符号可数字、字母或符号组合
time.DATA时间24小时制时间格式(支持+年月日),支持填时间段,两个时间点之间用“~”符号连接例如:15:01,或:2019年10月1日 15:01
date.DATA日期年月日格式(支持+24小时制时间),支持填时间段,两个时间点之间用“~”符号连接例如:2019年10月1日,或:2019年10月1日 15:01
amount.DATA金额1个币种符号+10位以内纯数字,可带小数,结尾可带“元”可带小数
phone_number.DATA电话17位以内,数字、符号电话号码,例:+86-0766-66888866
car_number.DATA车牌8位以内,第一位与最后一位可为汉字,其余为字母或数字车牌号码:粤A8Z888挂
name.DATA姓名10个以内纯汉字或20个以内纯字母或符号中文名10个汉字内;纯英文名20个字母内;中文和字母混合按中文名算,10个字内
phrase.DATA汉字5个以内汉字5个以内纯汉字,例如:配送中
enum.DATA枚举值只能上传枚举值范围内的字段值调用接口获取参考枚举值

成功案例: 

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

失败案例:(我这个是没有订阅模板消息)

{"errcode": 43101,"errmsg": "user refuse to accept the msg rid: 638da8c5-4d9f4841-684c02bd"
}
说明最低版本
40003touser字段 openid 为空或者不正确
40037订阅模板 id 为空不正确
43101用户拒绝接受消息,如果用户之前曾经订阅过,则表示用户取消了订阅关系
47003模板参数不准确,可能为空或者不满足规则,errmsg会提示具体是哪个字段出错
41030page路径不正确,需要保证在现网版本小程序中存在,与 app.json 保持一致

相关内容

热门资讯

凝心聚力开新局 实干笃行谱华章 文 朱紫云岁序更迭,华章日新。迈入2026年,“十五五”规划的宏伟蓝图正徐徐展开。开年以来,从多部委...
国际知名学术出版机构向中国开放...   新华社电 国际学术期刊元数据利用难,是我国科技文献领域长期面临的瓶颈。记者1月16日获悉,东壁科...
素质工程启动仪式暨表彰大会领导... 素质工程启动仪式暨表彰大会领导讲话各位领导,各位来宾,各位司机师傅们: 大家下午好! 春暖花开,到处...
最新或2023(历届)清明宣讲... 清明宣讲稿弘扬先烈精神 树立远大理想青少朋友们: 今天大家怀着对先羚敬的心情来到烈士园祭扫烈士陵墓,...
全体职工大会先进集体代表发言稿... 全体职工大会先进集体代表发言稿各位领导、同志们: 你们好! 首先,我代表获得先...