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

کسانی که از سیستم های مدیریت محتوا مانند وردپرس، دروپال، یا سیستم های فروشگاهی مانند پرستاشاپ، اپن کارت استفاده میکنند نیازی به کد نویسی ندارند و برای آنها افزونه آماده وجود دارد. کدهای ادامه صفحه برای برنامه نویسانی است که می خواهند سایت یا اپلیکیشن خود را به سامانه پیامک متصل نمایند.

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

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

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

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

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

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

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

 

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

 

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


$client = new SoapClient("http://sms.rangine.ir/class/sms/wsdlservice/server.php?wsdl");
$user = "USERNAME"; // در اینجا نام کاربری پنل را وارد نمایید
$pass = "PASSWORD"; // در اینجا پسوورد پنل کاربری خودتان را وارد نمایید.
$fromNum = "3000505"; // در اینجا شماره خط خدماتی سامانه را وارد نمایید
$toNum = array("9120000000"); // لیست گیرندگان را به صورت آرایه در اینجا درج کنید
$pattern_code = "AAAAAAAA"; // کد الگوی مورد نظر را ایجا وارد کنید
$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"
                           );

 

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

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


$username = "USERNAME"; // در اینجا نام کاربری پنل را وارد نمایید
$password = "PASSWORD"; // در اینجا پسوورد پنل کاربری خودتان را وارد نمایید.
$from = "+983000505"; // در اینجا شماره خط خدماتی سامانه را وارد نمایید
$pattern_code = "AAAAAAAA"; // کد الگوی مورد نظر را ایجا وارد کنید
$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?";
$url .= "username=".$username;
$url .= "&password=".urlencode($password);
$url .= "&from=" . $from;
$url .= "&to=".json_encode($to);
$url .= "&input_data=".urlencode(json_encode($input_data));
$url .= "&pattern_code=".$pattern_code;
$handler = curl_init($url);             
curl_setopt($handler, CURLOPT_CUSTOMREQUEST, "GET");                     
curl_setopt($handler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handler, CURLOPT_CONNECTTIMEOUT, 20); 
curl_setopt($handler, CURLOPT_TIMEOUT, 30);
$response = curl_exec($handler); 
if (curl_errno($handler)) {
    $error= curl_error($handler);
    echo 'خطا در ارتباط با سامانه پیامک. علت خطا: ' . $error;
    exit;
}
 
$result = json_encode($response);
if (is_array($result)) { // اگر پاسخ سرور آرایه باشد ارسال پیام موفق نبوده است
    $res_code = $result[0]; // کد خطا
    $res_data = $result[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';
}

 

تعداد امتیازدهندگان: 4787
مسیر کوتاه: rangine.ir/node/1153