ارسال پیامک با php
پیام رسان بلاگ برنامه نویسان راهنمای کامل ارسال پیامک در php ( کد تایید ، پیامک تکی و … )

راهنمای کامل ارسال پیامک در php ( کد تایید ، پیامک تکی و … )

نوشته ای از پیام رسان
انتشار در تاریخ 8 مرداد 1402
دسته بندی: برنامه نویسان

در نرم افزار ها و سیستم های تحت وب که با زبان php برنامه نویسی شده اند همواره ارسال پیامک یکی از چالش های آن محسوب می شود. در این مقاله بصورت کامل به سوالات برنامه نویسان در رابطه با ارسال پیامک در php پاسخ خواهیم داد و نمونه کد آماده ای را ارائه خواهیم داد.

وب سرویس ارسال پیامک سازگار با زبان PHP

سامانه پیامکی پیام رسان با ارائه وب سرویس ارسال پیامک بصورت رایگان ، امکان اتصال هر نرم افزار و وبسایتی را به پنل اس ام اس را امکان پذیر کرده است.

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

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

برای انکار ابتدا باید در پیام رسان ثبت نام کنید و سپس از طریق منوی برنامه نویسان اقدام به فعالسازی وب سرویس پیامکی خود نمایید.

دریافت api key

وب سرویس پیام رسان بصورت REST API می باشد و به شما یک کلید دسترسی یا همان API KEY جدا اختصاص داده می شود.

نکته اول : شما در هر استفاده از متد هایی که در ادامه معرفی خواهند شد ، به این Apikey نیاز خواهید داشت. در نتیجه می توانید آن را بصورت یک متغیر سراسری یا متغیر ثابت در ابتدای برنامه خود تعریف کنید.

<?php
   $ApiKey  = "YOUR API KEY";
   $Sender = "YOUR SMS SENDER NUMBER";
   $BaseUrl = "http://api.sms-webservice.com/api/V3/";
?>

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

ارسال پیامک کد تایید با php ( بر اساس پترن OTP )

یکی از بهترین روشهای احراز هویت کاربران ارسال پیامک کد تایید برای آنهاست . در این روش شما باید در کد های خود یک عدد 4 یا 6 رقمی تولید کنید و از طریق نمونه کد برنامه نویسی آن را برای وب سرویس پیام رسان ارسال کنید .

سپس کاربر پس از آنکه کد را دریافت کرد ، مقدار کد تایید را در input  مربوطه وارد می کند و شما باید اقدام به اعتبار سنجی آن نمایید .

جهت ارسال پیامک بر اساس پترن  با زبان php  می توانید از نمونه کد زیر استفاده کنید .

<?php
function SendTokenSingle($TemplateKey , $Destination, $param1 , $param2 , $param3){

    $params = array(
        'ApiKey' => $GLOBALS["ApiKey"],
        'TemplateKey' => $TemplateKey,
        'Destination' => $Destination,
        'p1' => $param1,
        'p2' => $param2,
        'p3' => $param3,
    );

    $url = $GLOBALS["BaseUrl"].'SendTokenSingle?' . http_build_query($params);
    $curl = curl_init();
    curl_setopt_array($curl, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
    ));

    $response = curl_exec($curl);
    curl_close($curl);

    return $response;
}
?>

ارسال یک متن به چند شماره با php

چنانچه قصد داشته باشید تا در سیستم خود یک متن پیامک را برای چندین شماره و بصورت پیامک انبوه ارسال نمایید باید از نمونه کد زیر استفاده نمایید .

<?php
function Send($recipients , $text){
        $params = array(
            'ApiKey' =>$GLOBALS["ApiKey"] ,
            'Text' => urlencode($text),
            'Sender' => $GLOBALS['Sender'],
            'Recipients' => $recipients,
        );


        $url = $GLOBALS["BaseUrl"].'Send?' . http_build_query($params);
        $curl = curl_init();
        curl_setopt_array($curl, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_ENCODING => '',
          CURLOPT_MAXREDIRS => 10,
          CURLOPT_TIMEOUT => 0,
          CURLOPT_FOLLOWLOCATION => true,
          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
          CURLOPT_CUSTOMREQUEST => 'GET',
        ));
        $response = curl_exec($curl);
        curl_close($curl);
        return $response;
}
?>

