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

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

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

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

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

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

<?php
$ACCESS_TOKEN="這里是獲取到的ACCESS_TOKEN";
$data=array( 
'touser'=>"ouD7BuLejq7R4Vbuyh41bH778cg0", //要發(fā)送給用戶的openid
'template_id'=>"mfopDNUlvoBGGsPLB-d_nrfL8Je92xnTq5vk5ZBxL-w",//改成自己的模板id,在微信后臺(tái)模板消息里查看
'url'=>"http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //自己網(wǎng)站鏈接url 
'data'=>array(
  'first'=>array(
    'value'=>"親愛的同學(xué),您有考試提醒,請(qǐng)查閱。",
    'color'=>"#000"
    ),
  'keyword1'=>array(
    'value'=>"2017下半年教師資格證面試",
    'color'=>"#f00"
    ), 
  'keyword2'=>array(
    'value'=>"2018-1-6",
    'color'=>"#173177"
    ), 
  'keyword3'=>array(
    'value'=>"請(qǐng)看您的準(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)考證時(shí)間,請(qǐng)您在考試前打印準(zhǔn)考證,戳進(jìn)來(lái)可以查看詳情>>>",
    '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;//模板消息請(qǐng)求URL

$res=https_request($url,urldecode($json_data));//請(qǐng)求開始
$res=json_decode($res,true);

if($res['errcode']==0 && $res['errcode']=="ok"){
echo "發(fā)送成功!";
}


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

回答
編輯回答
擱淺

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

2017年11月24日 15:43
編輯回答
拼未來(lái)

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

2017年11月24日 01:22