很久没有对接微信公众号模板消息了,今天看旧系统的模板消息发送方式已经不能在新模板上面用了。以前就是用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); }