آموزش به کار بردن وب سرویس سامانه ماهان

همه ی کوشش ما بر این بوده که وب سرویس سامانه کاربند پسند و ساده باشد. چنانچه شما اینگونه نمی اندیشید میتوانید دیدگاه خودتان را با ما در میان بگذارید.

فرستادن درخواست Rest

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest پیامک آوای خود را بفرستید.

نکته : خروجی همه ی متد های سامانه از گونه ی Json میباشد.

پیام های وب سرویس


هر پیامی که وب سرویس سامانه بر میگرداند در برگیرنده یک messageid هست. ما اینجا همه ی messageid ها را به همراه پیام آن به شما نشان میدهیم.

نمایش messageid به همراه message آن

Copy

Array
(
    [17] => شناسه کاربری و یا گذواژه نادرست است.
    [502] => برای این id داده ای در دست نیست
)

                                    

بارگزاری پیوست

متد upload/add

فرستادن پیامک آوا
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • name : نام پیوست
  • files[] : داده های پیوست که می تواند آرایه باشد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

بارگزاری پیوست با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
                        <?php
                        $res = rest()->request( 'upload/add', array( 'files[]' => '@'.realpath('./test.wav') ), function( $data ) {
                          print_r( $data );
                          $uploadid = $data->id;
                        });
                        
                        print_r( $res );
                        

نمونه خروجی متد upload/add

در زیر همان گونه که میبینید پیوست با پیروزی ( status یک ) بارگزای شد و id پیوست بارگزاری شده عدد 766 میباشد.
Copy

                        {"message":"\u0628\u0627\u0631\u06af\u0632\u0627\u0631\u06cc \u0628\u0627 \u067e\u06cc\u0631\u0648\u0632\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f","status":1,"data":{"id":"769"}}
                        
                        stdClass Object
                        (
                            [message] => بارگزاری با پیروزی انجام شد
                            [status] => 1
                            [data] => stdClass Object
                                (
                                    [id] => 769
                                )
                        
                        )
                        

داده های پیامک آوا

متد parsip.get_voice_feature

شاید شما برای فرستادن پیامک آوایتان شماره ویژه خودتان را داشته باشید و یا اینکه برای زمان های گوناگون نرخ های گوناگون داشته باشید و یا اینکه پیش از این پیوست هایی را بارگزاری کرده اید که دیگر نیاز به بارگزاری دوباره ندارد، این متد برای این موارد نیازین است. اگر چه، اگر شما دارای یک شماره و یک نرخ و یک پیوست باشید، در متد ارسال پیش انگار برای شما گزینش خواهد شد.
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری

به کار بردن متد parsip.get_voice_feature

این متد در بر گیرنده ۲ پارامتر میباشد. نخست شناسه کاربری و دوم گذرواژه.
Copy

try {
     $response = $client->__call("parsip.get_voice_feature", array( "09131111111", "123456" ) );
     $result = json_decode( $response);
     $feature = $result->data;

     print_r( $feature );
     
} catch( SoapFault $e ) {              
     var_dump( $e );
}
                                    

نمونه برون رفت متد parsip.get_voice_feature

همانگونه که در زیر میبینید
Copy

<?php
$response = '{"message":"\u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u067e\u06cc\u0627\u0645\u06a9 \u0622\u0648\u0627","status":1,"data":{"loop_number":[{"id":"3","title":"4533322961"}],"loop_price":[{"id":"43","title":"\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u067e\u0644\u06a9\u0627\u0646 \u0627\u0648\u0644","duration":"30","price_in":"410","price_out":"450","price_out_n":"520","price_fax":"300"},{"id":"48","title":"\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u067e\u0644\u06a9\u0627\u0646 \u0627\u0648\u0644 20 \u062b\u0627\u0646\u06cc\u0647 \u0627\u06cc","duration":"20","price_in":"350","price_out":"380","price_out_n":"450","price_fax":"300"},{"id":"53","title":"\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647 \u0627\u06cc","duration":"60","price_in":"580","price_out":"580","price_out_n":"650","price_fax":"300"}]}}';

$arr = json_decode( $response );
?>
stdClass Object
(
    [message] => نمایش داده های پیامک آوا
    [status] => 1
    [data] => stdClass Object
        (
            [loop_number] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 3
                            [title] => 4533322961
                        )

                )

            [loop_price] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 43
                            [title] => کاربران پلکان اول
                            [duration] => 30
                            [price_in] => 410
                            [price_out] => 450
                            [price_out_n] => 520
                            [price_fax] => 300
                        )

                    [1] => stdClass Object
                        (
                            [id] => 48
                            [title] => کاربران پلکان اول 20 ثانیه ای
                            [duration] => 20
                            [price_in] => 350
                            [price_out] => 380
                            [price_out_n] => 450
                            [price_fax] => 300
                        )

                    [2] => stdClass Object
                        (
                            [id] => 53
                            [title] => کاربران یک دقیقه ای
                            [duration] => 60
                            [price_in] => 580
                            [price_out] => 580
                            [price_out_n] => 650
                            [price_fax] => 300
                        )

                )

        )

)
                                    

فرستادن پیامک آوا

متد parsip.send_voice

در زیر نمونه کد فرم فرستادن پیامک آوا را به شما نشان خواهم داد.

فرم فرستادن پیامک آوا و شیوه به کار بردن متد های وب سرویس

Copy

<meta charset="utf-8" />
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$wsdl="http://otp.safironline.ir/webservice/ws.php?wsdl"; 
try {
     $client=new soapclient( $wsdl );
} catch( SoapFault $e ) {              
     var_dump( $e );
     exit();
}

try {
     $response = $client->__call("parsip.get_voice_feature", array( "09131111111", "123456" ) );
     $result = json_decode( $response);
     $feature = $result->data;
} catch( SoapFault $e ) {              
     var_dump( $e );
}

echo '<form action="?send" method="post" enctype="multipart/form-data">
دیباچه ‌: <input type="text" name="title" /> <br />
uniqid ‌: <input type="text" name="uniqid" value="1" /> <br />
تلاش ‌: <input type="text" name="try" value="1" /> <br />
بازه تلاش ‌: <input type="text" name="try_interval" value="10" /> <br />
شماره ها ‌: <textarea name="numbers" placeholder="شماره ها را با اینتر از هم جدا کنید"></textarea> <br />
';
echo 'گزینش شماره : <select name="number">
<option value="">گزینش کنید</option>
';
foreach( $feature->loop_number as $k => $v ) {
     echo '<option value="'.$v->title.'">'.$v->title.'</option>';
}
echo '</select><br />';


echo 'گزینش هزینه : <select name="price">
<option value="">گزینش کنید</option>
';
foreach( $feature->loop_price as $k => $v ) {
     echo '<option value="'.$v->id.'">'.$v->title.'</option>';
}
echo '</select><br />';
echo '<input type="file" name="uploadfiles"><br />';
echo '<input type="submit" value="send" />';
echo '</form>';


if( isset( $_GET['send'] ) ) {

     //upload file
     $tmpfile = $_FILES["uploadfiles"]["tmp_name"]; 
     $filename = $_FILES["uploadfiles"]["name"];  
     
     $uploadid = array();
     if( @$handle = fopen($tmpfile, "r") ) {
          $contents = fread( $handle, filesize( $tmpfile) );
          fclose($handle);     


          if( !empty( $contents ) ) {
               $encodeContent   = base64_encode( $contents ); 
               try {
                    $response = $client->__call( 'parsip.upload', array('09131111111', '123456', $filename, $encodeContent) ); 
                    $result = json_decode( $response);
                    
                    print_r( $result );

                    if( $result->status === 1 ) {
                       $uploadid = array( $result->data->id );
                     }
                       
               } catch( SoapFault $e ) {              
                    var_dump( $e );
               }
          }
     }

     try {
          $response = $client->__call('parsip.send_voice', array( '09131111111', '123456', $_POST['uniqid'], $_POST['title'], $_POST['try'], $_POST['try_interval'], explode( "\r\n", $_POST['numbers'] ), '', 0, $uploadid, $_POST['price'], $_POST['number'], '1' ) );

          $result = json_decode( $response );
          
          print_r( $result );

     } catch( SoapFault $e ) {              
          var_dump( $e );
     }

}

?>
                                    

فرستادن پیامک

متد sms/send

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest پیامکی خود را بفرستید.
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه پیامک
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که پیامک باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه پیامک که اگر برابر با یک باشد هزینه ی این پیامک را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • content : متن پیامک
  • sender_number: شماره ای که با آن پیامک را میفرستید. پیش انگار : 50002100036987
  • kind: گونه پیامک که میتواند پیامک باشد و یا دیدگاه سنج ( پیامک : ۱ و دیدگاه سنج : ۲ )
  • code: مقادیری که در صورت تنظیم شدن kind با عددی بالاتر از 1 تکمیل می شود
  • return_ids: این پارامتر اگر یک باشد برای همه ی شماره ها یک کد پیگیری به شما میدهد که با به کار بردن متد get_sms_detail_by_id میتوانید چگونگی تک تک شماره ها را جداگانه دریافت کنید. ( در این روش به دلیل به کار نبردن Transaction سرعت Insert پایین هست. پس در هر درخواست شمار شماره هایتان زیاد نباشد. )
  • priceid: اگر خالی باشد هزینه با پکیج کمتر پیش انگار گزینش میشود و یا اینکه شما میتوانید خودتان یک پکیج را گزینش کنید. اگر میخواهید خودتان یک پکیج را گزینش کنید متد get_sms_feature را به کار ببرید.
  • adata: این پارامتر برای سایر شماره های ما میباشد. ( فرستادن به شماره های ثابت اصفهان و یا کد پستی و ... )
  • در صورت داشتن یک لیست قیمت نیاز به تنظیم priceid نمی باشد
  • draftid: میتوانید با متد draft همه ی شماره های خود را یکجا داشته باشید و سپس با آی دی آن درخواست خود را بفرستید.

در زیر ما به وسیله زبان php به شما چگونگی به کار بردن rest را نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

فرستادن پیامک با کلاس بالا

