账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    服务号模板消息群发给多个openid怎么做的?或者分组群发
    21
    0

    最近在学习模板消息的群发,我有认证的服务号
    想要开发模板消息群发,实现上课通知等功能。

    但是不想群发给所有用户,只想群发给已经报名的用户
    即我可以回去每个报名的用户的openid,然后给这一批的openid群发

    我的代码只能对一个openid进行群发模板消息
    有没有办法对一部分的openid进行群发
    就是说可以把多个openid写成数组或者json格式
    然后对这个数组所有的openid进行循环群发?

    下面是我对单个openid的群发demo

    <?php
    $ACCESS_TOKEN="这里是获取到的ACCESS_TOKEN";
    $data=array( 
    'touser'=>"ouD7BuLejq7R4Vbuyh41bH778cg0", //要发送给用户的openid
    'template_id'=>"mfopDNUlvoBGGsPLB-d_nrfL8Je92xnTq5vk5ZBxL-w",//改成自己的模板id,在微信后台模板消息里查看
    'url'=>"http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //自己网站链接url 
    'data'=>array(
      'first'=>array(
        'value'=>"亲爱的同学,您有考试提醒,请查阅。",
        'color'=>"#000"
        ),
      'keyword1'=>array(
        'value'=>"2017下半年教师资格证面试",
        'color'=>"#f00"
        ), 
      'keyword2'=>array(
        'value'=>"2018-1-6",
        'color'=>"#173177"
        ), 
      'keyword3'=>array(
        'value'=>"请看您的准考证",
        'color'=>"#3d3d3d"
        ),
      'keyword4'=>array(
        'value'=>"教师资格证试讲",
        'color'=>"#3d3d3d"
        ),
      'keyword5'=>array(
        'value'=>"答辩,选题,结构化",
        'color'=>"#3d3d3d"
        ),
      'remark'=>array(
        'value'=>"\n现在是打印准考证时间,请您在考试前打印准考证,戳进来可以查看详情>>>",
        'color'=>"#3d3d3d"
        ),
    )
    );
    
    
    $json_data=json_encode($data);//转化成json数组让微信可以接收
    $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$ACCESS_TOKEN;//模板消息请求URL
    
    $res=https_request($url,urldecode($json_data));//请求开始
    $res=json_decode($res,true);
    
    if($res['errcode']==0 && $res['errcode']=="ok"){
    echo "发送成功!";
    }
    
    
    //curl请求函数,微信都是通过该函数请求
    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;
    }

    很明显,最后只有openid为ouD7BuLejq7R4Vbuyh41bH778cg0这个的用户才可以收到模板消息
    有没有办法实现多个openid都可以收到,就是我想在数据库存入已报名的用户的openid
    然后给这一批的openid群发模板消息

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部