微信公众号主动给用户发送信息的方法:首先在公众号后台功能模块中添加“客服功能”模块;然后获取“access_token”并调用发送方法;最后在使用时直接调用“sendmsg()”方法传值即可。
微信公众号怎么主动给用户发送信息?
首先,先在公众号后台功能模块中-》添加功能模块 添加 客服功能 模块
如图所示:
然后就进入代码环节了。
先添加客服。也可以公众号后台添加//先添加客服
function addkf()
{
$token = getToken();
$url = ‘https://api.weixin.qq.com/customservice/kfaccount/add?access_token=‘.$token;
$data = ‘{
"kf_account" : "system@system",
"nickname" : "客服1",
"password" : "admin",
}‘;
echo https_request($url,$data);
}
然后就是主动发送消息的方法//获取access_token的方法。
function getToken()
{
$appid = ‘appid‘;
$appsecret = ‘appsecret‘;
$token_file = dirname(dirname(__FILE__)).‘/data/token.txt‘;
if(!file_exists($token_file) || ((time() - filemtime($token_file)) > 7000)){
$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$json=file_get_contents($TOKEN_URL);
$result=json_decode($json);
$ACC_TOKEN=$result->access_token;
file_put_contents($token_file,$ACC_TOKEN);
}else{
$ACC_TOKEN = file_get_contents($token_file);
}
return $ACC_TOKEN;
}
//调用发送方法
function sendmsg($content,$openid)
{
$token = getToken();
$url = ‘https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=‘.$token;
$content = ‘感谢你的关注\n回复你厉害 \n例如回复123456‘;
$data = ‘{
"touser":"‘.$openid.‘",
"msgtype":"text",
"text":
{
"content":"‘.$content.‘"
}
}‘;
https_request($url,$data);
return true;
}
/**
* request 请求
*/
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;
}
使用的时候直接调用 sendmsg()方法传值就可以了。
最后上完成的图
如图所示,公众号可以给用户发送消息,而且发送的内容你可以使用html 标签哦
虽然这样感觉很方便,但是同样,微信公众平台对此也有限制。
1.用户必须关注公众号,方可收到信息。
2.用户只能连续收到 20 条客服消息。超过后用户就收不到消息,
超过后,用户必须 主动给公众号发送消息 。或者 点击菜单栏,这样20条消息的限制就会重置。
更多相关知识,请访问PHP中文网!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!