Copy

                      $res = rest()->request( 'sms/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112', 'content' => "پیامک تست", 'kind' => '1', 'calculate' => 0 ), function( $data ) {
                    
                        $smsid = @$data->id;
                        if( $smsid ) {
                          $res = rest()->request( 'sms/info', array( 'smsid' => $smsid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد sms/send

Copy
{"message":"درخواست فرستادن پیامک افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"207"},"messageid":100}

فرستادن پیامک با تمام متد ها با کلاس بالا

Copy

                      $res = rest()->request( 'sms/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112','content' => 'تست پیامک', 'kind' => '1', 'calculate' => 1, 'code' => '', 'adata' => 'array()', 'return_ids' => '1' ), function( $data ) {
                    
                        $smsid = @$data->id;
                        if( $smsid ) {
                          $res = rest()->request( 'sms/info', array( 'smsid' => $smsid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد sms/send

در زیر بر اساس هر شماره یک شماره پیگیری صادر شده که بعدا می توان برای پیگیری و ضعیت ارسال هر شماره از آن استفاده کرد
Copy

                                {"message":"درخواست فرستادن پیامک افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"208","ids":[]},"messageid":100}  
                   

اطلاعات پیامک

متد sms/info

اطلاعات پیامک
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • smsid : این پارامتر از متد sms/add به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

گرفتن اطلاعات پیامک با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
<?php
    $res = rest()->request( 'sms/info', array( 'smsid' => 100) ), function( $data ) {
      print_r( $data );                          
    });
    
    print_r( $res );
?>

نمونه خروجی متد voice/info

در زیر خروجی به همراه راهنمای وضعیت ارسال پیامک آوا و وضعیت ارسال قابل مشاهده می باشد
Copy

                        {"id":"206","state":"1","state_send":"5","count":"1","sent":"1","complete":"1","reason0":"0","reason3":"0","reason4":"0","reason5":"0","reason8":"0","start_date":"1629125079","end_date":"1629125080","count_wrong_number":"0","status":{"state_send":["فرستاده نشده","فرستادن","خطا از اپراتور","ارسال به اپراتور","بازگشت هزینه و سود","به پایان رسیده","دریافت پاسخ پیامک ها"],"reason":{"0":"بدون وضعیت","3":"ارسال نشده به مخابرات","4":"ارسال شده به مخابرات","5":"لیست سیاه مخابرات","8":"ارسال شده به اپراتور","12":"پذیرش نشدن محتوای پیامک"}}},"messageid":501} 
                        

گرفتن ریز پیامک

متد sms/detail

گرفتن چگونگی هر شماره با smsid ( گرفتن ریز پیامک )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • smsid : این پارامتر از متد sms/add به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست ریز پیامک با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
        $res = rest()->request( 'sms/detail', array( 'smsid' => '100', 'page' => '1', 'each_page' => '20' ), function( $data ) {
        
            print_r( $data );                                
        
          });
        
          print_r( $res );
?>

نمونه خروجی متد sms/detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        {"message":" نمایش ریز پیامک « تست »","status":1,"data":{"loop":[{"number":"09906687925","reason":"1","try":"0"}],"pagination":[{"next_page":1,"prev_page":1,"last":1,"number_page":1,"loop_sub":[{"page":1,"class":"page"}],"record":"1"}]},"messageid":905} 

نمونه فرم گرفتن چگونگی هر شماره پیامک با کد پیگیری آن

متد sms/detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد sms/add اگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : بدون وضعیت
  • 1 : رسیده به گوشی
  • 2 : نرسیده به گوشی
  • 3 : ارسال نشده به مخابرات
  • 4 : ارسال شده به مخابرات
  • 5 : لیست سیاه مخابرات
  • 8 : ارسال شده به اپراتور
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست چگونگی هر شماره پیامک با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/detail_by_id', array( 'ids[]' => '15223658' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/detail_by_id

در زیر خروجی نمایش داده شده است .
Copy

                        {"message":"نمایش داده ها","status":1,"data":[{"id":"34276","number":"0990111111","try":"0","smsid":"206","code":null,"reason":"1"}],"messageid":151001} 
                        

برای گرفتن داده های متد sms/add ( priceid, callerid , ... )

متد sms/feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست و یژگی های پیامک با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/feature', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       {"message":"نمایش داده های پیامک","status":1,"data":{"loop_number":[],"loop_price":[{"price_irancell_fa":"20","price_irancell_en":"440","price_mci_fa":"20","price_mci_en":"440","price_rightel_fa":"20","price_rightel_en":"440"}]},"messageid":301}  
                        

کلید های استفاده شده در امکانات پیامک

متد sms/keys

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست و یژگی های کلید ها با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys

Copy

                       {"message":"نمایش داده های کلید های پیامک","status":1,"data":{"0":{"state":"1","kind":"1","label":"کلید1","title":"منشی پیامک","repeat":"1","reply":"1","content":"تست","content_reply":"","number":"5000000056985"},"kind":{"1":"منشی پیامک","2":"نظرسنجی","3":"مسابقه","4":"نوبت دهی","5":"قرعه کشی"}},"messageid":501}   
                        

افزودن عبارت کلیدی

متد sms/keys_add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • numberid : ای دی شماره ارسال کننده
  • title : عنوان در نظر گرفته شده برای این عبارت کلیدی
  • label : عبارت کلیدی مورد نظر
  • kind : نوع عبارت کلیدی 1: منشی پیامک 2 : نظر سنجی 3:مسابقه 4: نوبت دهی 5:قرعه کشی
  • repeat : تعداد دریافت پاسخ از یک شماره
  • reply : ارسال متن پس از دریافت پیامک 0:خیر 1: بله
  • content_reply : متن پس از دریافت پیامک /متن ارسال نوبت /متن دریافت کد قرعه کشی و ...
  • content : متن پاسخ
  • time_limit : محدودیت زمانی 0:بدون محدودیت 1 : در بازه زمانی مشخص شده فعال باشد
  • phonebook_actions : انتخاب نوع اکشن بر شماره ارسال کننده
  • phonebook : شماره رکورد گروه دفترتلفن برای ذخیره ی شماره در دفترچه تلفن
  • turn_time : فاصله ی هر نوبت
  • turn_days : روزهای نوبت دهی به طور نمونه 1 =>('شنبه'),2=>('یکشنبه'),3=>('دوشنبه'),4=>('سه شنبه'),5=>('چهارشنبه'),6=>('پنج شنبه'),7 =>('جمعه')
  • turn_times : ساعت های نوبت دهی به طور نمونه turn_times[0]'=>'15:00','turn_times[1]'=>'16:00'
  • turn_date_start : تاریخ شروع نوبت دهی به طور نمونه 1400/07/27
  • turn_date_end : تاریخ پایان نوبت دهی به طور نمونه 1400/07/28
  • serial_repeat : وضعیت قابلیت استفاده چند مرتبه از سریال ها 0: خیر فقط توسط ۱ نفر قابل استفاده باشد 1:بلی چندین مرتبه قابل استفاده باشد
  • check_key : بررسی کردن تکراری نبودن کلید 0:بررسی نشود 1 : بررسی شود
  • keys : مجموعه کلید ها که برای نظر سنجی و مسابقه به ازای هر گزینه یک کلید انتخاب می شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

افزودن منشی پیامک با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_add', array( array( "numberid"=>"174","title"=>"منشی پیامک وب سرویس","kind"=>1,"label"=>"wsm1","check_key"=>1 ) ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_add برای منشی پیامک

Copy

                       {"message":" درخواست منشی پیامک با موفقیت ثبت شد ","status":1,"data":[],"messageid":null}     
                        

افزودن نظرسنجی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_add', array( "numberid"=>"174","title"=>"نظرسنجی وب سرویس","kind"=>2,"keys[0]"=>"wspull1","keys[1]"=>"wspull2","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_add برای نظرسنجی

Copy

                       {"message":" درخواست نظرسنجی با موفقیت ثبت شد ","status":1,"data":[],"messageid":null}     
                     

افزودن مسابقه با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_add', array( "numberid"=>"174","title"=>"وب سرویس مسابقه","kind"=>2,"keys[]"=>"wspull1","keys[]"=>"wspull2","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_add برای مسابقه

Copy

                       {"message":" درخواست مسابقه با موفقیت ثبت شد ","status":1,"data":[],"messageid":null}     
                     

افزودن نوبت دهی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_add', array( "numberid"=>"174","title"=>"وب سرویس نوبت دهی","kind"=>4,"label"=>"wsnobat","turn_time"=>15,"turn_days[0]"=>4,"turn_times[0][0]"=>"15:00","turn_times[0][1]"=>"16:00","turn_date_start[0]"=>"1400/07/27","turn_date_end[0]"=>"1400/07/27","content"=>"شماره نوبت #nobat# به شماره موبایل #mobile# در تاریخ #date# رزرو شد","content_reply"=>"متاسفانه نوبت ها پر شده است","check_key"=>1), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_add برای نوبت دهی

Copy

                       {"message":" درخواست نوبت دهی با موفقیت ثبت شد ","status":1,"data":[],"messageid":null}     
                     

افزودن قرعه کشی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_add', array( "numberid"=>"174","title"=>"قرعه کشی وب سرویس","kind"=>5,"content"=>"کد رسید","content_reply"=>"کد شما ثبت شده است","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_add برای قرعه کشی

Copy

                       {"message":" درخواست قرعه کشی با موفقیت ثبت شد ","status":1,"data":[],"messageid":null}     
                     

ویرایش عبارت کلیدی

متد sms/keys_edit

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شناسه ی عبارت کلیدی ای که میخواهید آن را ویرایش کنید
  • numberid : شناسه شماره ارسال کننده
  • title : عنوان در نظر گرفته شده برای این عبارت کلیدی
  • label : عبارت کلیدی مورد نظر
  • kind : نوع عبارت کلیدی 1: منشی پیامک 2 : نظر سنجی 3:مسابقه 4: نوبت دهی 5:قرعه کشی
  • repeat : تعداد دریافت پاسخ از یک شماره
  • reply : ارسال متن پس از دریافت پیامک 0:خیر 1: بله
  • content_reply : متن پس از دریافت پیامک /متن ارسال نوبت /متن دریافت کد قرعه کشی و ...
  • content : متن پاسخ
  • time_limit : محدودیت زمانی 0:بدون محدودیت 1 : در بازه زمانی مشخص شده فعال باشد
  • phonebook_actions : انتخاب نوع اکشن بر شماره ارسال کننده
  • phonebook : شماره رکورد گروه دفترتلفن برای ذخیره ی شماره در دفترچه تلفن
  • turn_time : فاصله ی هر نوبت
  • turn_days : روزهای نوبت دهی به طور نمونه 1 =>('شنبه'),2=>('یکشنبه'),3=>('دوشنبه'),4=>('سه شنبه'),5=>('چهارشنبه'),6=>('پنج شنبه'),7 =>('جمعه')
  • turn_times : ساعت های نوبت دهی به طور نمونه turn_times[0]'=>'15:00','turn_times[1]'=>'16:00'
  • turn_date_start : تاریخ شروع نوبت دهی به طور نمونه 1400/07/27
  • turn_date_end : تاریخ پایان نوبت دهی به طور نمونه 1400/07/28
  • serial_repeat : وضعیت قابلیت استفاده چند مرتبه از سریال ها 0: خیر فقط توسط ۱ نفر قابل استفاده باشد 1:بلی چندین مرتبه قابل استفاده باشد
  • check_key : بررسی کردن تکراری نبودن کلید 0:بررسی نشود 1 : بررسی شود
  • keys : مجموعه کلید ها که برای نظر سنجی و مسابقه به ازای هر گزینه یک کلید انتخاب می شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

ویرایش منشی پیامک با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_edit', array( "id"=>50, "numberid"=>"174","title"=>"منشی پیامک وب سرویس","kind"=>1,"label"=>"wsm1","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_edit برای منشی پیامک

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                        

ویرایش نظرسنجی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_edit', array("id"=>51, "numberid"=>"174","title"=>"نظرسنجی وب سرویس","kind"=>2,"keys[0]"=>"wspull1","keys[1]"=>"wspull2","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_edit برای نظرسنجی

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                     

ویرایش مسابقه با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_edit', array("id"=>52, "numberid"=>"174","title"=>"وب سرویس مسابقه","kind"=>2,"keys[]"=>"wspull1","keys[]"=>"wspull2","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_edit برای مسابقه

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                     

ویرایش نوبت دهی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_edit', array("id"=>53, "numberid"=>"174","title"=>"وب سرویس نوبت دهی","kind"=>4,"label"=>"wsnobat","turn_time"=>15,"turn_days[0]"=>4,"turn_times[0][0]"=>"15:00","turn_times[0][1]"=>"16:00","turn_date_start[0]"=>"1400/07/27","turn_date_end[0]"=>"1400/07/27","content"=>"شماره نوبت #nobat# به شماره موبایل #mobile# در تاریخ #date# رزرو شد","content_reply"=>"متاسفانه نوبت ها پر شده است","check_key"=>1), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_edit برای نوبت دهی

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                     

ویرایش قرعه کشی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_edit', array("id"=>54, "numberid"=>"174","title"=>"قرعه کشی وب سرویس","kind"=>5,"content"=>"کد رسید","content_reply"=>"کد شما ثبت شده است","check_key"=>1 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_edit برای قرعه کشی

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                     

حذف سریال

متد sms/serials_delete

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شماره سریال که می خواهید حذف شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

حذف سریال با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/serials_delete', array( "id" => 5 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/serials_delete

Copy

                       {"message":"پاکسازی انجام شد","status":1,"data":[],"messageid":null}    
                        

سریال های استفاده شده در کلیدهای قرعه کشی و ...

متد sms/keys

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست و یژگی های سریال ها با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/serials', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/serials

Copy

                       {"message":"نمایش اطلاعات سریال های ثبت شده","status":1,"data":{"0":{"id":"21","keyid":"11","serial_number":"101","state":"0","title":"قرعه کشی","serial_repeat":"0"},"1":{"id":"20","keyid":"11","serial_number":"100","state":"0","title":"قرعه کشی","serial_repeat":"0"},"2":{"id":"14","keyid":"11","serial_number":"9138739467","state":"0","title":"قرعه کشی","serial_repeat":"0"},"3":{"id":"13","keyid":"11","serial_number":"113","state":"0","title":"قرعه کشی","serial_repeat":"0"},"4":{"id":"12","keyid":"11","serial_number":"112","state":"0","title":"قرعه کشی","serial_repeat":"0"},"5":{"id":"11","keyid":"11","serial_number":"111","state":"0","title":"قرعه کشی","serial_repeat":"0"},"6":{"id":"5","keyid":"11","serial_number":"10104","state":"0","title":"قرعه کشی","serial_repeat":"0"},"7":{"id":"4","keyid":"11","serial_number":"10103","state":"0","title":"قرعه کشی","serial_repeat":"0"},"8":{"id":"3","keyid":"11","serial_number":"10102","state":"0","title":"قرعه کشی","serial_repeat":"0"},"9":{"id":"2","keyid":"11","serial_number":"10101","state":"0","title":"قرعه کشی","serial_repeat":"0"},"10":{"id":"1","keyid":"11","serial_number":"10100","state":"1","title":"قرعه کشی","serial_repeat":"0"},"kind":{"1":"منشی پیامک","2":"نظرسنجی","3":"مسابقه","4":"نوبت دهی","5":"قرعه کشی"},"state":{"1":"استفاده شده","0":"استفاده نشده"},"serial_repeat(چند بار مصرف)":{"1":"بله","0":"خیر"}},"messageid":501}    
                        

افزودن سریال

متد sms/serials_add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • kind_data : نوع داده ورودی به طور نمونه 1:سریال 2:داده
  • lottery : شناسه قرعه کشی
  • serial_repeat : لطفا نوع ورودی سریال را تعیین نمایید 0:خیر فقط توسط ۱ نفر قابل استفاده باشد,1:بلی چندین مرتبه قابل استفاده باشد
  • kind : انتخاب نوع ورودی سریال 1:رنجی 2: توسط فایل اکسل
  • start_serial : شروع سریال
  • end_serial : پایان سریال
  • import_upload_excel : شناسه فایلی که قبلا توسط متد upload/add دریافت کرده اید را اینجا استفاده کنید

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

افزودن سریال به صورت رنجی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/serials_add',  array("kind_data"=>"1","lottery"=>11,"serial_repeat"=>1,"kind"=>1,"start_serial"=>1,"end_serial"=>2  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/serials_add

Copy

                       {"message":"سریال ها با موفقیت ثبت شد","status":1,"data":[],"messageid":null}     
                        

افزودن سریال به فایل اکسل توسط کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/serials_add',  array("kind_data"=>"1","lottery"=>11,"serial_repeat"=>1,"kind"=>2,"import_upload_excel[]"=>1400  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/serials_add

Copy

                       {"message":"سریال ها با موفقیت ثبت شد","status":1,"data":[],"messageid":null}     
                        

ویرایش سریال

متد sms/serials_edit

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شناسه ی سریالی که میخواهید آن را ویرایش کنید
  • serial_number : عنوان در نظر گرفته شده برای این سریال

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

ویرایش سریال با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/serials_edit', array( array("id"=>50, "serial_number"=>"سریال 1" ) ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/serials_edit

Copy

                       {"message":" ویرایش انجام شد ","status":1,"data":[],"messageid":null}     
                        

حذف عبارت کلیدی

متد sms/keys_delete

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شماره عبارت کلیدی که می خواهید حذف شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

حذف عبارت کلید ی با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'sms/keys_delete', array( "id" => 5 ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد sms/keys_delete

Copy

                       {"message":"پاکسازی انجام شد","status":1,"data":[],"messageid":null}    
                        

فرستادن پیامک آوا با rest در زبان php

متد voice/send

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest پیامک آوای خود را بفرستید.

پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه پیامک آوا
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که پیامک آوا باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه پیامک آوا که اگر برابر با یک باشد هزینه ی این پیامک آوا را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • files : باید آی دی پیوست ها و از گونه آرایه باشد. ( میتوانید چند پیوست را پشت سر هم برای کاربری که به آن زنگ میخورد پخش کنید ) این آی دی ها را میتوانید از متد upload/add بگیرید. ( پیش از فرستادن پیامک آوا باید یک پیوست را بارگزاری کنید و آی دی آن را داشته باشید. )
  • kind: گونه پیام آوا که میتواند پیام آوا ،دیدگاه سنج ،گرفتن داده و یا درختواره باشد ( پیام آوا : ۱ ، دیدگاه سنج:2 ،گرفتن داده: 4 ، درختواره : 5 و یا 6 : OTP )

    • code_digit_len : حداکثر طول داده ورودی مورد استفاده در گونه دیدگاه سنج ،گرفتن داده و OTP
    • code_digit_repeat : تعداد تکرار درخواست ، مورد استفاده در گونه دیدگاه سنج ،گرفتن داده و OTP
    • otp_user_len : حداکثر کاربری که به آنها برای گرفتن رمز یک بار مصرف تماس گرفته می شود به طور نمونه : 1000 ، مورد استفاده گونه OTP
    • play_kind : اجرای فایل هنگام پاسخ مخاطب 1:اجرای فایل پیش فرض 2:انتخاب فایل ، مورد استفاده در گونه OTP
    • tree_start_code : گره شروع درختواره به طور نمونه : 0 قابل استفاده در گونه درختواره
    • question : گزینه ها قابل استفاده در گونه دیدگاه سنج
    • options : جواب ها قابل استفاده در گونه دیدگاه سنج
  • adata: این پارامتر برای سایر شماره های ما میباشد. ( فرستادن به شماره های ثابت اصفهان و یا کد پستی و ... )
  • draftid: میتوانید با متد draft همه ی شماره های خود را یکجا داشته باشید و سپس با آی دی آن درخواست خود را بفرستید.

در زیر ما به وسیله زبان php به شما چگونگی به کار بردن rest را نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

بارگزاری پیوست با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
                    <?php
                    $res = rest()->request( 'upload/add', array( 'files[]' => '@'.realpath('./test.wav') ), function( $data ) {
                      print_r( $data );
                      $uploadid = $data->id;
                    });
                    
                    print_r( $res );
             

فرستادن پیامک آوا با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112', 'uploadids[]' => $uploadid, 'kind' => '1', 'calculate' => 0 ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send

Copy

                        <?php
                           {"message":"درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"474","duration":9,"ids":["163"]},"messageid":100}{"message":"نمایش داده های پیامک آوا","status":1,"data":{"id":"474","state":"0","state_send":"0","duration":"9","count":"1","sent":"0","complete":"0","reason0":"0","reason3":"0","reason4":"0","reason5":"0","reason8":"0","start_date":"0","end_date":"0","count_wrong_number":"0","status":{"state_send":{"0":"فرستاده نشده","1":"فرستادن","3":"به پایان رسیده","4":"بازگشت هزینه و سود"},"reason":{"0":"زنگ نخورده","3":"بدون پاسخ","4":"پاسخ داده","5":"رد کردن تماس","8":"سرگرم ( مشغول )","11":"شماره نادرست","12":"پذیرش نشدن پیوست آوا"}}},"messageid":501}   
           

فرستادن پیامک آوا با تمام متد ها با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112', 'uploadids[]' => $uploadid, 'kind' => '1', 'calculate' => 0, 'code' => '', 'adata' => 'array()', 'return_ids' => '1' ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send

در زیر بر اساس هر شماره یک شماره پیگیری صادر شده که بعدا می توان برای پیگیری و ضعیت ارسال هر شماره از آن استفاده کرد
Copy

                        <?php
                           {"message":"درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"473","duration":9,"ids":["162"]},"messageid":100}  
           

ثبت نوع دیدگاه سنج با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( "title" => "وب سرویس نظرسنجی", "try" => "1" ,"uploadids[]" => 1308, "numbers[0]" => "09138739467", "kind" => "2", "calculate" => 0,"callerid" => "91023133","code"=>json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1,"question"=>"انتخاب کنید؟","options"=>json_encode(array(1=>"جواب 1",2=>"جواب 2") ) ) )  ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send جهت نمایش داده ها

Copy

                        <?php
                          {"message":"درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"553","duration":11},"messageid":100}    
           

ثبت نوع داده با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( "title" => "وب سرویس داده", "try" => "1", "uploadids[]" => 1308, "kind" => "4", "calculate" => 0 ,"callerid" => "91000000","code"=>json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1) ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send جهت نمایش داده ها

Copy

                        <?php
                          {"message":"درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"553","duration":11},"messageid":100}    
           

ثبت رمز یک با مصرف (OTP) با تمام متد ها با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( "title" => "وب سرویس otp", "try" => "1", "uploadids[]" => 1308, "kind" => "6", "calculate" => 0 ,"callerid" => "91000000","code"=>json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1,"otp_user_len"=>5,"play_kind"=>1) ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send

در متن پیام شماره پویش رمز یک بار مصرف برای استفاده از متد otp/send نمایش داده شده است
Copy

                        <?php
                           {"message":" درخواست OTP به شماره 546 افزوده شد بعد از این با وب سرویس می توانید از این بسته استفاده نمایید ","status":1,"data":{"id":"546","duration":12},"messageid":100}   
           

فرستادن پیامک آوا با گونه درختواره با کلاس بالا

Copy

                      $res = rest()->request( 'voice/send', array( "title" => "وب سرویس otp", "try" => "1" , "numbers[0]" => "0913000000", "kind" => "5", "calculate" => 1 ,"callerid" => "9100000","code"=>json_encode(array("tree_start_code"=>"4") ), function( $data ) {
                    
                        $voiceid = @$data->id;
                        if( $voiceid ) {
                          $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد voice/send

Copy

                        <?php
                           {"message":"درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"547","duration":7},"messageid":100}   
           

اطلاعات پیامک آوا

متد voice/info

اطلاعات پیامک آوا
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • voiceid : این پارامتر از متد voice/add به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست اطلاعات پیامک آوا با کلاس بالا

Copy
<meta charset="utf-8" />
<?php
    $res = rest()->request( 'voice/info', array( 'voiceid' => 100 ), function( $data ) {
    
        print_r( $data );                                
    
      });
    
      print_r( $res );
?>      
                    

نمونه خروجی متد voice/info

در زیر خروجی به همراه راهنمای وضعیت ارسال پیامک آوا و وضعیت ارسال قابل مشاهده می باشد
Copy

                        {"message":"نمایش داده های پیامک آوا","status":1,"data":{"id":"390","state":"1","state_send":"3","duration":"18","count":"2","sent":"2","complete":"2","reason0":"0","reason3":"0","reason4":"2","reason5":"0","reason8":"0","start_date":"1626008570","end_date":"1626008579","count_wrong_number":"0","status":{"state_send":{"0":"فرستاده نشده","1":"فرستادن","3":"به پایان رسیده","4":"بازگشت هزینه و سود"},"reason":{"0":"زنگ نخورده","3":"بدون پاسخ","4":"پاسخ داده","5":"رد کردن تماس","8":"سرگرم ( مشغول )","11":"شماره نادرست","12":"پذیرش نشدن پیوست آوا"}}},"messageid":501} 
                        

گرفتن ریز پیام آوا

متد voice/detail

گرفتن چگونگی هر شماره با voiceid ( گرفتن ریز پیام آوا )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • voiceid : این پارامتر از متد voice/add به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست ریز پیامک آوا با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'voice/detail', array( 'voiceid' => '100', 'page' => '1', 'each_page' => '20' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد voice/detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        {"message":" نمایش ریز پیامک آوا « تست »","status":1,"data":{"loop":[{"number":"09138739467","reason":"4","try":"0","duration":"7","code":null},{"number":"09906687925","reason":"4","try":"0","duration":"7","code":null},{"number":"09138739467","reason":"4","try":"0","duration":"11","code":null}],"pagination":[{"next_page":1,"prev_page":1,"last":1,"number_page":1,"loop_sub":[{"page":1,"class":"page"}],"record":"3"}]},"messageid":905}  
                        

نمونه فرم گرفتن چگونگی هر شماره پیامک آوا با کد پیگیری آن

متد voice/detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد voice/add اگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : زنگ نخورده
  • 3 : بدون پاسخ
  • 4 : پاسخ داده
  • 5 : رد کردن تماس
  • 8 : سرگرم ( مشغول )
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست چگونگی هر شماره پیامک آوا با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'voice/detail_by_id', array( 'ids[]' => '109' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد voice/detail

در زیر خروجی نمایش داده شده است
Copy

                        {"message":"نمایش داده ها","status":1,"data":[{"id":"109","number":"09901111111","try":"0","duration":"6","voiceid":"430","code":null,"reason":"4"}],"messageid":151001} 

برای گرفتن داده های متد voice/add ( priceid, callerid , ... )

متد voice/feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست و یژگی های پیامک آوا با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'voice/feature', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد voice/feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       {"message":"نمایش داده های پیامک آوا","status":1,"data":{"loop_number":[{"id":"221","title":"90005555"}],"loop_price":[{"id":"1061","title":"نرخ پیام صوتی کاربران","duration":"30","price_in":"400","price_out":"400","price_out_n":"600","price_fax":"3200","price_otp":"0"}]},"messageid":301} 
                        

فرستادن رمز یک بار مصرف با rest در زبان php

متد otp/send


  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • title : عنوان
  • numberid : شناسه شماره ارسال کننده می توان آن را از متد OTP/feacher گرفت
  • numbers : شماره گیرنده رمز یک بار مصرف
  • code : رمز یک بار مصرفی که برای مخاطب ارسال می گردد
  • play_kind : نوع فایل پخش پیش فرض سیستم عدد 1 و پخش فایل انتخابی برای دریافت رمز یک بار مصرف عدد 2 را وارد نمایید
  • fileid : شماره فایل در صورتی که paly_kind عدد 2 وارد شود
  • repeat : تعداد تکرار رمز یک بار مصرف
  • priceid : شناسه لیست قیمت می توان آن را از متد otp/feacher دریافت نمود
  • uniqid : کد یکتا که برای بازگشت نتایج ثبت می شود(اختیاری)
  • bachid : کد دسته که برای بازگشت نتایج جمعی مورد استفاده قرار می گیرد (اختیاری)
  • calculate : برای دیدن هزینه عدد 1 وارد شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

فرستادن رمز یک بار مصرف با کلاس بالا

Copy

                      $res = rest()->request( 'otp/send', array('title' => 'تست','numberid' => '5', 'numbers[0]' => '09131111111', 'code' => 100 , 'play_kind' => '1', 'fileid' => '300','repeat' => '1','priceid' => '6', 'calculate ' => 1), function( $data ) {
                    
                        $otpid = @$data->id;
                        if( $otpid ) {
                          $res = rest()->request( 'otp/info', array( 'otpid' => $otpid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد otp/send

Copy

                        <?php
                           {"message":"درخواست فرستادن کد یک بار مصرف افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"39","duration":19},"messageid":100}    
           

فرستادن رمز یک بار مصرف ocv با rest در زبان php

متد ocv/send


  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • title : عنوان
  • numberid : شناسه شماره ارسال کننده می توان آن را از متد OCV/feacher گرفت
  • numbers : شماره گیرنده رمز یک بار مصرف
  • url : لینک سایت بدون هیچ پارامتری مقادیر شماره و کدی که کاربر وارد نموده و کد یکتا ارسال شده در بازگشت جواب برگشت داده می شود
  • play_kind : نوع فایل پخش پیش فرض سیستم عدد 1 و پخش فایل انتخابی برای دریافت رمز یک بار مصرف عدد 2 را وارد نمایید
  • fileid : شماره فایل در صورتی که paly_kind عدد 2 وارد شود
  • code_digit_len : طول کدی که کاربر باید وارد نماید
  • repeat : تعداد تکرار رمز یک بار مصرف
  • priceid : شناسه لیست قیمت می توان آن را از متد otp/feacher دریافت نمود
  • uniqid : کد یکتا که برای بازگشت نتایج ثبت می شود(اختیاری)
  • bachid : کد دسته که برای بازگشت نتایج جمعی مورد استفاده قرار می گیرد (اختیاری)
  • calculate : برای دیدن هزینه عدد 1 وارد شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

فرستادن رمز یک بار مصرف با کلاس بالا

Copy

                      $res = rest()->request( 'ocv/send', array('title' => 'تست','numberid' => '5', 'numbers[0]' => '09131111111', 'code' => 100 , 'play_kind' => '1', 'fileid' => '300','repeat' => '1','code_digit_len' => '5','priceid' => '6', 'calculate ' => 1), function( $data ) {
                    
                        $otpid = @$data->id;
                        if( $otpid ) {
                          $res = rest()->request( 'ocv/info', array( 'otpid' => $otpid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد ocv/send

Copy

                        <?php
                           {"message":"درخواست فرستادن کد یک بار مصرف افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"39","duration":19},"messageid":100}    
           

فرستادن فکس

متد fax/send

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest فکسی خود را بفرستید.

پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه فکس
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که فکس باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه فکس که اگر برابر با یک باشد هزینه ی این فکس را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • files : باید آی دی پیوست ها و از گونه آرایه باشد. ( میتوانید چند پیوست را پشت سر هم برای کاربری که به آن زنگ میخورد پخش کنید ) این آی دی ها را میتوانید از متد upload/add بگیرید. ( پیش از فرستادن فکس باید یک پیوست را بارگزاری کنید و آی دی آن را داشته باشید. )
  • kind: گونه فکس که فعلا میتواند فقط از نوع فکس عادی باشد ( فکس عادی: ۱ )
  • return_ids: این پارامتر اگر یک باشد برای همه ی شماره ها یک کد پیگیری به شما میدهد که با به کار بردن متد get_fax_detail_by_id میتوانید چگونگی تک تک شماره ها را جداگانه دریافت کنید. ( در این روش به دلیل به کار نبردن Transaction سرعت Insert پایین هست. پس در هر درخواست شمار شماره هایتان زیاد نباشد. )
  • priceid: اگر خالی باشد هزینه با پکیج کمتر پیش انگار گزینش میشود و یا اینکه شما میتوانید خودتان یک پکیج را گزینش کنید. اگر میخواهید خودتان یک پکیج را گزینش کنید متد get_fax_feature را به کار ببرید.
  • callerid: شماره ای که با آن پیام را میفرستید. پیش انگار : 91026058
  • در صورت داشتن یک لیست قیمت و یک شماره نیاز به تنظیم priceid و callerid نمی باشد

در زیر ما به وسیله زبان php به شما چگونگی به کار بردن rest را نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

فرستادن فکس با کلاس بالا

Copy

                      $res = rest()->request( 'fax/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112', 'files' => 5547, 'calculate' => 0 ), function( $data ) {
                    
                        $faxid = @$data->id;
                        if( $faxid ) {
                          $res = rest()->request( 'fax/info', array( 'faxid' => $faxid ), function( $data ) {
                            print_r( $data );
                          });
                        }
                    
                      });
                    
                      print_r( $res );
                    

نمونه خروجی متد fax/send

Copy
{"message":"درخواست فرستادن فکس افزوده شد و پس از بررسی فرستاده خواهد شد.","status":1,"data":{"id":"207"},"messageid":100}

اطلاعات فکس

متد fax/info

اطلاعات فکس
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • faxid : این پارامتر از متد fax/add به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

گرفتن اطلاعات فکس با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
<?php
    $res = rest()->request( 'fax/info', array( 'faxid' => 100) ), function( $data ) {
      print_r( $data );                          
    });
    
    print_r( $res );
?>

نمونه خروجی متد fax/info

در زیر خروجی به همراه راهنمای وضعیت ارسال فکس و وضعیت ارسال قابل مشاهده می باشد
Copy

                        {"{"message":"نمایش داده های فکس","status":1,"data":{"id":"464","state":"1","state_send":"4","duration":"0","count":"1","sent":"1","complete":"1","reason0":"0","reason3":"0","reason4":"0","reason5":"1","reason8":"0","start_date":"1627475517","end_date":"1627475526","count_wrong_number":"0","status":{"state_send":["در حال ساخت فایل فکس","فرستاده نشده","فرستادن","به پایان رسیده","بازگشت هزینه و سود"],"reason":{"0":"زنگ نخورده","3":"بدون پاسخ","4":"پاسخ داده","5":"رد کردن تماس","8":"سرگرم ( مشغول )","11":"شماره نادرست","12":"پذیرش نشدن پیوست آوا"}}},"messageid":501} 

گرفتن ریز فکس

متد fax/detail

گرفتن چگونگی هر شماره با faxid ( گرفتن ریز فکس )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • faxid : این پارامتر از متد fax/add به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست ریز فکس با کلاس بالا

Copy

<meta charset="utf-8" />                                            
<?php                                            
  $res = rest()->request( 'fax/detail', array( 'faxid' => '100', 'page' => '1', 'each_page' => '20' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>                    

نمونه خروجی متد fax/detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        {"message":" نمایش ریز فکس « وب سرویس »","status":1,"data":{"loop":[{"number":"09138739467","reason":"5","try":"0","duration":"0"}],"pagination":[{"next_page":1,"prev_page":1,"last":1,"number_page":1,"loop_sub":[{"page":1,"class":"page"}],"record":"1"}]},"messageid":905} 

نمونه فرم گرفتن چگونگی هر شماره فکس با کد پیگیری آن

متد fax/detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد fax/add اگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : زنگ نخورده
  • 3 : بدون پاسخ
  • 4 : پاسخ داده
  • 5 : رد کردن تماس
  • 8 : سرگرم ( مشغول )
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست چگونگی هر شماره فکس با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'fax/detail_by_id', array( 'ids[]' => '490' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد fax/detail_by_id

در زیر خروجی نمایش داده شده است
Copy

                        {"message":"نمایش داده ها","status":1,"data":[{"id":"830","number":"0913111111","try":"0","duration":"0","faxid":"379","reason":"5"}],"messageid":151001} 
                        

برای گرفتن داده های متد fax/add ( priceid, callerid , ... )

متد fax/feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست و یژگی های فکس با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'fax/feature', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد fax/feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       {"message":"نمایش داده های فکس","status":1,"data":{"loop_number":[{"id":"221","title":"90005555"}],"loop_price":[{"id":"1061","title":"نرخ پیام صوتی کاربران","duration":"30","price_in":"400","price_out":"400","price_out_n":"600","price_fax":"3200","price_otp":"0"}]},"messageid":301} 
                        

نمایش ریز کاربری

متد users/info

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست ریز اطلاعات کاربر با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'users/info', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد users/info

در زیر همان گونه که میبینید اطلاعات کاربر بازگشت داده شده است.
Copy

                       {"message":"نمایش شناسنامه کاربری","status":1,"data":{"id":"1xxx","name":"محمدی","email":"m@gmail.com","cash":"460948"},"messageid":601}   
                        

افزودن کاربر

متد users/add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • admin_user : شناسه کاربری نمایندگی
  • admin_pass : گذرواژه نمایندگی
  • firstname : نام
  • lastname : نام و خانوادگی
  • email : ایمیل
  • mobile : موبایل
  • password : گذرواژه

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

افزودن کاربر با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'users/add', array( 'admin_user' => 'test', 'admin_pass' => 'test','firstname' => 'test','lastname' => 'test','email' => 'a@a.com','mobile' => '0913888888','password' => 'test'), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد users/add

در زیر همان گونه که میبینید اطلاعات کاربر بازگشت داده شده است.
Copy

                       {"message":" کاربری با موفقیت ساخته شد ","status":1,"data":[],"messageid":33007}    
                        

ست کردن api_key و به کار بردن آن به جای username و password

متد users/user_set_api_key

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • api_key : میتوانید به جای به کاربردن username و password در متد ها اینجا یکبار برای خودتان api_key ست کنید و در username عبارت ap را به کار ببرید و password را با api_key خود کامل کنید.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست api_key با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'users/user_set_api_key', array( 'api_key' => 'test' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد users/user_set_api_key

خروجی به شکل زیر می باشد.
Copy

                       {"message":"تنظیم کردن کلید وب سرویس","status":1,"data":{"id":"1956","api_key":"rkh2222:test"},"messageid":null}    
                        

لیست پکیج های کاربری

متد users/get_price_list

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست پکیج کاربری با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'users/get_price_list', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد users/get_price_list

خروجی به شکل زیر می باشد.
Copy

                       {"message":"نرخ نامه ی شما","status":1,"data":[[{"id":"3","title":" نرخ آوا پیام کاربران  ارتباط","price_in":"155","price_out":"155","price_out_n":"172","price_fax":"3200","max":"10000000","min":"0","duration":"60"}],[{"id":"1061","title":"نرخ پیام صوتی کاربران ارتباط","price_in":"400","price_out":"400","price_out_n":"500","price_fax":"3200","max":"10000000","min":"0","duration":"30"}],[{"id":"16","title":"نرخ پیامک کاربران  ارتباط","price_irancell_fa":"20","price_irancell_en":"440","price_mci_fa":"20","price_mci_en":"440","price_rightel_fa":"20","price_rightel_en":"440","max":"10000000","min":"0"}]],"messageid":null}    
                        

چک کردن وجود نام کاربری

متد users/check_username

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • name : نام کاربری که می خواهید آن را جستجو کنید

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

جستجو نام کاربری با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'users/check_username', array( 'name' => 'test' ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد users/check_username

خروجی به شکل زیر می باشد.
Copy

                       {"message":"تعداد نام کاربری های یافت شده","status":1,"data":{"count":"1"},"messageid":null}     
                        

افزودن دارایی به کاربر که باید با متد cash/approve پذیرش شود.

متد cash/add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • title : عنوان
  • price :پول که باید به ریال باشد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

افزایش دارایی کاربر با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'cash/add', array( 'title' => 'test' , 'price' => '10000'), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد cash/add

خروجی به شکل زیر می باشد id بازگشت شده جهت متد cash/approve نیاز می باشد .
Copy

                       {"message":"این درخواست افزوده شد و پس از پذیرش دارایی شما افزوده خواهد شد. ","status":1,"data":{"id":"15543"},"messageid":null}      
                        

پذیرش دارایی افزوده شده برای کاربر.

متد cash/approve

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • admin_user : شناسه کاربری نمایندگی
  • admin_pass : گذرواژه نمایندگی
  • cashid :باید از متد add_cash گرفته شود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

پذیرش دارایی کاربر با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'cash/approve', array( 'admin_user' => 'test', 'admin_pass' => 'test', 'cashid' => '100'), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد cash/approve

خروجی به شکل زیر می باشد.
Copy

                       {"message":"ویرایش انجام شد","status":1,"data":[],"messageid":null}      
                        

پیش نویس شماره برای استفاده در voice/add و sms/add

متد draft/add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست پیش نویس شماره ها با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'draft/add', array(  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد draft/add

در زیر همان گونه که میبینید یک id به شما بازگشت داده شده است که در متد draft/numbers و draft/status به آن نیاز دارید
Copy

                       {"message":"ریز داده های ناماندگار شما","status":1,"data":{"id":"3"},"messageid":12001}   
                        

گرفتن وضعیت پیش نویس شماره ها

متد draft/numbers

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • draftid : این پارامتر از متد draft/add به شما برگشت داده میشود.
  • numbers : شماره هایی که می خواهید در این پیش نویس ثبت شود(به صورت آرایه باشد)

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

افزودن شماره ها به پیش نویس با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'draft/numbers', array( "draftid"=>3,"numbers[0]"=>"09131111111","numbers[1]"=>"09131111111" ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد draft/numbers

Copy

                       {"message":"شماره ها افزوده شد.","status":1,"data":{"count":"2"},"messageid":12002}    
                        

گرفتن وضعیت پیش نویس شماره ها

متد draft/status

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • draftid : این پارامتر از متد draft/add به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست وضعیت پیش نویس شماره ها با کلاس بالا

Copy

<meta charset="utf-8" />
<?php
$res = rest()->request( 'draft/status', array( "draftid"=>3  ), function( $data ) {

    print_r( $data );                                

  });

  print_r( $res );
?>

نمونه خروجی متد draft/status

Copy

                       {"message":"وضعیت شماره ای افزوده شده.","status":1,"data":{"id":"3","count":"2"},"messageid":12006}     
                        

فرستادن پیامک آوا با rest در زبان php

فرستادن درخواست Rest

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest پیامک آوای خود را بفرستید.
در زیر ما به وسیله زبان php به شما چگونگی به کار بردن rest را نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
<?php

class rest_client {
  var $ch, $url, $data;

  public static $instance;
  public static function get_instance( $url = '', $data = array() ) {
    
    if( ! self::$instance ) {
      self::$instance = new self( $url, $data );
    }

    return self::$instance;
  }

  function rest_client( $url, $data ) {
    $this->url = $url;
    $this->data = $data;
    $this->ch = curl_init();
    curl_setopt($this->ch, CURLOPT_HEADER, false);
    curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
    
    return $this;
  }

  function request( $req, $params = array(), $callback = '' ) {
    curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );

    curl_setopt($this->ch, CURLOPT_POST,1);
    curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );

    $response = curl_exec ($this->ch);

    //echo $response;
    $result = json_decode( $response );

    if( (int)$result->status  === 1 && ! empty( $callback ) ) {
      $callback( $result->data );
    }

    return $result;
  }

  function estruct() {
    curl_close ( $this->ch );
  }

}


function rest( $url = '', $data = array() ) {
  return rest_client::get_instance( $url, $data );
}

//intialize rest client instance
rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                    

بارگزاری پیوست با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
<?php
$res = rest()->request( 'upload/add', array( 'files[]' => '@'.realpath('./test.wav') ), function( $data ) {
  print_r( $data );
  $uploadid = $data->id;
});

print_r( $res );

فرستادن پیامک آوا با کلاس بالا

Copy

  $res = rest()->request( 'voice/send', array( 'title' => 'test', 'try' => '1', 'numbers[0]' => '09131111111', 'numbers[1]' => '09131111112', 'uploadids[]' => $uploadid, 'kind' => '1', 'calculate' => 0 ), function( $data ) {

    $voiceid = @$data->id;
    if( $voiceid ) {
      $res = rest()->request( 'voice/info', array( 'voiceid' => $voiceid ), function( $data ) {
        print_r( $data );
      });
    }

  });

  print_r( $res );

آموزش به کار بردن وب سرویس سامانه ماهان

همه ی کوشش ما بر این بوده که وب سرویس سامانه کاربند پسند و ساده باشد. چنانچه شما اینگونه نمی اندیشید میتوانید دیدگاه خودتان را با ما در میان بگذارید.

نکته : خروجی همه ی متد های سامانه از گونه ی Json میباشد.

درباره متد send_voice :

  • username: شناسه کاربری
  • password: گذر واژه
  • uniqid: برای اینکه درخواست تکراری نفرستید
  • title: دیباچه پیامک آوا
  • try: شماره تلاش، برای نمونه ۲ بار
  • try_interval: بازه زمانی تلاش،‌ برای نمونه شماره ی ۵ که نشانگر ۵ دقیقه میباشد
  • numbers: لیست شماره ها که باید array باشد
  • date: زمان که میتواند yyyy/mm/dd HH:ii و یا timestamp باشد
  • calculate: اگر یک باشد هزینه پیام آوا را بر میگرداند و اگر صفر باشد پیام آوا فرستاده میشود.
  • files: پیوست ها که میتواند آدرس پیوست و یا آی دی پیوست باشد ( آی دی پیوست از متد upload )
  • priceid: اگر خالی باشد هزینه با پکیج کمتر پیش انگار گزینش میشود و یا اینکه شما میتوانید خودتان یک پکیج را گزینش کنید. اگر میخواهید خودتان یک پکیج را گزینش کنید متد get_voice_feature را به کار ببرید.
  • callerid: شماره ای که با آن پیام را میفرستید. پیش انگار : 38332140

نمونه کد php با SoapClient

Copy

                                    <?php
                                    ini_set("display_errors", "On");
                                    ini_set("soap.wsdl_cache_enabled", "0");
                                    
                                    $wsdl="http://otp.safironline.ir/webservice/ws.php?wsdl"; 
                                    
                                    $client=new soapclient( $wsdl ) or die("Error");
                                    
                                    $username = "user";
                                    $password = "pass";
                                    
                                    $response = $client->__call("parsip.send_voice", array( $username, $password, "", "تست است", "0", "0", array( "09131111112", "09131111113" ), time(), 0, array( "http://www.../audio.wav" ), 0, "38332140", "1" ) );
                                    
                                    $res = json_decode( $response, true );
                                    
                                    print_r( $res );
                                    
                                    if( $res["status"] === 1 ) {
                                    
                                        $data = $res["data"];
                                    
                                        $response = $client->__call("parsip.get_voice_info", array(  $username, $password, $data["id"] ) );
                                         
                                        $result = json_decode( $response, true );
                                    
                                        print_r( $result );
                                    
                                    
                                        $response = $client->__call("parsip.get_voice_detail", array(  $username, $password, $data["id"], 1, 100 ) );
                                         
                                        $result = json_decode( $response, true );
                                    
                                        print_r( $result );
                                    
                                    } 
                                    
                                    

پیام های وب سرویس


هر پیامی که وب سرویس سامانه بر میگرداند در برگیرنده یک messageid هست. ما اینجا همه ی messageid ها را به همراه پیام آن به شما نشان میدهیم.

نمایش messageid به همراه message آن

Copy

Array
(
    [17] => شناسه کاربری و یا گذواژه نادرست است.
    [502] => برای این id داده ای در دست نیست
)

                                    

بارگزاری پیوست

متد parsip.upload

فرستادن پیامک آوا
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • name : نام پیوست
  • content : داده های پیوست که باید Base64 Encoding باشد.

فرم بارگزاری پیوست

Copy

<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="uploadfiles"><br />
<input type="submit" name="submit" value="فرستادن"><br />
</form>
                                    

کد php بارگزای پیوست

در زیر پس از فرستادن فرم با متد post داده های پیوست از مسیر tmp پیوست گرفته میشود و سپس به همراه نا م فایل به متد parsip.upload‌ فرستاده میشود.
Copy
<?php
if( isset( $_POST['submit'] ) ) {
     //upload file
     $tmpfile = $_FILES["uploadfiles"]["tmp_name"]; 
     $filename = $_FILES["uploadfiles"]["name"];  
     
     $uploadid = array();
     if( @$handle = fopen($tmpfile, "r") ) {
          $contents = fread( $handle, filesize( $tmpfile) );
          fclose($handle);     


          if( !empty( $contents ) ) {
               $encodeContent   = base64_encode( $contents ); 
               try {
                    $response = $client->__call( 'parsip.upload', array('09131111111', '123456', $filename, $encodeContent) ); 
                    $result = json_decode( $response);
                    
                    print_r( $result );

                    if( $result->status === 1 ) {
                       $uploadid = array( $result->data->id );
                     }
                       
               } catch( SoapFault $e ) {              
                    var_dump( $e );
               }
          }
     }
}

نمونه برون رفت متد parsip.upload

در زیر همان گونه که میبینید پیوست با پیروزی ( status یک ) بارگزای شد و id پیوست بارگزاری شده عدد 766 میباشد.
Copy

{"message":"\u0628\u0627\u0631\u06af\u0632\u0627\u0631\u06cc \u0628\u0627 \u067e\u06cc\u0631\u0648\u0632\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u062f","status":1,"data":{"id":"769"}}

stdClass Object
(
    [message] => بارگزاری با پیروزی انجام شد
    [status] => 1
    [data] => stdClass Object
        (
            [id] => 769
        )

)

فرستادن پیامک

متد send_sms

از این پس شما میتوانید با rest و فرستادن درخواست post به آدرس http://otp.safironline.ir/customer/rest پیامکی خود را بفرستید.
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه پیامک
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که پیامک باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه پیامک که اگر برابر با یک باشد هزینه ی این پیامک را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • content : متن پیامک
  • sender_number: شماره ای که با آن پیامک را میفرستید. پیش انگار : 50002100036987
  • kind: گونه پیامک که میتواند پیامک باشد و یا دیدگاه سنج ( پیامک : ۱ و دیدگاه سنج : ۲ )
  • code: مقادیری که در صورت تنظیم شدن kind با عددی بالاتر از 1 تکمیل می شود
  • return_ids: این پارامتر اگر یک باشد برای همه ی شماره ها یک کد پیگیری به شما میدهد که با به کار بردن متد get_sms_detail_by_id میتوانید چگونگی تک تک شماره ها را جداگانه دریافت کنید. ( در این روش به دلیل به کار نبردن Transaction سرعت Insert پایین هست. پس در هر درخواست شمار شماره هایتان زیاد نباشد. )
  • priceid: اگر خالی باشد هزینه با پکیج کمتر پیش انگار گزینش میشود و یا اینکه شما میتوانید خودتان یک پکیج را گزینش کنید. اگر میخواهید خودتان یک پکیج را گزینش کنید متد get_sms_feature را به کار ببرید.
  • adata: این پارامتر برای سایر شماره های ما میباشد. ( فرستادن به شماره های ثابت اصفهان و یا کد پستی و ... )
  • در صورت داشتن یک لیست قیمت نیاز به تنظیم priceid نمی باشد
  • draftid: میتوانید با متد draft همه ی شماره های خود را یکجا داشته باشید و سپس با آی دی آن درخواست خود را بفرستید.

در زیر ما به وسیله زبان php به شما چگونگی به کار بردن soapرا نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

فرستادن پیامک با کلاس بالا

Copy

                      $feature = $soap->request("parsip.send_sms",array($username,$password,0,"test", "1","", array("0913111111"), "test", "" ,0,"5000212365555"));
                      print_r($feature);
    
  ?>

نمونه خروجی متد send_sms

Copy
stdClass Object ( [message] => درخواست فرستادن پیامک افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 211 ) [messageid] => 100 ) 

فرستادن پیامک با تمام متد ها با کلاس بالا

Copy

                      $feature = $soap->request("parsip.send_sms",array($username,$password,0,"test", "1","", array("09131111111"),"test","",0,"50002123656986","1","","",array(json_encode("place"=>"esfahan","postal_code"=>"874158")),"1");
                      print_r($feature);
    
  ?>

نمونه خروجی متد send_sms

در زیر بر اساس هر شماره یک شماره پیگیری صادر شده که بعدا می توان برای پیگیری و ضعیت ارسال هر شماره از آن استفاده کرد
Copy

                                stdClass Object ( [message] => درخواست فرستادن پیامک افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 211 ) [messageid] => 100 )   
                   

اطلاعات پیامک

متد parsip.get_sms_info

اطلاعات پیامک
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • smsid : این پارامتر از متد parsip.send_sms به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

گرفتن اطلاعات پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_sms_info",array($username,$password,118));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.get_sms_info

در زیر خروجی به همراه راهنمای وضعیت ارسال پیامک آوا و وضعیت ارسال قابل مشاهده می باشد
Copy

                        stdClass Object ( [message] => نمایش داده های پیامک [status] => 1 [data] => stdClass Object ( [id] => 118 [state] => 2 [state_send] => 4 [count] => 1 [sent] => 0 [complete] => 0 [reason0] => 0 [reason3] => 0 [reason4] => 0 [reason5] => 0 [reason8] => 0 [start_date] => 1608037880 [end_date] => 0 [count_wrong_number] => 0 [status] => stdClass Object ( [state_send] => Array ( [0] => فرستاده نشده [1] => فرستادن [2] => خطا از اپراتور [3] => ارسال به اپراتور [4] => بازگشت هزینه و سود [5] => به پایان رسیده [6] => دریافت پاسخ پیامک ها ) [reason] => stdClass Object ( [0] => بدون وضعیت [3] => ارسال نشده به مخابرات [4] => ارسال شده به مخابرات [5] => لیست سیاه مخابرات [8] => ارسال شده به اپراتور [12] => پذیرش نشدن محتوای پیامک ) ) ) [messageid] => 501 ) 
                        

گرفتن ریز پیامک

متد parsip.get_sms_detail

گرفتن چگونگی هر شماره با smsid ( گرفتن ریز پیامک )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • smsid : این پارامتر از متد sms/add به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست ریز پیامک با کلاس بالا

Copy

                         $feature = $soap->request("parsip.get_sms_detail",array($username,$password,118,1,20));
                         print_r($feature);
    
?>

نمونه خروجی متد get_sms_detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        stdClass Object ( [message] => نمایش ریز پیامک « تست آخر » [status] => 1 [data] => stdClass Object ( [loop] => Array ( [0] => stdClass Object ( [number] => 09138739467 [reason] => 0 [try] => 0 ) ) [pagination] => Array ( [0] => stdClass Object ( [next_page] => 1 [prev_page] => 1 [last] => 1 [number_page] => 1 [loop_sub] => Array ( [0] => stdClass Object ( [page] => 1 [class] => page ) ) [record] => 1 ) ) ) [messageid] => 905 ) 

نمونه فرم گرفتن چگونگی هر شماره پیامک با کد پیگیری آن

متد parsip.get_detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد parsip.sms_send اگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : بدون وضعیت
  • 1 : رسیده به گوشی
  • 2 : نرسیده به گوشی
  • 3 : ارسال نشده به مخابرات
  • 4 : ارسال شده به مخابرات
  • 5 : لیست سیاه مخابرات
  • 8 : ارسال شده به اپراتور
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست چگونگی هر شماره پیامک با کلاس بالا

Copy

                            $feature = $soap->request("parsip.get_sms_detail_by_id",array($username,$password,array( 34276 ) ) );
                         print_r($feature);
    
?>

نمونه خروجی متد parsip.get_detail_by_id

در زیر خروجی نمایش داده شده است .
Copy

                        stdClass Object ( [message] => نمایش داده ها [status] => 1 [data] => Array ( [0] => stdClass Object ( [id] => 34276 [number] => 09906611111 [try] => 0 [smsid] => 206 [code] => [reason] => 1 ) ) [messageid] => 151001 ) 
                        

برای گرفتن داده های متد parsip.sms_send ( priceid, callerid , ... )

متد parsip.get_sms_feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست و یژگی های پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_sms_feature",array($username,$password));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.get_sms_feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       stdClass Object ( [message] => نمایش داده های پیامک [status] => 1 [data] => stdClass Object ( [loop_number] => Array ( [0] => stdClass Object ( [id] => 173 [line_kind] => 2 [title] => 50002123656986(سما ارتباط اسپادانا) [blacklist] => 0 [operatorid] => 1 ) [1] => stdClass Object ( [id] => 174 [line_kind] => 1 [title] => 50002123656985(صلابت سپاهان) [blacklist] => 1 [operatorid] => 2 ) ) [loop_price] => Array ( [0] => stdClass Object ( [id] => 11 [price_irancell_fa] => 133 [price_irancell_en] => 310 [price_mci_fa] => 123 [price_mci_en] => 310 [price_rightel_fa] => 123 [price_rightel_en] => 310 [operatorid] => 1 ) [1] => stdClass Object ( [id] => 13 [price_irancell_fa] => 134 [price_irancell_en] => 311 [price_mci_fa] => 124 [price_mci_en] => 311 [price_rightel_fa] => 124 [price_rightel_en] => 311 [operatorid] => 2 ) ) ) [messageid] => 301 )  
                        

کلید های استفاده شده در امکانات پیامک

متد parsip.get_sms_keys

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست و یژگی های پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_sms_keys",array($username,$password));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.get_sms_keys

Copy

                       stdClass Object ( [message] => نمایش داده های کلید های پیامک [status] => 1 [data] => stdClass Object ( [0] => stdClass Object ( [state] => 1 [kind] => 1 [label] => کلید1 [title] => منشی پیامک [repeat] => 1 [reply] => 1 [content] => تست [content_reply] => [number] => 5000000025525 ) [kind] => stdClass Object ( [1] => منشی پیامک [2] => نظرسنجی [3] => مسابقه [4] => نوبت دهی [5] => قرعه کشی ) ) [messageid] => 501 )   
                        

افزودن عبارت کلیدی

متد parsip.sms_keys_add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • numberid : ای دی شماره ارسال کننده
  • title : عنوان در نظر گرفته شده برای این عبارت کلیدی
  • label : عبارت کلیدی مورد نظر
  • kind : نوع عبارت کلیدی 1: منشی پیامک 2 : نظر سنجی 3:مسابقه 4: نوبت دهی 5:قرعه کشی
  • repeat : تعداد دریافت پاسخ از یک شماره
  • reply : ارسال متن پس از دریافت پیامک 0:خیر 1: بله
  • content_reply : متن پس از دریافت پیامک /متن ارسال نوبت /متن دریافت کد قرعه کشی و ...
  • content : متن پاسخ
  • time_limit : محدودیت زمانی 0:بدون محدودیت 1 : در بازه زمانی مشخص شده فعال باشد
  • phonebook_actions : انتخاب نوع اکشن بر شماره ارسال کننده
  • phonebook : شماره رکورد گروه دفترتلفن برای ذخیره ی شماره در دفترچه تلفن
  • turn_time : فاصله ی هر نوبت
  • turn_days : روزهای نوبت دهی به طور نمونه 1 =>('شنبه'),2=>('یکشنبه'),3=>('دوشنبه'),4=>('سه شنبه'),5=>('چهارشنبه'),6=>('پنج شنبه'),7 =>('جمعه')
  • turn_times : ساعت های نوبت دهی به طور نمونه turn_times[0]'=>'15:00','turn_times[1]'=>'16:00'
  • turn_date_start : تاریخ شروع نوبت دهی به طور نمونه 1400/07/27
  • turn_date_end : تاریخ پایان نوبت دهی به طور نمونه 1400/07/28
  • serial_repeat : وضعیت قابلیت استفاده چند مرتبه از سریال ها 0: خیر فقط توسط ۱ نفر قابل استفاده باشد 1:بلی چندین مرتبه قابل استفاده باشد
  • check_key : بررسی کردن تکراری نبودن کلید 0:بررسی نشود 1 : بررسی شود
  • keys : مجموعه کلید ها که برای نظر سنجی و مسابقه به ازای هر گزینه یک کلید انتخاب می شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

افزودن منشی پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_add",array($username,$password,"174","منشی پیامک وب سرویس","wsm15","1"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_add برای منشی پیامک

Copy

                       stdClass Object ( [message] => درخواست منشی پیامک با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                        

افزودن نظرسنجی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_add",array($username,$password,"174","نظرسنجی وب سرویس","","2","","","","","","","","","","","","","1",array("0"=>"sowspull1","1"=>"sowspull2")));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_add برای نظر سنجی

Copy

                       stdClass Object ( [message] => درخواست نظرسنجی با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

افزودن مسابقه با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_add",array($username,$password,"174","مسابقه وب سرویس","","3","","","","","","","","","","","","","1",array("0"=>"sowspull3","1"=>"sowspull4")));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_add برای مسابقه

Copy

                       stdClass Object ( [message] => درخواست مسابقه با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

افزودن نوبت دهی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_add",array($username,$password,"174","وب سرویس نوبت دهی","wsnobat","4","","متاسفانه نوبت ها پر شده است","شماره نوبت #nobat# به شماره موبایل #mobile# در تاریخ #date# رزرو شد","","","","15",array("0"=>4),array(0=>array("0"=>"15:00","1"=>"16:00")),array(0=>"1400/07/27"),array(0=>"1400/07/27"),"","0"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_add برای نوبت دهی

Copy

                       stdClass Object ( [message] => درخواست نوبت دهی با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

افزودن قرعه کشی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_add",array($username,$password,"174","قرعه کشی وب سرویس","","5","","کد شما ثبت شده است","کد رسید","","","","","","","","","","0"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_add برای نظر سنجی

Copy

                       stdClass Object ( [message] => درخواست قرعه کشی با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

ویرایش عبارت کلیدی

متد parsip.sms_keys_edit

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شناسه ی عبارت کلیدی ای که میخواهید آن را ویرایش کنید
  • numberid : ای دی شماره ارسال کننده
  • title : عنوان در نظر گرفته شده برای این عبارت کلیدی
  • label : عبارت کلیدی مورد نظر
  • kind : نوع عبارت کلیدی 1: منشی پیامک 2 : نظر سنجی 3:مسابقه 4: نوبت دهی 5:قرعه کشی
  • repeat : تعداد دریافت پاسخ از یک شماره
  • reply : ارسال متن پس از دریافت پیامک 0:خیر 1: بله
  • content_reply : متن پس از دریافت پیامک /متن ارسال نوبت /متن دریافت کد قرعه کشی و ...
  • content : متن پاسخ
  • time_limit : محدودیت زمانی 0:بدون محدودیت 1 : در بازه زمانی مشخص شده فعال باشد
  • phonebook_actions : انتخاب نوع اکشن بر شماره ارسال کننده
  • phonebook : شماره رکورد گروه دفترتلفن برای ذخیره ی شماره در دفترچه تلفن
  • turn_time : فاصله ی هر نوبت
  • turn_days : روزهای نوبت دهی به طور نمونه 1 =>('شنبه'),2=>('یکشنبه'),3=>('دوشنبه'),4=>('سه شنبه'),5=>('چهارشنبه'),6=>('پنج شنبه'),7 =>('جمعه')
  • turn_times : ساعت های نوبت دهی به طور نمونه turn_times[0]'=>'15:00','turn_times[1]'=>'16:00'
  • turn_date_start : تاریخ شروع نوبت دهی به طور نمونه 1400/07/27
  • turn_date_end : تاریخ پایان نوبت دهی به طور نمونه 1400/07/28
  • serial_repeat : وضعیت قابلیت استفاده چند مرتبه از سریال ها 0: خیر فقط توسط ۱ نفر قابل استفاده باشد 1:بلی چندین مرتبه قابل استفاده باشد
  • check_key : بررسی کردن تکراری نبودن کلید 0:بررسی نشود 1 : بررسی شود
  • keys : مجموعه کلید ها که برای نظر سنجی و مسابقه به ازای هر گزینه یک کلید انتخاب می شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

ویرایش منشی پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_edit",array($username,$password,"50","174","منشی پیامک وب سرویس","wsm15","1"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_edit برای منشی پیامک

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                        

ویرایش نظرسنجی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_edit",array($username,$password,"51","174","نظرسنجی وب سرویس","","2","","","","","","","","","","","","","1",array("0"=>"sowspull1","1"=>"sowspull2")));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_edit برای نظر سنجی

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

ویرایش مسابقه با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_edit",array($username,$password,"52","174","مسابقه وب سرویس","","3","","","","","","","","","","","","","1",array("0"=>"sowspull3","1"=>"sowspull4")));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_edit برای مسابقه

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

ویرایش نوبت دهی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_edit",array($username,$password,"53","174","وب سرویس نوبت دهی","wsnobat","4","","متاسفانه نوبت ها پر شده است","شماره نوبت #nobat# به شماره موبایل #mobile# در تاریخ #date# رزرو شد","","","","15",array("0"=>4),array(0=>array("0"=>"15:00","1"=>"16:00")),array(0=>"1400/07/27"),array(0=>"1400/07/27"),"","0"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_edit برای نوبت دهی

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

ویرایش قرعه کشی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_edit",array($username,$password,"54","174","قرعه کشی وب سرویس","","5","","کد شما ثبت شده است","کد رسید","","","","","","","","","","0"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_edit برای قرعه کشی

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                     

حذف عبارت کلیدی

متد parsip.sms_keys_delete

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شماره عبارت کلیدی که می خواهید حذف شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست عبارت کلیدی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_keys_delete",array($username,$password,47));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_keys_delete

Copy

                       stdClass Object ( [message] => پاکسازی انجام شد [status] => 1 [data] => Array ( ) [messageid] => )    
                        

سریال های استفاده شده در کلیدهای قرعه کشی و ...

متد parsip.get_sms_serials

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست و یژگی های پیامک با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_sms_serials",array($username,$password));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.get_sms_serials

Copy

                       stdClass Object ( [message] => نمایش اطلاعات سریال های ثبت شده [status] => 1 [data] => stdClass Object ( [0] => stdClass Object ( [id] => 21 [keyid] => 11 [serial_number] => 101 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [1] => stdClass Object ( [id] => 20 [keyid] => 11 [serial_number] => 100 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [2] => stdClass Object ( [id] => 14 [keyid] => 11 [serial_number] => 9138739467 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [3] => stdClass Object ( [id] => 13 [keyid] => 11 [serial_number] => 113 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [4] => stdClass Object ( [id] => 12 [keyid] => 11 [serial_number] => 112 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [5] => stdClass Object ( [id] => 11 [keyid] => 11 [serial_number] => 111 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [6] => stdClass Object ( [id] => 5 [keyid] => 11 [serial_number] => 10104 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [7] => stdClass Object ( [id] => 4 [keyid] => 11 [serial_number] => 10103 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [8] => stdClass Object ( [id] => 3 [keyid] => 11 [serial_number] => 10102 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [9] => stdClass Object ( [id] => 2 [keyid] => 11 [serial_number] => 10101 [state] => 0 [title] => قرعه کشی [serial_repeat] => 0 ) [10] => stdClass Object ( [id] => 1 [keyid] => 11 [serial_number] => 10100 [state] => 1 [title] => قرعه کشی [serial_repeat] => 0 ) [kind] => stdClass Object ( [1] => منشی پیامک [2] => نظرسنجی [3] => مسابقه [4] => نوبت دهی [5] => قرعه کشی ) [state] => stdClass Object ( [1] => استفاده شده [0] => استفاده نشده ) [serial_repeat(چند بار مصرف)] => stdClass Object ( [1] => بله [0] => خیر ) ) [messageid] => 501 )    
                        

افزودن سریال

متد parsip.sms_serials_add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • kind_data : نوع داده ورودی به طور نمونه 1:سریال 2:داده
  • lottery : شناسه قرعه کشی
  • serial_repeat : لطفا نوع ورودی سریال را تعیین نمایید 0:خیر فقط توسط ۱ نفر قابل استفاده باشد,1:بلی چندین مرتبه قابل استفاده باشد
  • kind : انتخاب نوع ورودی سریال 1:رنجی 2: توسط فایل اکسل
  • start_serial : شروع سریال
  • end_serial : پایان سریال
  • import_upload_excel : شناسه فایلی که قبلا توسط متد parsip.upload دریافت کرده اید را اینجا استفاده کنید

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

افزودن سریال به صورت رنجی با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_serials_add",array($username,$password,"11","1","1","1","2"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_serials_add

Copy

                       stdClass Object ( [message] => سریال ها با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                        

افزودن سریال به فایل اکسل توسط کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_serials_add",array($username,$password,"1","11","1","2","0","0",array(1400)));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_serials_add

Copy

                       stdClass Object ( [message] => سریال ها با موفقیت ثبت شد [status] => 1 [data] => Array ( ) [messageid] => )     
                        

ویرایش سریال

متد parsip.sms_serials_edit

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شناسه ی سریالی که میخواهید آن را ویرایش کنید
  • serial_number : عنوان در نظر گرفته شده برای این سریال

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

ویرایش سریال با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_serials_edit",array($username,$password,"50","سریال 2"));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_serials_edit

Copy

                       stdClass Object ( [message] => ویرایش انجام شد [status] => 1 [data] => Array ( ) [messageid] => )     
                        

حذف عبارت کلیدی

متد parsip.sms_serials_delete

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • id : شماره عبارت کلیدی که می خواهید حذف شود

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

حذف سریال با کلاس بالا

Copy

                    $feature = $soap->request("parsip.sms_serials_delete",array($username,$password,47));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.sms_serials_delete

Copy

                       stdClass Object ( [message] => پاکسازی انجام شد [status] => 1 [data] => Array ( ) [messageid] => )    
                        

فرستادن پیامک آوا

متد parsip.send_voice

فرستادن پیامک آوا
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه پیامک آوا
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که پیامک آوا باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه پیامک آوا که اگر برابر با یک باشد هزینه ی این پیامک آوا را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • uploadids : باید آی دی پیوست ها و از گونه آرایه باشد. ( میتوانید چند پیوست را پشت سر هم برای کاربری که به آن زنگ میخورد پخش کنید ) این آی دی ها را میتوانید از متد parsip.upload بگیرید. ( پیش از فرستادن پیامک آوا باید یک پیوست را بارگزاری کنید و آی دی آن را داشته باشید. )
  • priceid : باید آی دی نرخ پیامک آوا باشد که میتوانید از متد parsip.get_voice_feature آنرا بگیرید.
  • callerid : باید شماره فرستنده پیامک آوا باشد که میتوانید از متد parsip.get_voice_feature آنرا بگیرید.
  • kind: گونه پیام آوا که میتواند پیام آوا باشد و یا دیدگاه سنج ( پیام آوا : ۱ و دیدگاه سنج : ۲ )
  • kind: گونه پیام آوا که میتواند پیام آوا ،دیدگاه سنج ،گرفتن داده و یا درختواره باشد ( پیام آوا : ۱ ، دیدگاه سنج:2 ،گرفتن داده: 4 ، درختواره : 5 و یا 6 : OTP )

    • code_digit_len : حداکثر طول داده ورودی مورد استفاده در گونه دیدگاه سنج ،گرفتن داده و OTP
    • code_digit_repeat : تعداد تکرار درخواست ، مورد استفاده در گونه دیدگاه سنج ،گرفتن داده و OTP
    • otp_user_len : حداکثر کاربری که به آنها برای گرفتن رمز یک بار مصرف تماس گرفته می شود به طور نمونه : 1000 ، مورد استفاده گونه OTP
    • play_kind : اجرای فایل هنگام پاسخ مخاطب 1:اجرای فایل پیش فرض 2:انتخاب فایل ، مورد استفاده در گونه OTP
    • tree_start_code : گره شروع درختواره به طور نمونه : 0 قابل استفاده در گونه درختواره
    • question : گزینه ها قابل استفاده در گونه دیدگاه سنج
    • options : جواب ها قابل استفاده در گونه دیدگاه سنج
  • return_ids: این پارامتر اگر یک باشد برای همه ی شماره ها یک کد پیگیری به شما میدهد که با به کار بردن متد get_sms_detail_by_id میتوانید چگونگی تک تک شماره ها را جداگانه دریافت کنید. ( در این روش به دلیل به کار نبردن Transaction سرعت Insert پایین هست. پس در هر درخواست شمار شماره هایتان زیاد نباشد. )
  • adata: این پارامتر برای سایر شماره های ما میباشد. ( فرستادن به شماره های ثابت اصفهان و یا کد پستی و ... )
  • draftid: میتوانید با متد draft همه ی شماره های خود را یکجا داشته باشید و سپس با آی دی آن درخواست خود را بفرستید.

نمونه به کاربرد متد parsip.send_voice

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("09138731111"), "" ,1,array(1308),"13","91023133","","","",1));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                        stdClass Object ( [message] => درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 482 [duration] => 9 ) [messageid] => 100 )    
                                    

نمونه به کاربرد متد parsip.send_voice با کد پستی

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("0913871111"), "" ,1,array(1308),"1051","91023133","1","",0,json_encode(array("place"=>"esfahan","postal_code"=>"81"))));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                        stdClass Object ( [message] => ارزیابی هزینه پیامک آوا [status] => 1 [data] => stdClass Object ( [list_price] => Array ( [0] => stdClass Object ( [price_in] => 0 [price_out] => 0 [price_out_n] => 5670 [price_otp] => 0 [total_price] => 5670 [pa] => 9 [priceid] => 1051 ) ) [duration] => 9 [price_in] => 0 [price_out] => 0 [price_out_n] => 6 [price_otp] => 0 [not_valid] => 0 [total_number] => 6 ) [messageid] => 23 )     
                                    

نمونه به کاربرد متد parsip.send_voice جهت افزودن نوع دیدگاه سنج

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("0913111111"), "" ,0,array(1308),"1051","91011111","2",json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1,"question"=>"انتخاب کنید؟","options"=>json_encode(array(1=>"جواب 1",2=>"جواب 2") ) )),array(),1));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                        stdClass Object ( [message] => درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 598 [duration] => 11 ) [messageid] => 100 )     
                     

نمونه به کاربرد متد parsip.send_voice جهت افزودن نوع داده

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("09138731111"), "" ,1,array(1308),"13","91023133","4",json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1)),"",1));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                        stdClass Object ( [message] => درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 563 [duration] => 11 ) [messageid] => 100 )      
                     

نمونه به کاربرد متد parsip.send_voice جهت افزودن نوع درختواره

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("09138731111"), "" ,1,array(1308),"13","91023133","5",json_encode(array("tree_start_code"=>4)),"",1));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                        stdClass Object ( [message] => درخواست فرستادن پیامک آوا افزوده شد و پس از بررسی فرستاده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 548 [duration] => 9 ) [messageid] => 100 )     
                     

نمونه به کاربرد متد parsip.send_voice جهت افزودن نوع otp

Copy

                        $feature = $soap->request("parsip.send_voice",array($username,$password,0,"تست", "1","", array("09138731111"), "" ,1,array(1308),"13","91023133","6",json_encode(array("code_digit_len"=>2,"code_digit_repeat"=>1,"otp_user_len"=>5,"play_kind"=>1)),"",1));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_voice

Copy

                      stdClass Object ( [message] => درخواست OTP به شماره 550 افزوده شد بعد از این با وب سرویس می توانید از این بسته استفاده نمایید [status] => 1 [data] => stdClass Object ( [id] => 550 [duration] => 12 ) [messageid] => 100 )      
                     

اطلاعات پیامک آوا

متد parsip.get_voice_info

اطلاعات پیامک آوا
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • voiceid : این پارامتر از متد parsip.send_voice به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست اطلاعات پیامک آوا با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_voice_info",array($username,$password,390));
                    print_r($feature);
    
?>

نمونه خروجی متد parsip.get_voice_info

در زیر خروجی به همراه راهنمای وضعیت ارسال پیامک آوا و وضعیت ارسال قابل مشاهده می باشد
Copy

                        stdClass Object ( [message] => نمایش داده های پیامک آوا [status] => 1 [data] => stdClass Object ( [id] => 390 [state] => 1 [state_send] => 3 [duration] => 18 [count] => 2 [sent] => 2 [complete] => 2 [reason0] => 0 [reason3] => 0 [reason4] => 2 [reason5] => 0 [reason8] => 0 [start_date] => 1626008570 [end_date] => 1626008579 [count_wrong_number] => 0 [status] => stdClass Object ( [state_send] => stdClass Object ( [0] => فرستاده نشده [1] => فرستادن [3] => به پایان رسیده [4] => بازگشت هزینه و سود ) [reason] => stdClass Object ( [0] => زنگ نخورده [3] => بدون پاسخ [4] => پاسخ داده [5] => رد کردن تماس [8] => سرگرم ( مشغول ) [11] => شماره نادرست [12] => پذیرش نشدن پیوست آوا ) ) ) [messageid] => 501 ) 
                        

گرفتن ریز پیام آوا

متد parsip.get_voice_detail

گرفتن چگونگی هر شماره با voiceid ( گرفتن ریز پیام آوا )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • voiceid : این پارامتر از متد parsip.send_voice به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست ریز پیامک آوا با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_voice_detail",array($username,$password,390,1,20));
                    print_r($feature);
    
?>
?>

نمونه خروجی متد parsip.get_voice_detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        stdClass Object ( [message] => نمایش ریز پیامک آوا « تست » [status] => 1 [data] => stdClass Object ( [loop] => Array ( [0] => stdClass Object ( [number] => 091388844467 [reason] => 4 [try] => 0 [duration] => 7 [code] => ) [1] => stdClass Object ( [number] => 09906687925 [reason] => 4 [try] => 0 [duration] => 7 [code] => ) [2] => stdClass Object ( [number] => 09135555555 [reason] => 4 [try] => 0 [duration] => 11 [code] => ) ) [pagination] => Array ( [0] => stdClass Object ( [next_page] => 1 [prev_page] => 1 [last] => 1 [number_page] => 1 [loop_sub] => Array ( [0] => stdClass Object ( [page] => 1 [class] => page ) ) [record] => 3 ) ) ) [messageid] => 905 )  
                        

نمونه فرم گرفتن چگونگی هر شماره پیامک آوا با کد پیگیری آن

متد parsip.get_voice_detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد parsip.send_voice اگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : زنگ نخورده
  • 3 : بدون پاسخ
  • 4 : پاسخ داده
  • 5 : رد کردن تماس
  • 8 : سرگرم ( مشغول )
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست چگونگی هر شماره پیامک آوا با کلاس بالا

Copy

                       $feature = $soap->request("parsip.get_voice_detail_by_id",array($username,$password,array( 34276 ) ) );
                       print_r($feature);
    
?>

نمونه خروجی متد parsip.get_voice_detail_by_id

در زیر خروجی نمایش داده شده است
Copy

                        stdClass Object ( [message] => نمایش داده ها [status] => 1 [data] => Array ( [0] => stdClass Object ( [id] => 109 [number] => 099066444444 [try] => 0 [duration] => 6 [voiceid] => 430 [code] => [reason] => 4 ) ) [messageid] => 151001 )

برای گرفتن داده های متد parsip.send_voice ( priceid, callerid , ... )

متد parsip.get_voice_feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست و یژگی های پیامک آوا با کلاس بالا

Copy

                    $feature = $soap->request("parsip.get_voice_feature",array($username,$password));
                    print_r($feature);
    
?>
?>

نمونه خروجی متد parsip.get_voice_feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       stdClass Object ( [message] => نمایش داده های پیامک آوا [status] => 1 [data] => stdClass Object ( [loop_number] => Array ( [0] => stdClass Object ( [id] => 169 [title] => 91023133 ) [1] => stdClass Object ( [id] => 175 [title] => 91025168 ) [2] => stdClass Object ( [id] => 179 [title] => 910291025169 ) ) [loop_price] => Array ( [0] => stdClass Object ( [id] => 1051 [title] => نرخ پایه پیام صوتی کاربران صندوق [duration] => 1 [price_in] => 214 [price_out] => 260 [price_out_n] => 205 [price_fax] => 400 [price_otp] => 0 ) ) ) [messageid] => 301 ) 
                        

فرستادن رمز یک بار مصرف

متد parsip.send_otp

ارسال رمز یک بار مصرف برای پویش هایی که از قبل توسط voice/send ساخته شده باشند

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • voiceid : شماره پویشی که از قبل توسط متد voice/send ساخته شده است
  • numbers : شماره هایی که پیامک آوا باید به آن فرستاده شود
  • code : رمز یک بار مصرفی که برای مخاطب ارسال می گردد

نمونه به کاربرد متد parsip.send_otp

Copy

                        $feature = $soap->request("parsip.send_otp",array($username,$password,501,array("09138731111"),110));
                        print_r($feature);    
  ?>

نمونه خروجی متد parsip.send_otp

Copy

                        stdClass Object ( [message] => رمز یک بار مصرف ثبت شد [status] => 1 [data] => stdClass Object ( [id] => 304 ) [messageid] => )     
                                    

فرستادن فکس

متد send_fax


پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • uniqid : باید یک شماره باشد. اگر شماره پیش از این به کار گرفته شده باشد به شما پیام داده میشود.
  • title : دیباچه فکس
  • try : شمار تلاش
  • try_interval : بازه زمانی تلاش
  • numbers : شماره هایی که فکس باید به آن فرستاده شود
  • date : زمان فرستادن که باید به گونه روبرو باشد : yyyy/mm/dd hh:ii
  • calculate : ارزیابی هزینه فکس که اگر برابر با یک باشد هزینه ی این فکس را بر میگرداند و اگر صفر باشد، پیام فرستاده میشود.
  • files : باید آی دی پیوست ها و از گونه آرایه باشد. ( میتوانید چند پیوست را پشت سر هم برای کاربری که به آن زنگ میخورد پخش کنید ) این آی دی ها را میتوانید از متد upload/add بگیرید. ( پیش از فرستادن فکس باید یک پیوست را بارگزاری کنید و آی دی آن را داشته باشید. )
  • kind: گونه فکس که فعلا میتواند فقط از نوع فکس عادی باشد ( فکس عادی: ۱ )
  • return_ids: این پارامتر اگر یک باشد برای همه ی شماره ها یک کد پیگیری به شما میدهد که با به کار بردن متد get_fax_detail_by_id میتوانید چگونگی تک تک شماره ها را جداگانه دریافت کنید. ( در این روش به دلیل به کار نبردن Transaction سرعت Insert پایین هست. پس در هر درخواست شمار شماره هایتان زیاد نباشد. )
  • priceid: اگر خالی باشد هزینه با پکیج کمتر پیش انگار گزینش میشود و یا اینکه شما میتوانید خودتان یک پکیج را گزینش کنید. اگر میخواهید خودتان یک پکیج را گزینش کنید متد get_fax_feature را به کار ببرید.
  • callerid: شماره ای که با آن پیام را میفرستید. پیش انگار : 91026058
  • در صورت داشتن یک لیست قیمت و یک شماره نیاز به تنظیم priceid و callerid نمی باشد

در زیر ما به وسیله زبان php به شما چگونگی به کار بردن soap را نشان خواهیم داد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

فرستادن فکس با کلاس بالا

Copy

                      $feature = $soap->request("parsip.send_fax",array($username,$password,0,"تست", "1","", array("09138731111"),"",0,array(1328)));
                      print_r($feature);
    
  ?>

نمونه خروجی متد send_fax

Copy
stdClass Object ( [message] => درخواست فرستادن فکس افزوده شد ارسال فکس حدود یک دقیقه زمان می برد. [status] => 1 [data] => stdClass Object ( [id] => 505 [duration] => 180 ) [messageid] => 100 ) 

اطلاعات فکس

متد parsip.get_fax_info

اطلاعات فکس
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • faxid : این پارامتر از متد parsip.send_fax به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

گرفتن اطلاعات فکس با کلاس بالا

در زیر شیوه بارگزاری پیوست با متد request را میتوانید ببینید :
Copy
<meta charset="utf-8" />
                         $feature = $soap->request("parsip.get_fax_info",array($username,$password,390));
                         print_r($feature);
    
?>

نمونه خروجی متد parsip.get_fax_info

در زیر خروجی به همراه راهنمای وضعیت ارسال فکس و وضعیت ارسال قابل مشاهده می باشد
Copy

                        stdClass Object ( [message] => نمایش داده های فکس [status] => 1 [data] => stdClass Object ( [id] => 464 [state] => 1 [state_send] => 4 [duration] => 0 [count] => 1 [sent] => 1 [complete] => 1 [reason0] => 0 [reason3] => 0 [reason4] => 0 [reason5] => 1 [reason8] => 0 [start_date] => 1627475517 [end_date] => 1627475526 [count_wrong_number] => 0 [status] => stdClass Object ( [state_send] => Array ( [0] => در حال ساخت فایل فکس [1] => فرستاده نشده [2] => فرستادن [3] => به پایان رسیده [4] => بازگشت هزینه و سود ) [reason] => stdClass Object ( [0] => زنگ نخورده [3] => بدون پاسخ [4] => پاسخ داده [5] => رد کردن تماس [8] => سرگرم ( مشغول ) [11] => شماره نادرست [12] => پذیرش نشدن پیوست آوا ) ) ) [messageid] => 501 )

گرفتن ریز فکس

متد parsip.get_fax_detail

گرفتن چگونگی هر شماره با faxid ( گرفتن ریز فکس )
پارامتر های این متد را در زیر شفاف سازی کرده ایم :

  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • faxid : این پارامتر از متد parsip.send_fax به شما برگشت داده میشود.
  • page : شماره ی برگه میباشد.
  • each_page : شمار داده ها در هر برگه میباشد. اگر برابر با -۱ باشد همه ی داده ها یکجا به شما برگشت داده خواهد شد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست ریز فکس با کلاس بالا

Copy

                         $feature = $soap->request("parsip.get_fax_detail",array($username,$password,390));
                         print_r($feature);
    
?>
?>

نمونه خروجی متد parsip.get_fax_detail

در زیر خروجی را به همراه اطلاعات صفحه نمایش داده شده است
Copy

                        stdClass Object ( [message] => نمایش ریز فکس « وب سرویس » [status] => 1 [data] => stdClass Object ( [loop] => Array ( [0] => stdClass Object ( [number] => 09138739467 [reason] => 5 [try] => 0 [duration] => 0 ) ) [pagination] => Array ( [0] => stdClass Object ( [next_page] => 1 [prev_page] => 1 [last] => 1 [number_page] => 1 [loop_sub] => Array ( [0] => stdClass Object ( [page] => 1 [class] => page ) ) [record] => 1 ) ) ) [messageid] => 905 )  

نمونه فرم گرفتن چگونگی هر شماره فکس با کد پیگیری آن

متد parsip.get_fax_detail_by_id

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • ids:‌آی دی تک تک شماره ها که در متد parsip.send_faxاگر پارامتر return_ids برابر با یک باشد به شما برای هر شماره یک Id بر میگرداند که آنرا میتوانید اینجا به کار ببرید.

چگونگی شماره ها

  • 0 : زنگ نخورده
  • 3 : بدون پاسخ
  • 4 : پاسخ داده
  • 5 : رد کردن تماس
  • 8 : سرگرم ( مشغول )
  • 11 : شماره نادرست

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست چگونگی هر شماره فکس با کلاس بالا

Copy

                        $feature = $soap->request("parsip.get_fax_detail",array($username,$password,aaray(390)));
                        print_r($feature);
    
?>

نمونه خروجی متد parsip.get_fax_detail_by_id

در زیر خروجی نمایش داده شده است
Copy

                        stdClass Object ( [message] => نمایش داده ها [status] => 1 [data] => Array ( [0] => stdClass Object ( [id] => 830 [number] => 0913111111 [try] => 0 [duration] => 0 [faxid] => 379 [reason] => 5 ) ) [messageid] => 151001 ) 
                        

برای گرفتن داده های متد parsip.send_fax ( priceid, callerid , ... )

متد parsip.get_fax_feature

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست و یژگی های فکس با کلاس بالا

Copy

                        $feature = $soap->request("parsip.get_fax_feature",array($username,$password));
                         print_r($feature);
    
?>

نمونه خروجی متد parsip.get_fax_feature

در زیر همان گونه که میبینید لیست قیمت به همراه شماره پنل بازگشت داده شده است.
Copy

                       stdClass Object ( [message] => نمایش داده های فکس [status] => 1 [data] => stdClass Object ( [loop_number] => Array ( [0] => stdClass Object ( [id] => 169 [title] => 91023133 ) [1] => stdClass Object ( [id] => 175 [title] => 91025168 ) [2] => stdClass Object ( [id] => 179 [title] => 910291025169 ) ) [loop_price] => Array ( [0] => stdClass Object ( [id] => 1051 [title] => نرخ پایه پیام صوتی کاربران صندوق [duration] => 1 [price_in] => 14 [price_out] => 60 [price_out_n] => 105 [price_fax] => 300 ) ) ) [messageid] => 301 )  
                        

نمایش ریز کاربری

متد parsip.get_user_info

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست ریز اطلاعات کاربر با کلاس بالا

Copy

                        $feature = $soap->request("parsip.get_user_info",array($username,$password));
                        print_r($feature);
    
?>

نمونه خروجی متد parsip.get_user_info

در زیر همان گونه که میبینید اطلاعات کاربر بازگشت داده شده است.
Copy

                       stdClass Object ( [message] => نمایش شناسنامه کاربری [status] => 1 [data] => stdClass Object ( [id] => 1956 [name] => محمدی [email] => r@gmail.com [cash] => 321185 ) [messageid] => 601 )    
                        

افزودن کاربر

متد parsip.add_user

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • admin_user : شناسه کاربری نمایندگی
  • admin_pass : گذرواژه نمایندگی
  • firstname : نام
  • lastname : نام و خانوادگی
  • email : ایمیل
  • mobile : موبایل
  • password : گذرواژه

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

افزودن کاربر با کلاس بالا

Copy

                        $feature = $soap->request("parsip.add_user",array("skamali2020","123456","testsoap","test","b@a.com","0913888888","test555"));
                        print_r($feature);
    
  ?>

نمونه خروجی متد parsip.add_user

در زیر همان گونه که میبینید اطلاعات کاربر بازگشت داده شده است.
Copy

                       stdClass Object ( [message] =>" کاربری با موفقیت ساخته شد ",[status]=>1,[data]=>[],[messageid]=>33007)    
                        

ست کردن api_key و به کار بردن آن به جای username و password

متد parsip.get_user_set_api_key

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • api_key : میتوانید به جای به کاربردن username و password در متد ها اینجا یکبار برای خودتان api_key ست کنید و در username عبارت ap را به کار ببرید و password را با api_key خود کامل کنید.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy
<meta charset="utf-8" />
                        <?php
                        
                        class rest_client {
                          var $ch, $url, $data;
                        
                          public static $instance;
                          public static function get_instance( $url = '', $data = array() ) {
                            
                            if( ! self::$instance ) {
                              self::$instance = new self( $url, $data );
                            }
                        
                            return self::$instance;
                          }
                        
                          function rest_client( $url, $data ) {
                            $this->url = $url;
                            $this->data = $data;
                            $this->ch = curl_init();
                            curl_setopt($this->ch, CURLOPT_HEADER, false);
                            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            return $this;
                          }
                        
                          function request( $req, $params = array(), $callback = '' ) {
                            curl_setopt($this->ch, CURLOPT_URL,$this->url.$req );
                        
                            curl_setopt($this->ch, CURLOPT_POST,1);
                            curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data + $params );
                        
                            $response = curl_exec ($this->ch);
                        
                            //echo $response;
                            $result = json_decode( $response );
                        
                            if( (int)$result->status  === 1 && ! empty( $callback ) ) {
                              $callback( $result->data );
                            }
                        
                            return $result;
                          }
                        
                          function estruct() {
                            curl_close ( $this->ch );
                          }
                        
                        }
                        
                        
                        function rest( $url = '', $data = array() ) {
                          return rest_client::get_instance( $url, $data );
                        }
                        
                        //intialize rest client instance
                        rest( 'http://otp.safironline.ircustomer/rest/', array( 'username' => '09131111111', 'password' => '123456' ) );
                                                            

درخواست api_key با کلاس بالا

Copy

                        $feature = $soap->request("parsip.get_user_set_api_key",array($username,$password,"api_key" => "testsoap"));
                        print_r($feature);
    
  ?>
?>

نمونه خروجی متد parsip.get_user_set_api_key

خروجی به شکل زیر می باشد.
Copy

                       stdClass Object ( [message] =>تنظیم کردن کلید وب سرویس",[status]=>1,[data]=>[[id]=>[1956],[api_key]=>[rkh2222=>test],[messageid]=>null])    
                        

لیست پکیج های کاربری

متد parsip.get_price_list

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست پکیج کاربری با کلاس بالا

Copy

                      $feature = $soap->request("parsip.get_price_list",array($username,$password));
                      print_r($feature);
    
  ?>
?>

نمونه خروجی متد parsip.get_price_list

خروجی به شکل زیر می باشد.
Copy

                       stdClass Object ( [message] => نرخ نامه ی شما [status] => 1 [data] => Array ( [0] => Array ( ) [1] => Array ( [0] => stdClass Object ( [id] => 1051 [title] => نرخ پایه پیام صوتی کاربران صندوق [price_in] => 214 [price_out] => 260 [price_out_n] => 105 [price_fax] => 300 [max] => 100000000 [min] => 0 [duration] => 1 ) ) [2] => Array ( [0] => stdClass Object ( [id] => 11 [title] => نرخ پایه پیامک کاربران صندوق [price_irancell_fa] => 233 [price_irancell_en] => 310 [price_mci_fa] => 323 [price_mci_en] => 310 [price_rightel_fa] => 323 [price_rightel_en] => 310 [max] => 10000000 [min] => 0 ) ) ) [messageid] =>     
                        

چک کردن وجود نام کاربری

متد parsip.check_username

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • name : نام کاربری که می خواهید آن را جستجو کنید

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

جستجو نام کاربری با کلاس بالا

Copy

                     $feature = $soap->request("parsip.check_username",array($username,$password,"sk"));
                      print_r($feature);
    
  ?>
?>

نمونه خروجی متد parsip.check_username

خروجی به شکل زیر می باشد.
Copy

                       stdClass Object ( [message] => تعداد نام کاربری های یافت شده [status] => 1 [data] => stdClass Object ( [count] => 0 ) [messageid] => )      
                        

افزودن دارایی به کاربر که باید با متد parsip.approve_cash پذیرش شود.

متد parsip.add_cash

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • title : عنوان
  • price :پول که باید به ریال باشد.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

افزایش دارایی کاربر با کلاس بالا

Copy

                      $feature = $soap->request("parsip.add_cash",array($username,$password,"test","10000"));
                      print_r($feature);
    
  ?>

نمونه خروجی متد parsip.add_cash

خروجی به شکل زیر می باشد id بازگشت شده جهت متد cash/approve نیاز می باشد .
Copy

                       stdClass Object ( [message] => این درخواست افزوده شد و پس از پذیرش دارایی شما افزوده خواهد شد. [status] => 1 [data] => stdClass Object ( [id] => 15581 ) [messageid] => )       
                        

پذیرش دارایی افزوده شده برای کاربر.

متد approve_cash

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • admin_user : شناسه کاربری نمایندگی
  • admin_pass : گذرواژه نمایندگی
  • cashid :باید از متد add_cash گرفته شود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

پذیرش دارایی کاربر با کلاس بالا

Copy

                      $feature = $soap->request("parsip.approve_cash",array($username,$password,"15581"));
                      print_r($feature);
    
  ?>

نمونه خروجی متد approve_cash

خروجی به شکل زیر می باشد.
Copy

                       {"message":"ویرایش انجام شد","status":1,"data":[],"messageid":null}      
                        

پیش نویس شماره برای استفاده در parsip.send_voice و parsip.send_sms

متد parsip.draft_add

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست پیش نویس شماره ها با کلاس بالا

Copy

                         $feature = $soap->request("parsip.draft",array($username,$password));  
                         print_r($feature);
    
?>

نمونه خروجی متد parsip.draft_add

در زیر همان گونه که میبینید یک id به شما بازگشت داده شده است که در متد parsip.draft_numbers و parsip.draft_status به آن نیاز دارید
Copy

                       stdClass Object ( [message] => ریز داده های ناماندگار شما [status] => 1 [data] => stdClass Object ( [id] => 5 ) [messageid] => 12001 )    
                        

گرفتن وضعیت پیش نویس شماره ها

متد parsip.draft_numbers

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • draftid : این پارامتر از متد parsip.draft_add به شما برگشت داده میشود.
  • numbers : شماره هایی که می خواهید در این پیش نویس ثبت شود(به صورت آرایه باشد)

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

افزودن شماره ها به پیش نویس با کلاس بالا

Copy

                         $feature = $soap->request("parsip.draft_numbers",array($username,$password,1,array("09131111111","09131111111")));  
                         print_r($feature);
    
?>

نمونه خروجی متد parsip.draft_numbers

Copy

                       stdClass Object ( [message] => شماره ها افزوده شد. [status] => 1 [data] => stdClass Object ( [count] => 1 ) [messageid] => 12002 )     
                        

گرفتن وضعیت پیش نویس شماره ها

متد parsip.draft_status

پارامتر های این متد را در زیر شفاف سازی کرده ایم :
  • username : شناسه کاربری
  • password : گذرواژه کاربری
  • draftid : این پارامتر از متد parsip.draft_add به شما برگشت داده میشود.

یک کلاس ساده برای فرستادن درخواست

در زیر من کلاسی را برای شما آماده کردم که به سادگی میتوانید درخواست خود را برای ما بفرستید.
Copy

    <meta charset="utf-8" />
    ini_set("soap.wsdl_cache_enabled", "0");
        class soap_client{
            public $client;
                   
            private function init(){
                
                $wsdl='http://otp.safironline.ir\webservice/ws.php?wsdl';
                
                try {
                     $this->client=new soapclient( $wsdl );                 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                     exit();
                }
                
            }
            
            public function request($method,$param){
               $this->init(); 
               try {
                     $response = $this->client->__call($method, $param );
                    
                     $result = json_decode( $response);
                     $feature = $result->data;
                     return $feature; 
                } catch( SoapFault $e ) {              
                     var_dump( $e );
                } 
            }
    
        }
         
        $soap = new soap_client();
        
        $username = "rkh2000";
        $password = "123456";
                                        

درخواست وضعیت پیش نویس شماره ها با کلاس بالا

Copy

                        $feature = $soap->request("parsip.draft_status",array($username,$password,5));  
                        print_r($feature);
    
?>

نمونه خروجی متد parsip.draft_status

Copy

                       stdClass Object ( [message] => وضعیت شماره ای افزوده شده. [status] => 1 [data] => stdClass Object ( [id] => 5 [count] => 1 ) [messageid] => 12006 )