鍍金池/ 問答/PHP  網(wǎng)絡(luò)營銷  HTML/ 服務(wù)號模板消息群發(fā)給多個openid怎么做的?或者分組群發(fā)

服務(wù)號模板消息群發(fā)給多個openid怎么做的?或者分組群發(fā)

最近在學(xué)習(xí)模板消息的群發(fā),我有認(rèn)證的服務(wù)號
想要開發(fā)模板消息群發(fā),實現(xiàn)上課通知等功能。

但是不想群發(fā)給所有用戶,只想群發(fā)給已經(jīng)報名的用戶
即我可以回去每個報名的用戶的openid,然后給這一批的openid群發(fā)

我的代碼只能對一個openid進行群發(fā)模板消息
有沒有辦法對一部分的openid進行群發(fā)
就是說可以把多個openid寫成數(shù)組或者json格式
然后對這個數(shù)組所有的openid進行循環(huán)群發(fā)?

下面是我對單個openid的群發(fā)demo

<?php
$ACCESS_TOKEN="這里是獲取到的ACCESS_TOKEN";
$data=array( 
'touser'=>"ouD7BuLejq7R4Vbuyh41bH778cg0", //要發(fā)送給用戶的openid
'template_id'=>"mfopDNUlvoBGGsPLB-d_nrfL8Je92xnTq5vk5ZBxL-w",//改成自己的模板id,在微信后臺模板消息里查看
'url'=>"http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //自己網(wǎng)站鏈接url 
'data'=>array(
  'first'=>array(
    'value'=>"親愛的同學(xué),您有考試提醒,請查閱。",
    'color'=>"#000"
    ),
  'keyword1'=>array(
    'value'=>"2017下半年教師資格證面試",
    'color'=>"#f00"
    ), 
  'keyword2'=>array(
    'value'=>"2018-1-6",
    'color'=>"#173177"
    ), 
  'keyword3'=>array(
    'value'=>"請看您的準(zhǔn)考證",
    'color'=>"#3d3d3d"
    ),
  'keyword4'=>array(
    'value'=>"教師資格證試講",
    'color'=>"#3d3d3d"
    ),
  'keyword5'=>array(
    'value'=>"答辯,選題,結(jié)構(gòu)化",
    'color'=>"#3d3d3d"
    ),
  'remark'=>array(
    'value'=>"\n現(xiàn)在是打印準(zhǔn)考證時間,請您在考試前打印準(zhǔn)考證,戳進來可以查看詳情>>>",
    'color'=>"#3d3d3d"
    ),
)
);


$json_data=json_encode($data);//轉(zhuǎn)化成json數(shù)組讓微信可以接收
$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 "發(fā)送成功!";
}


//curl請求函數(shù),微信都是通過該函數(shù)請求
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這個的用戶才可以收到模板消息
有沒有辦法實現(xiàn)多個openid都可以收到,就是我想在數(shù)據(jù)庫存入已報名的用戶的openid
然后給這一批的openid群發(fā)模板消息

回答
編輯回答
擱淺

從數(shù)據(jù)庫取出open_id循環(huán)發(fā)送啊。。
群發(fā)有風(fēng)險 發(fā)送需謹(jǐn)慎

2017年11月24日 15:43
編輯回答
拼未來

多個openid用豎線隔開,'touser' => ‘openid1|openid2|openid3’ 這樣試試。之前版本可以這樣用,剛才去文檔中心看了看,沒找到,不知道還能不能這樣用。

2017年11月24日 01:22