这里以测试账号为例,首先进入测试账号主页面,然后找到模板消息接口,点击新增测试模板

模板内容中first,keynote1,keynote2都是变量,用于程序中替换,在创建的时候变量需要用{{ .DATA}} 包起来,具体程序中构建发送请求的数据包见下面$msg_data数组,下面新建一个发送模板消息的测试方法
public function cs(){
$msg_data=[
'touser'=>'xxxxxx', //发送给谁(一个openid)
'template_id'=>'2EOZF29Mx6kw4x9XaLcN78YJndKEKPPHeK21IKL78l4', //模板消息ID,见上图
'url'=>' //点击后需要跳转的页面
'data'=>[
'first'=>[
'value'=>'恭喜你购买成功!',
'color'=>'#173177' //设置字体颜色
],
'keynote1'=>[
'value'=>'巧克力',
'color'=>'#173177'
],
'keynote2'=>[
'value'=>'39.8元',
'color'=>'#173177'
]
]
];
$call=$this->sendTemplateMessage(json_encode($msg_data));
print_r($call);
}
/**
发送模板消息
*/
public function sendTemplateMessage($data){
$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$this->access_token}";
$calldata=json_decode($this->HttpPost($data,$url),true);
return $calldata;
}
public function HttpPost($content = null,$url='') {
$postUrl = $url;
$curlPost = $content;
$ch = curl_init (); // 初始化curl
curl_setopt ( $ch, CURLOPT_URL, $postUrl ); // 抓取指定网页
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 设置header
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 要求结果为字符串且输出到屏幕上
curl_setopt ( $ch, CURLOPT_POST, 1 ); // post提交方式
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );
$data = curl_exec ( $ch ); // 运行curl
curl_close ( $ch );
return $data;
}
在请求发送模板消息接口前必须先获取access_token,具体获取方法请自行参考微信公众平台开发者文档,(获取access_token)这里不再具体阐述;现在直接访问这个方法

提示发送成功,发送效果
