很久没有对接微信公众号模板消息了,今天看旧系统的模板消息发送方式已经不能在新模板上面用了。以前就是用keyword1、keyword2这样的方式入参,现在要按模板详情里面的固定参数入参才行。
成功实例:

请求参数:
{
"touser": "接收人的openid",
"template_id": "NDCR8hEProeOhBfGK-7atdDFcpemxc5o8BnW6jBGLLE",
"url": "点击跳转URL",
"data": {
"thing3": {
"value": "系统故障"
},
"character_string6": {
"value": "BSbgmQJTIPBPh9mfhM"
},
"thing16": {
"value": "南村镇员岗村23号"
},
"time13": {
"value": "2023-11-06 23:27:36"
},
"phrase8": {
"value": "系统安装"
}
}
}发送和以前没有区别,就是入参把通用的keyword{n}改成的固定的模板变量:

//发送模板消息
public static function send_template_msg($data)
{
$config = self::get_access_token(1);
if ($config['code'] == 1) {
return $config;
}
$token = $config['accessToken'];
$url = self::$wxApiUrl . 'cgi-bin/message/template/send?access_token=' . $token;
$data = [
'touser' => $data['touser'],
'template_id' => $data['template_id'],
'url' => $data['url'],
//'client_msg_id' => $data['client_msg_id'] ?? null,//去重ID
'data' => $data['data']
];
return curl_post_request($url, json_encode($data, JSON_UNESCAPED_UNICODE), 10);
}