پی اچ پی (PHP) یکی از زبانهای پرکاربرد توسعۀ وب است که بهدلیل سادگی، هزینۀ مناسب، سازگاری با پایگاههای دادۀ مختلف و استفاده در ابزارهایی مانند وردپرس، WHMCS و فریمورک لاراول، همچنان طرفداران زیادی دارد.
سامانۀ ملی پیامک با ارائۀ وبسرویس، پلاگینهای متنباز، مخزن اختصاصی در گیتهاب، نمونهکدهای آماده و «کنسول ملی پیامک» مبتنی بر REST API و Auth Token، فرصت افزودن قابلیت ارسال پیامک به پروژههای PHP را فراهم کرده است.
در این گزارش، روشهای ارسال پیامک با PHP و استفاده از وبسرویس ملی پیامک را مرور میکنیم.
برای استفاده از Web API در PHP بهطور کلی دو روش وجود دارد:
پس از پردازش درخواست در درگاه پیامکی، پیام برای شمارۀ مقصد ارسال میشود.
وبسرویس ملی پیامک از هر دو روش پشتیبانی میکند.
کاربران میتوانند طبق نیاز پروژه با استفاده از مستندات و نمونهکدهای موجود، قابلیت ارسال پیامک را به سایت یا وباپلیکیشن خود اضافه کنند.
برای استفاده از SOAP باید افزونۀ مربوط به آن روی سرور فعال باشد. در روش REST نیز معمولاً از cURL یا کتابخانههای مشابه برای ارسال درخواست استفاده میشود. بهدلیل سادگی پیادهسازی، روش REST در بسیاری از پروژهها کاربرد بیشتری دارد.
برای استفاده از سرویس REST در PHP معمولاً کتابخانۀ cURL پیشنهاد میشود. در این روش، دادهها از طریق پروتکل HTTP یا HTTPS ارسال شده و نوع درخواست و پارامترهای موردنیاز هر متد در مستندات رسمی وبسرویس تأیید شده است.
گزارشها موردنیاز هر درخواست، مطابق ساختار مشخصشده در مستندات API برای وبسرویس ارسال میشوند. امنیت این ارتباط به استفاده از HTTPS، شیوۀ احراز هویت و نحوۀ نگهداری دادهها دسترسی بستگی دارد
پروتکل SOAP قدمت بیشتری نسبت به REST دارد و برای استفاده از آن میتوان از کلاس SoapClient در PHP کمک گرفت. این کلاس قابلیت ارسال درخواست، دریافت پاسخ و فراخوانی متدهای وبسرویس را فراهم میکند.
برای استفاده از این روش باید افزونۀ SOAP روی سرور فعال باشد؛ در غیر این صورت، PHP قادر به ارسال و پردازش درخواستهای SOAP نخواهد بود. بنابراین پیش از پیادهسازی، از فعالبودن این افزونه روی سرور یا هاست خود مطمئن شوید.
اگر هنگام اتصال به وبسرویس با خطای مربوط به SOAP یا بارگذاری WSDL مواجه شدید، ابتدا فعالبودن افزونۀ SOAP را تحلیل کنید. در صورت غیرفعالبودن، میتوانید از پشتیبانی هاست بخواهید آن را فعال کند یا از ابزار مدیریت سرور و هاست کمک بگیرید.
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://api.payamak-panel.com/post/send.asmx?wsdl' : failed to load external entity "https://api.payamak-panel.com/post/send.asmx?wsdl"
کلاسها و بخشهای وبسرویس ملی پیامک
وبسرویس ملی پیامک بخشها و متدهای مختلفی برای ارسال و مدیریت پیامک دارد. مهمترین بخشهای آن شامل ارسال پیامک، پیامک پترن، دریافت پیامک، دفترچه تلفن و مدیریت کاربران نمایندگی است.
فهرست دقیق متدها همراه با مستندات و نمونهکدها در صفحۀ مستندات وبسرویس ملی پیامک قرار دارد. توسعهدهندگان میتوانند مطابق نیاز پروژه از نمونهکدهای سایت یا پکیجهای موجود در گیتهاب ملی پیامک استفاده کنند.
در بخش ارسال، متدهای مختلفی مانند ارسال پیامک به یک یا چند مخاطب، دریافت وضعیت تحویل، مشاهدۀ پیامکهای ارسالشده و دریافتشده، ارزیابی اعتبار و ارسال رمز یکبارمصرف وجود دارد.
برای مشاهدۀ اطلاعات متدها و نمونهکدهای PHP به بخش مستندات وبسرویس ارسال پیامک مراجعه کنید.
خطوط پیامکی بهطور کلی در دو گروه تبلیغاتی و خدماتی قرار میگیرند. خطوط تبلیغاتی برای ارسال پیامهای تبلیغاتی استفاده میشوند؛ اما خطوط خدماتی مخصوص پیامهای اطلاعرسانی و خدماتی هستند. ارسال محتوای تبلیغاتی از خطوط خدماتی مجاز نیست.
برخی مشترکان دریافت پیامک از خطوط تبلیغاتی را مسدود کردهاند که اصطلاحاً در «لیست سیاه مخابرات» قرار دارند. برای ارسال پیامهای ضروری و اطلاعرسانی به این شمارهها باید از مسیرهای خدماتی مجاز استفاده کرد.
دریافت خط خدماتی اختصاصی شرایط مشخصی دارد که در صفحۀ خطوط خدماتی بیان داده شده است. کاربرانی که خط خدماتی اختصاصی ندارند برای پیامهای اطلاعرسانی از سرویس پترن یا خط خدماتی اشتراکی ملی پیامک استفاده میکنند.
در این روش، متن پیام از قبل در قالب یک الگو ثبت و تأیید میشود و متغیرهایی مانند نام کاربر یا کد تأیید هنگام ارسال جایگزین میشوند. این سرویس با نامهایی مانند ارسال پترن و ارسال طبق الگو نیز شناخته میشود. برای مشاهدۀ روشهای موجود و نمونهکدهای PHP به بخش مستندات وبسرویس پیامک پترن مراجعه کنید.
این بخش برای مشاهدۀ پیامهای دریافتی، دریافت تبیینات پیام، ارزیابی پیامکها در بازههای زمانی مختلف، انتقال پیامهای دریافتی و حذف پیام کاربرد دارد.
برای مشاهدۀ متدها و نمونهکدهای PHP، بخش مستندات وبسرویس دریافت پیامک را مطالعه کنید.
وبسرویس دفترچه تلفن توانایی ایجاد گروه، افزودن مخاطب، تحلیل وجود شماره، مشاهدۀ اطلاعات گروهها و ویرایش یا حذف مخاطبان را فراهم میکند.
اطلاعات این متدها و نمونهکدهای PHP در بخش مستندات وبسرویس دفترچه تلفن قرار دارد.
کاربران دارای پنل نمایندگی میتوانند از این بخش برای مدیریت کاربران خود استفاده کنند. افزودن کاربر، دریافت مشخصات و اعتبار، مدیریت تراکنشهای مالی و تغییر اعتبار، ازجمله قابلیتهای این بخش است. تواناییات مربوط به ثبت و پیگیری تیکت نیز از طریق بخش تیکت وبسرویس نمایندگی در دسترس قرار دارد.
مستندات و نمونهکدهای PHP این بخش در صفحۀ وبسرویس کاربران و نمایندگان قابل مشاهده است.
ملی پیامک برای اتصال پروژههای PHP به وبسرویس و ارسال پیامک، سه مسیر در اختیار توسعهدهندگان قرار داده است. کاربران میتوانند بر پایه نیاز پروژه از پکیجهای گیتهاب، نمونهکدهای مستندات یا کنسول ملی پیامک استفاده کنند.
پکیجهای وبسرویس برای زبان PHP و فریمورک لاراول در گیتهاب ملی پیامک ارائه شدهاند. این پکیجها توانایی دسترسی به متدهای مختلف وبسرویس را فراهم میکنند و توسعهدهندگان میتوانند آنها را در پروژههای خود نصب و استفاده کنند.
اگر تنها به یک یا چند متد مشخص نیاز دارید، میتوانید از نمونهکدهای موجود در صفحۀ مستندات وبسرویس ملی پیامک استفاده کنید. در این بخش، تبیینات مربوط به پارامترهای ورودی و خروجی و نمونهکد متدهای مختلف در دسترس است.
روش دیگر، استفاده از کنسول ملی پیامک است. این سرویس بر پایۀ REST API فعالیت میکند و احراز هویت در آن از طریق Auth Token انجام میشود؛ بنابراین بهجای قراردادن نام کاربری و رمز عبور در درخواستها، میتوان از توکن دسترسی استفاده کرد.
کنسول ملی پیامک قطعهکدهای آمادهای را نیز در اختیار توسعهدهندگان قرار میدهد تا بتوانند API را با سرعتتر در پروژههای خود پیادهسازی کنند. اطلاعات هر متد، پارامترهای موردنیاز و نحوۀ فراخوانی آن را باید بر پایه مستندات فعلی کنسول ارزیابی کرد.
$url = 'https://console.melipayamak.com/api/send/otp/34bdeb5d************9561a47a74';
$data = array('to' => '09123456789');
$data_string = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
// Next line makes the request absolute insecure
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Use it when you have trouble installing local issuer certificate
// See https://stackoverflow.com/a/31830614/1743997
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
curl_close($ch);
// to debug
// if(curl_errno($ch)){
// echo 'Curl error: ' . curl_error($ch);
// }
جمعبندی ارسال پیامک با php
تا اینجا به تمام روشهای ارسال پیامک با php اشاره کردیم و شما تا حدودی با خدمات ارائهشدۀ سامانه ملی پیامک در این زمینه آشنا شدید.
در صورتی که پنل را تهیه کردید و نیاز به مشاورۀ بیشتر داشتید با کارشناسان ملی پیامک 02163404 تماس بگیرید. علاوه بر این در انتهای همین مطلب میتوانید سوالات بیشتر را برای ما و مخاطبان ملی پیامک بنویسید تا به آنها پاسخ دهیم.
برچسب ها:

