zl程序教程

您现在的位置是:首页 >  Java

当前栏目

微信公众号模板消息接口

2023-02-18 16:45:54 时间

1. 模板消息应用场景


公众号模板消息作用: 用于公众号向用户发送重要的服务通知

模板消息的应用场景:

1、用户下单后通知商家有新的订单,提醒商家及时处理

2、用户申请入驻商家,给平台管理员推送入驻申请通知

3、用户购买商品后,平台给用户发快递,可以通过模板消息将物流信息发送给用户(下单成功 -> 商家已发货 -> 收货成功)

公众号模板消息官方文档:

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html

2. 测试号模板消息


个人申请订阅号没有模板消息接口权限,必须是已经认证的服务号才能使用

但是开发者可使用公众号测试号进行调试开发模板消息功能,测试号拥有服务号大部分高级接口的使用权限

申请测试号: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login , 扫码登录即可完成测试号申请

创建一个模板消息,其中 name 是动态参数

使用测试号发送模板消息必需条件: 用户已关注测试号

3. 服务号模板消息


服务号在开通模板消息时会让选择两个行业类型,每个行业都有各自对应的模板(两个行业类型: 主营、副营行业)

选择的哪两个就能使用哪两个行业对应的模板消息,需要注意的是模板消息不像小程序的订阅消息一样能自定义消息模板

服务号发送模板消息必需配置: IP白名单, 用户已关注服务号

小程序关联公众号(服务号模板消息跳转到小程序)

4. 在TP6.0中使用 EasyWechat4.x 发送模板消息


运行环境: ThinkPHP6.0 + EasyWechat4.x

EasyWechat4.x 模板消息: https://www.easywechat.com/4.x/official-account/template_message.html

注: 当 app_idsecret 错误时执行发送会抛出异常

发送模板消息必需参数:

公众号appid、开发者密钥、模板消息id、公众号用户openid

$config = [
// 测试号
'app_id' => 'wx0a48233ca8xxxx',
'secret' => '2674bb2165dc7c45160cde5dxxxx',
// 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
'response_type' => 'array',
];
$app = \EasyWeChat\Factory::officialAccount($config);
$result = $app->template_message->send([
'touser' => 'ozlgE6DGcfpHE1Qz69U9xKQtsRkw',
'template_id' => 'AUxDDqR9wOpNZtqZNR8O36IUD3LjMp0XwGtwmV1b7Ks',
'data' => [
'name' => "辰风沐阳",
],
]);

$result 常见返回值

发送成功

^ array:3 [▼
"errcode" => 0
"errmsg" => "ok"
"msgid" => 2106918981956616192
]

发送失败,用户没有关注公众号

^ array:2 [▼
  "errcode" => 43004
  "errmsg" => "require subscribe rid: 6176c857-74a7a453-30425854"
]