前期准备:
公众号类型:服务号
进入微信公众号的后台 进入模版消息页,选择你的行业,选择你合适的模版,基本只能选已有的,确实没有合适可以选择提交自己的模版(比较难通过)
在微信后台获取到appid appsecret;还有你选择好的模版ID
公众号准备阶段结束,下面为实际的代码实现
其实需要我们做的只是获取access_token和发送给谁的openid
- 获取access_token
需要用到appid appsecret
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".你公众号的appid."&secret=".你公众号的secret;
用curl访问,即可获得json数据,再用php json_decode方法转换为php数组,这个时候你取出改数组中的access_token元素即可。
- 发送模版消息
只需第一步的access_token和发给谁的openid(查看获取用户信息的方法)
我们把发送模版消息封装为一个方法,可参考下面:
public function tirew($openid,$name,$info,$gourl){
$access_token=$this->access_token();
$url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token;
$array = array(
'touser' => $openid,//接收用户的openid
'template_id' => 'htS6p4dEkrXmItvDgWUnkiidDomJfTL0uWKFOHbrUgI',//模板id
'url' => $gourl,//点击跳转页面
'data' => array(
'first' => '航班信息!',
'PersonName' => array('value' => $name, 'color' => '#173177'),
'FlightInfor' => array('value' => $info , 'color' => '#173177'),
'remark' => array('value' => "点击查看详情", 'color' => '#173177'),
),
);
$postJson=json_encode($array);
$this->https_request($url, $postJson);
}
详细说明:
Array里面的元素
‘touser’这个是你要发送给那个人的openid
‘template_id’这个是你在公众号后后台选择的模版
‘url’是发送给用户后,用户点击跳转的网址,可不填
‘data’里面的参数是你当初选择模版里面的变量,也可不填,位置要对应好
最后数组要转化为json格式
再通过curl访问,即可发送模版消息了(需要用户还关注着公众号才能接收到)
最后再附上curl的方法
public function https_request($url, $data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
如若有误或者有其他问题请与我交流:2359582968(微信qq同号)