Laravel+微信公众号实现模板消息推送

2024-05-26   阅读:402   类型:后端   分类:Laravel    标签: 微信开发 Laravel

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;
}
?>
腾讯云11.11上云拼团Go,2核2G3M云服务器 28元/年

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://tpxhm.com/adetail/1051.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×