Php 使用clickatell网关发送多条消息
我使用php服务器端连接clickatell消息服务,我使用soap api技术进行连接。它正在工作。但在我的代码中,我只能同时发送一条消息,以下是代码:Php 使用clickatell网关发送多条消息,php,clickatell,Php,Clickatell,我使用php服务器端连接clickatell消息服务,我使用soap api技术进行连接。它正在工作。但在我的代码中,我只能同时发送一条消息,以下是代码: function actionSendSMS(){ $msgModel = new Messages(); $settModel = new Settings(); $setRows = $settModel->findAll(); $usr=$setRows[0]->
function actionSendSMS(){
$msgModel = new Messages();
$settModel = new Settings();
$setRows = $settModel->findAll();
$usr=$setRows[0]->clickatell_usr;
$pwdRows = $settModel->findAll();
$pwd=$pwdRows[0]->clickatell_pwd;
$api_idRows = $settModel->findAll();
$api_id=$api_idRows[0]->clickatell_api_id;
$msgModel->findAllBySql("select * from messages where is_sent=0 and
send_date=".date("m/d/Y"));
$client = new SoapClient("http://api.clickatell.com/soap/webservice.php?WSDL");
$params = array('api_id' => $api_id,'user'=> $usr,'password'=> $pwd);
$result = $client->auth($params['api_id'],$params['user'],$params['password']);
$sessionID = substr($result,3);
$callback=6;
// echo $result."<br/>";
// echo $sessionID;
$params2 = array('session_id'=>$sessionID, 'api_id' => $api_id,'user'=>
$usr,'password'=>$pwd,
'to'=>array('962xxxxxxx'), 'from'=>"thetester",'text'=>'this is a sample test
message','callback'=>$callback);
$result2 = $client->sendmsg($params2['session_id'],
$params['api_id'],$params['user'],$params['password'],
$params2['to'],$params2['from'],$params2['text'],$params2['callback']);
print_r( $result2)."<br/>";
$apimsgid= substr($result2[0],4);
$rowsx=Messages::model()->findAllBySql("select * from messages where is_sent=0 and
send_date='".date("m/d/Y")."'");
for($i=0;$i<count($rowsx);$i++)
{
$rowsx[$i]->clickatell_id=$apimsgid;
$rowsx[$i]->save();
}
//echo $apimsgid."<br/>";
if (substr($result2[0], 0,3)==='ERR' && (!(substr($result2[0], 0,2)==='ID'
) ))
{
echo 'Connot Routing Message';
}
函数actionSendSMS(){
$msgModel=新消息();
$settModel=新设置();
$setRows=$settModel->findAll();
$usr=$setRows[0]->单击ATELL_usr;
$pwdRows=$settModel->findAll();
$pwd=$pwdRows[0]->点击电话;
$api_idRows=$settModel->findAll();
$api_id=$api_idRows[0]->点击标签api_id;
$msgModel->findAllBySql(“从发送的消息中选择*)=0和
发送日期=“.date”(“m/d/Y”);
$client=新的SoapClient(“http://api.clickatell.com/soap/webservice.php?WSDL");
$params=array('api\u id'=>$api\u id,'user'=>$usr,'password'=>$pwd);
$result=$client->auth($params['api_id'],$params['user'],$params['password']);
$sessionID=substr($result,3);
$callback=6;
//回显$result。“
”;
//echo$sessionID;
$params2=array('session\u id'=>$sessionID,'api\u id'=>$api\u id,'user'=>
$usr,'password'=>$pwd,
'到'=>array('962xxxxxxx'),'从'=>thetest','text'=>'这是一个示例测试
消息','callback'=>$callback);
$result2=$client->sendmsg($params2['session\u id'],
$params['api_id'],$params['user'],$params['password'],
$params2['to']、$params2['from']、$params2['text']、$params2['callback']);
打印($result2)。“
”;
$apimsgid=substr($result2[0],4);
$rowsx=Messages::model()->findAllBySql(“从消息中选择*,其中发送=0和
发送日期=”。日期(“m/d/Y”)。“”;
对于($i=0;$iclickatell_id=$apimsgid;
$rowsx[$i]->save();
}
//echo$apimsgid.“
”;
如果(substr($result2[0],0,3)=='ERR'&&(!(substr($result2[0],0,2)=='ID'
) ))
{
回显“隐含路由消息”;
}
…现在你看到这个代码会同时发送一条消息,忘记id,它是出于个人目的,现在这个服务我必须修改它,同时发送多条消息,我会给每条消息一个唯一的id,所以现在我的问题是:有没有人知道是否有一个服务可以同时发送多条短信同时,
正如在我的代码中,我为一条消息填写信息,但我需要一个服务来发送多条短信,是否有任何机构可以给我该服务的链接,我进行了多次搜索,但没有找到答案,你试过了吗
$params2 = array('session_id'=>$sessionID, 'api_id' => $api_id,'user'=> $usr,'password'=>$pwd, 'to'=>array('962xxxxxxx', '962xxxxxxx', '962xxxxxxx'), 'from'=>"thetester",'text'=...
或
尝试使用startbatch命令同时发送多条消息(它还支持个性化)。但是,它不是基于soap,而是基于http api。您的答案将向不同的人发送相同的文本,而且文本字段不是数组,因此我们仍然存在相同的问题,即同时发送多条消息,我可以进行循环,但我认为有一种方法可以处理发送多条消息,即使存在sma我的把戏也许对我有帮助,但无论如何还是要谢谢你
$params2 = array('session_id'=>$sessionID, 'api_id' => $api_id,'user'=> $usr,'password'=>$pwd, 'to'=>array('962xxxxxxx,962xxxxxxx,962xxxxxxx'), 'from'=>"thetester",'text'=...