البته توجه داشته باشید این متد بصورت GET است و در یک بار فراخوانی می توانید از 1 پیامک تا حداکثر 99 شماره پیامک ارسال نمایید . در صورت نیاز باید مجددا متد را برای شماره های اضافی فراخوانی نمایید .

اگر میخواهید همین کار را بصورت POST ارسال کنید از نمونه کد زیر استفاده کنید .

<?php
function SendBulk($Destination, $UserTraceId , $Text){
        class Recipients{
            public $Destination;
            public $UserTraceId;
        }
        if(is_array($Destination) && is_array($UserTraceId)){
            $Receptor= [];
            for($i=0; $i < count($Destination) ; $i++){
                $Recipient = new Recipients();
                $Recipient->Destination = $Destination[$i];
                $Recipient->UserTraceId = $UserTraceId[$i];
                array_push($Receptor , $Recipient);
            }

        }else{
            $Recipient = new Recipients();
            $Recipient->Destination = $Destination;
            $Recipient->UserTraceId = $UserTraceId;
            $Receptor = array($Recipient);
        }
        $data = array(
            'ApiKey'=>$GLOBALS["ApiKey"],
            'Text'=> $Text,
            'Sender' => $GLOBALS['Sender'],
            'Recipients'=>$Receptor
        );
        $data_json = json_encode($data);

        $url =  $GLOBALS["BaseUrl"].'SendBulk';
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response  = curl_exec($ch);
        curl_close($ch);
        return $response;
}
?>

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

خب تا اینجای مقاله با چندین متد آشنا شدیم که به شما کمک می کند تا با زبان برنامه نویسی php اقدام به ارسال پیامک OTP و یا پیامک تکی گروهی نمایید .

حال اگر بخواهید با استفاده از زبان پی اچ پی، وضعیت پیام ارسالی داشته باشیم ، نیاز است از این متد استفاده نماییم . در یک درخواست می توان از وضعیت بیش از یک پیام نیز استعلام گرفت .

<?php
function StatusById($Ids){

    $data = array(
        'ApiKey'=>$GLOBALS["ApiKey"],
        'Ids'=> $Ids
    );
    $data_json = json_encode($data);

    $url = $GLOBALS["BaseUrl"].'StatusById';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response  = curl_exec($ch);
    curl_close($ch);
    return $response;
}
?>

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

یکی از امکانات مورد نیاز در پیاده سازی افزونه های وردپرسی ای که با زبان php پیاده سازی می شوند ، امکان مشاهده اعتبار پنل اس ام اس بصورت زنده می باشد .

همچنین در وبسایت هایی که بصورت اختصاصی پیاده سازی می شوند نیز ای قابلیت جذاب است .

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

<?php
function AccountInfo(){

    $data = array(
        'ApiKey'=>$GLOBALS["ApiKey"]
    );
    $data_json = json_encode($data);

    $url =$GLOBALS["BaseUrl"].'AccountInfo';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response  = curl_exec($ch);
    curl_close($ch);
    return $response;
}
?>

این مقاله مفید بود ؟

به این مقاله امتیاز دهید

میانگین رتبه 5 / 5. تعداد رای : 58

هنوز کسی به این مطلب رای نداده ؛ شما اولین نفر باشید !

تحریریه از پیام رسان

پیام رسان

مشتری همیشگی ما خواهید شد . قول میدهیم ! در سامانه پیامکی پیام رسان می توانید به افراد مورد نظر خود پیامک متنی و پیام صوتی ارسال کنید. با ثبت نام پنل رایگان پیام رسان، انواع امکانات جهت ارسال پیامک در اختیار کاربران قرار می گیرد.

ارسال کامنت

ثبت نام ورود