یکی از خدمات جدید وب سرویس در سامانه پیام کوتاه رنگینه امکان ارسال پیامک خدماتی سریع و بدون مانیتورینگ با استفاده از الگوهای از پیش تعریف شده است. در ادامه نحوه استفاده از الگوها را مشاهده خواهید نمود:
در بخش ارسال بر اساس پترن سامانه امکان درج الگوی جدید بر اساس نیاز کاربر وجود دارد. [1]

کاربر با ایجاد یک الگو که شامل متغیرهایی در متن پیامک هست مقدمه ارسال بر اساس الگو را فراهم میکند. سامانه به ازای هر الگوی تعریف شده یک کد ارائه میکند. در اینجا با یک مثال این کار را انجام می دهیم:

به عنوان مثال متن زیر را می خواهیم تبدیل به الگو کنیم:
نمونه متن :

سلام مشتری گرامی، سفارش شما تایید شد.
کد سفارش شما: 123456
فروشگاه کالای نمونه

این متن را به شکل زیر برای ثبت الگو استفاده می کنیم:

سلام مشتری گرامی، سفارش شما تایید شد.
کد سفارش شما: %order- code%
فروشگاه کالای نمونه

هنگامی که این الگو در سامانه پیامک ثبت شود کدی مانند: VdFTDc را به شما ارائه میکند. بعد از چند ساعت الگو توسط بخش مانیتورینگ مشاهده و در صورتی که مورد تایید بود این الگو فعال میشود. در صورتی که متن پیشنهاد شده خدماتی تشخیص داده نشود با ذکر علت رد شده و در همان صفحه ارسال بر اساس پترن نمایش داده می شود.
 

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

 

نمونه کد ارسال بر اساس الگو با SOAP:


$client = new SoapClient("http://sms.rangine.ir/class/sms/wsdlservice/server.php?wsdl");
$user = "USERNAME"; // در اینجا نام کاربری پنل را وارد نمایید
$pass = "PASSWORD"; // در اینجا پسوورد پنل کاربری خودتان را وارد نمایید.
$fromNum = "+98100020400"; // در اینجا شماره خط خدماتی سامانه را وارد نمایید
$toNum = array("9120000000"); // لیست گیرندگان را به صورت آرایه در اینجا درج کنید
$pattern_code = "VdFTDc"; // کد الگوی مورد نظر را ایجا وارد کنید
$input_data = array(
                          "order-code" => "12588" // متغیرهای موجود در الگو را با همان نامی که در الگو مشخص شده و به این صورت وارد کنید.
                           );
$result = $client -> sendPatternSms($fromNum,$toNum,$user,$pass,$pattern_code,$input_data);

توجه داشته باشید که در بخش input_data تمام متغیرها را با محتوایش به صورت آرایه ایجاد کنید. بین عناصر آرایه علامت کاما باید درج شود. به مثال زیر برای یک الگوی چند متغیره توجه کنید. متن پیامک این الگو به این شکل است:

کاربر گرامی، از اینکه عضو  %system-name% شدید سپاسگزاریم .
کد تایید شما %verification-code %می باشد.
 این کد تا زمان %time%تاریخ %date%اعتبار دارد.

پس  دو خط زیر در کد بالا تغییر می کند:

$pattern_code = "00000"; // کد الگو که سامانه به شما داده است
$input_data = array(// متغیرهای موجود در الگو
                          "system-name" => "سایت رنگینه" ,
                          "verification-code" => "12588" ,
                          "time" => "24:00" ,
                          "date" => "96/8/30"
                           );

 

نمونه پیاده شده ارسال از طریق وب سرویس و الگوها را در پنل سمت راست همین صفحه(در موبایل زیر این صفحه) می توانید مشاهده و تست کنید. [1]

نمونه کد ارسال بر اساس الگو با cUrl:


$username = "USERNAME"; // در اینجا نام کاربری پنل را وارد نمایید
$password = "PASSWORD"; // در اینجا پسوورد پنل کاربری خودتان را وارد نمایید.
$from = "+98100020400"; // در اینجا شماره خط خدماتی سامانه را وارد نمایید
$pattern_code = "VdFTDc"; // کد الگوی مورد نظر را ایجا وارد کنید
$to = array("9120000000"); // لیست گیرندگان را به صورت آرایه در اینجا درج کنید
$$input_data = array(// متغیرهای موجود در الگو

                          "system-name" => "سایت رنگینه" ,
                          "verification-code" => "12588" ,
                          "time" => "24:00" ,
                          "date" => "96/8/30"
                           );

$url = "http://sms.rangine.ir/patterns/pattern?username=".$username."&password=".urlencode($password)."&from=$from&to=".json_encode($to)."&input_data=".urlencode(json_encode($input_data))."&pattern_code=$pattern_code";
$handler = curl_init($url);             
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($handler, CURLOPT_POSTFIELDS, $param);                       
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handler);
 
if (is_array($response2)) { // اگر پاسخ سرور آرایه باشد ارسال پیام موفق نبوده است
    $res_code = $response2[0]; // کد خطا
    $res_data = $response2[1]; // پیام خطا
    $errorCodes = array( //لیست کدهای خطای ارسال بر اساس الگو
        '962' => 'نام کاربری و رمز عبور اشتباه است!',
        '971' => 'کد الگو وجود ندارد!',
        '970' => 'متغیرها درست نیستند!',
        '972' => 'شماره گیرنده درست نیست!',
    );
    $status = 'failed'; 
    if (isset($errorCodes[$res_code])) {
        echo  $errorCodes[$res_code]; // نمایش خطا در صورتی که در لیست خطاها باشد
    } else {
        echo  $res_data.' - Error Code:'.$res_code; // نمایش خطای بازگشتی در صورتی که کد خطا در لیست خطاها نباشد
    }
} else { // اگر پاسخ سرور آرایه نباشد پیام با موفقیت ارسال شده و یک عدد به عنوان شماره پیامک ارسالی بازمیگرداند.
    echo  $response';
}

 

  • 1 [2]
  • 2 [3]
  • 3 [4]
  • 4 [5]
  • 5 [6]
تعداد امتیازدهندگان: 1611
مسیر کوتاه: rangine.ir/node/1153