• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    微信公众号之主动给用户发送消息功能

    前一段时间项目中遇到一个稍微麻烦一点的问题。

    即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面。

    于是乎,当时脑子一热,想着没什么大的问题,so easy。模板消息不就得了。

    后来在写代码的过程中却发现,并不行。

    微信公众号中模板消息有很严格的限制。

    1.必须有用户主动触发事件方可发送模板消息

    2.模板消息一分钟只能发送六十条,超过六十条,不好意思。你懂。

    于是乎,就想到了另一种方法:群发消息

    但是一看文档中群发消息的限制,发现悲催了

    群发消息服务号每个月最多只能发送4条。

    而客户要求的是随时随地就能发送.这个4条明显不符合要求的。

    怎么办呢?一度陷入困难之中。只好继续查看开发文档。

    当看到客服功能时,突然想到,能不能用客服主动给用户发送消息呢?

    于是乎,想到就去试验下。

    首先,先在公众号后台功能模块中-》添加功能模块  添加   客服功能   模块

    如图所示:

    然后就进入代码环节了。

    先添加客服。也可以公众号后台添加

    //先添加客服
    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_credentialappid=".$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例如a href=\"http://www.baidu.com\">回复123456/a>';
     $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条消息的限制就会重置。

    总结

    以上所述是小编给大家介绍的微信公众号之主动给用户发送消息功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

    您可能感兴趣的文章:
    • java微信公众号发送消息模板
    • python实现给微信公众号发送消息的方法
    上一篇:Yii 使用intervention/image拓展实现图像处理功能
    下一篇:PHP字符串中抽取子串操作实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    微信公众号之主动给用户发送消息功能 微信,公众,号之,主动,给用户,