做微信开发,肯定很常用模板消息。一般简便的用法是在微信公众平台直接设置,然后拿来调用:服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得模板消息权限。
请几天工作需要研究了下微信文档 ,根据模板消息接口写了个发送模板消息的简单程序。
下面将代码贴出:
下面代码可直接拷贝复用 需要更改&appid &secret 还有 接受者openid
/**http函数**/
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;
}
$aturl ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=微信appid&secret=微信secret";
$atres = https_request($aturl);
$atres = json_decode($atres,true);
$access_token = $atres['access_token'];
//获取access_token
//设置所属行业
$take_url = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token={$access_token}";
//industry_id1 industry_id2 行业id
$take_data = array('industry_id1'=>1,'industry_id2'=>30);
$result = https_request($take_url, json_encode($take_data));
//var_dump($result);
//获取设置的行业信息
$get_url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token={$access_token}";
$get_result = https_request($get_url);
$get_result = json_decode($get_result,true);
//var_dump($get_result);
//定义模板编号(公众平台可以查到所需要的编号) 获得模板ID
//这里的 模板标题:等待审核通知
$mb_url = "https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token={$access_token}";
$mb_data = array('template_id_short'=>'OPENTM408471635');
$mb_result = https_request($mb_url, json_encode($mb_data));
$mb_result = json_decode($mb_result,true);
//发送模板消息
$send_url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$access_token}";
$send_data = array(
"touser"=>"接收人 openid",
//接收人 openid
"template_id"=>$mb_result['template_id'],
"url"=>"http://weixin.qq.com",
"data"=>array( "first"=>array("value"=>"家属/租客会员卡申请","color"=>"#173177"),
"keyword1"=>array("value"=>"申请人","color"=>"#173177"),
"keyword2"=>array("value"=>"申请信息:****************; ","color"=>"#173177"),
'remark' => array('value' => '请进入成员列表进行审核操作!' , 'color' => '#4a5077')
)
);
$send_result = https_request($send_url, json_encode($send_data));
$send_result = json_decode($send_result,true);
//var_dump($send_result);
/**我做了个测试,发送成功 返回: array(3) { ["errcode"]=> int(0) ["errmsg"]=> string(2) "ok" ["msgid"]=> int(433240389) }
*/