EasyWechat 4.x 微信小程序订阅消息
2024-09-13
23
1. 前言
EasyWechat 4.x 订阅消息文档: https://easywechat.com/docs/4.x/mini-program/subscribe_message
微信官方文档订阅消息:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html
下发订阅消息官方文档(注意:订阅消息参数值内容限制):https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html
2. 发送订阅消息
page
参数
点击模板卡片后的跳转页面,仅限本小程序内的页面。
支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
miniprogram_state
参数
跳转小程序类型 formal 正式版 trial 体验版 developer 开发版, 省略时默认为正式版
EasyWechat 订阅消息示例中并没有该参数,我是在微信订阅消息官方文档发现的,经测试,该参数可用
$data = [
'template_id' => 'bDmywsp2oEHjwAadTGKxxxxxx', // 订阅消息模板id
'touser' => 'oSyZp5OBNPBRhG-7BVgWxbiNZm', // 接收者用户openid
'page' => 'pages/index/index', // 小程序页面路径
'data' => [ // 模板内容
'date01' => [
'value' => '2019-12-01',
],
'number01' => [
'value' => 10,
],
],
'miniprogram_state' => 'formal', // formal 正式版 trial 体验版 developer 开发版
];
// 返回数组
$result = $app->subscribe_message->send($data);
特别注意:模板id为空时会抛出异常而不是以返回值的形式返回,所以最好使用 try catch
捕获下错误
try {
// 返回数组 模板id为空时抛出异常
$result = $app->subscribe_message->send($data);
} catch (\Throwable $e) {
fault($e->getMessage());
}
发送成功
[
"errcode" => 0,
"errmsg" => "ok",
"msgid" => 1888884277765816322,
]
判断是否发送成功
if (isset($result['errcode']) && $result['errcode'] == 0 ) {
// 发送成功
}
3. 发送失败时常见返回值
用户没有授权或授权的次数已用尽
更新于:26天前[
"errcode" => 43101,
"errmsg" => "user refuse to accept the msg rid: 60b07a4d-07ed4b8e-286b09ae",
]
赞一波!
相关文章
- 10个技巧优化PHP程序Laravel 5框架
- jwt 小程序接口鉴权 【firebase 6.x】
- 微信小程序用户隐私保护协议填写范本
- 小程序中商家入驻提醒、新订单提醒
- 微信小程序中的支付宝支付
- 微信公众号模板消息接口
- uniapp 微信小程序 控制台警告和错误处理
- 微信小程序内容安全检测(敏感词、敏感图)
- ThinkPHP6.0 + EasyWechat 4.x 公众号自动回复
- EasyWechat 4.x JSAPI 微信支付
- 微信小程序订阅消息
- 小程序客服会话
- 获取用户授权的手机号【微信小程序】
- 小程序测试号、公众号测试号
- EasyWechat 4.x 微信小程序企业付款到零钱
- EasyWechat 3.x 小程序客服消息自动回复
- EasyWeChat 生成小程序码报错 cURL错误 60
- TP6.0 消息队列 topthink/think-queue
- 微信小程序 wx.requestPayment({}) 唤起微信支付
- 人人商城 V3.18.1 小程序端获取商品列表接口
文章评论
评论问答