微信公众号推送模板消息

24-12-07     slbcun     814℃     0

公众号的类型分为服务号、订阅号和企业号,其中服务号和订阅号比较常见。要想实现公众号推动消息给指定的用户,其类型必须为服务号。

首次设置需要开启模板消息功能,登录公众号后台: mp.weixin.qq.com ,在左侧导航栏最下方有「添加新的功能」,打开,在「广告与服务」一类中找到「模板消息」,开通即可。

打开「模板消息」,选择模板库,需先选择所在行业(一个月只能修改一次),之后在下方的行业模板中选择合适的模板(可以搜索模板关键字)。

微信公众号推送模板消息

微信公众号推送模板消息

生成的模板ID就是我们推送模板消息需要的

微信公众号推送模板消息


需要获取ACCESS_TOKEN

其中的appid和appsecret,请在公号基本配置中查找。


https请求方式: GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

正常情况下,请求GET请求这个地址微信会返回如下数据:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

其中的access_token就是我们需要的,将数据对应申请的模板填写一下 执行发送就可以了,完整代码如下:

public  function http_curl($url,$type,$res,$arr){
            /*
            $url 请求的url
            $type 请求类型
            $res 返回数据类型
            $arr post请求参数
             */
            $ch=curl_init();
            /*$url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET';  */
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            if($type=='post'){
                curl_setopt($ch,CURLOPT_POST,1);
                curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);
            }
            $output = curl_exec($ch);
            curl_close($ch);
            if($res=='json'){
                return json_decode($output,true);
            }
    }


function send(){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET";
        $urlgetcon = file_get_contents($url);
        $usera = json_decode($urlgetcon, TRUE); 
        $token = $usera['access_token'];
    	$posturl = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$token;
        $openid = '获取用户openid';
        $data = array(
            "touser"=>$openid,
            "template_id"=>"模板ID",
            "data" => array(
                "thing2" => array(
                    "value"=>"消费项目",
                    "color"=>"#173177"
                ),
                "amount3" => array(
                    "value"=>"消费金额",
                    "color"=>"#173177"
                ),
                "character_string14" => array(
                    "value"=>"订单号",
                    "color"=>"#173177"
                ),
                "thing28" => array(
                    "value"=>"消费门店",
                    "color"=>"#173177"
                ),
                "character_string35" => array(
                    "value"=>"会员积分",
                    "color"=>"#173177"
                )
            )
        );
	$postjson = json_encode($data );
	$resder = $this->http_curl($posturl,'post','json',$postjson);
}

效果如下:

微信公众号推送模板消息

微信公众号推送模板消息

分享 收藏
发表我的评论

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~