0

php サーバー側を使用して clickatell メッセージ サービスに接続し、soap api 手法を使用して接続を確立しました。それは機能していますが、私のコードでは、同時に1つのメッセージしか送信できません。コードは次のとおりです。

    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';


      }

.... これで、このコードが 1 つのメッセージを同時に送信することがわかりました。ID は忘れてください。これは個人的な目的のためです。このサービスを変更して、同時に複数のメッセージを送信する必要があります。すべてのメッセージに固有の ID を付与する必要があるため、ここでの問題は次のとおりです。同時に複数の SMS を送信するサービスがあるかどうかを知っている人はいますか。

私のコードのように、1つのメッセージの情報を入力しますが、複数のSMSを送信するサービスが必要です。このサービスへのリンクを提供できる人はいますか?多くの検索を行いましたが、見つけた答えはありません

4

2 に答える 2

0

やってみました

$params2 = array('session_id'=>$sessionID, 'api_id' => $api_id,'user'=>        $usr,'password'=>$pwd, 'to'=>array('962xxxxxxx', '962xxxxxxx', '962xxxxxxx'), 'from'=>"thetester",'text'=...

また

$params2 = array('session_id'=>$sessionID, 'api_id' => $api_id,'user'=>        $usr,'password'=>$pwd, 'to'=>array('962xxxxxxx,962xxxxxxx,962xxxxxxx'), 'from'=>"thetester",'text'=...
于 2013-08-15T11:38:07.037 に答える
0

複数のメッセージを同時に送信するには、startbatch コマンドを試してください (パーソナライズもサポートします)。ただし、これは SOAP ベースではなく、http API ベースです。

于 2014-04-01T10:15:34.810 に答える