微信公众号之主动给用户发送消息功能
微信(小程序)  /  管理员 发布于 4年前   425
前一段时间项目中遇到一个稍微麻烦一点的问题。 即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面。 于是乎,当时脑子一热,想着没什么大的问题,so easy。模板消息不就得了。 后来在写代码的过程中却发现,并不行。 微信公众号中模板消息有很严格的限制。 1.必须有用户主动触发事件方可发送模板消息 2.模板消息一分钟只能发送六十条,超过六十条,不好意思。你懂。 于是乎,就想到了另一种方法:群发消息 但是一看文档中群发消息的限制,发现悲催了 群发消息服务号每个月最多只能发送4条。 而客户要求的是随时随地就能发送.这个4条明显不符合要求的。 怎么办呢?一度陷入困难之中。只好继续查看开发文档。 当看到客服功能时,突然想到,能不能用客服主动给用户发送消息呢? 于是乎,想到就去试验下。 首先,先在公众号后台功能模块中-》添加功能模块 添加 客服功能 模块 如图所示: 然后就进入代码环节了。 先添加客服。也可以公众号后台添加 然后就是主动发送消息的方法 使用的时候直接调用 最后上完成的图 如图所示,公众号可以给用户发送消息,而且发送的内容你可以使用html 标签哦 虽然这样感觉很方便,但是同样,微信公众平台对此也有限制。 1.用户必须关注公众号,方可收到信息。 2.用户只能连续收到 20 条客服消息。超过后用户就收不到消息, 超过后,用户必须 主动给公众号发送消息 。或者 点击菜单栏,这样20条消息的限制就会重置。 总结 以上所述是小编给大家介绍的微信公众号之主动给用户发送消息功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!//先添加客服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()
方法传值就可以了。您可能感兴趣的文章:
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号