Laravel+微信公众号实现模板消息推送,模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
一、前提条件
1、服务号:公众号发送模板消息必须是企业服务号
2、设置与开发:进入功能设置,设置业务域名、JS接口安全域名、网页授权域名
3、新增模板消息模板:进入模板消息新增模板。
4、公众号APPID、SECRET、以及用户OPENID
5、获取ACCESS_TOKEN:结合APPID、SECRET获取
二、代码编写
1、发送模板消息方法
<?php
public function message(){
$APPID = $config['wx_appid'];
$SECRET = $config['wx_secret'];
/*
* 获取access_token
* */
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$APPID.'&secret='.$SECRET;
$res = $this->getCurl($url);
//发送模板消息
$tplUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" .$res['access_token'];
// 发送模板消息
$data = array(
"touser" => 'ofsC_wOcgg_ihhxaHXAFXMMZx', // 接收用户openid
"template_id" => "S5F4B_FPidlHuG8jL0TK-_pY99nuhxgvCCVSXMA", // 模板消息ID
"url" => "http://weixin.qq.com/download", // 跳转页面路径
"data" => array(
"first" => array(
"value" => '尊敬的用户你好,你已预约成功!'//标题
),
"keyword1" => array(
"value" =>'123456' //预约内容
),
"keyword2" => array(
"value" =>'2024-05-25 16:90' //预约时间
),
)
);
$data = json_encode($data);
$resTpl = $this->wxTplPost($tplUrl,$data);
if($resTpl['errcode']==0){
echo '发送成功!';
}else{
echo '发送失败!';
}
}
?>2、公众号GET请求方法
<?php
/*
* curl请求
* */
public function getCurl($url){
$curl = curl_init();
//使用curl_setopt() 设置要获得url地址
curl_setopt($curl, CURLOPT_URL, $url);
//设置是否输出header
curl_setopt($curl, CURLOPT_HEADER, false);
//设置是否输出结果
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置是否检查服务器端的证书
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//使用curl_exec()将curl返回的结果转换成正常数据并保存到一个变量中
$data = curl_exec($curl);
$data =json_decode($data,true);
//关闭会话
curl_close($curl);
return $data;
}
?>3、公众号POST请求方法
<?php
/*
* 使用post方式发送请求
* 微信公众号模板消息
* $data json格式
* */
public function wxTplPost($url,$data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$res = json_decode($out, true);
return $res;
}
?>
关于简忆
简忆诞生的故事



粤ICP备16092285号
文章评论(0)