إرسال SMS باستخدام PHP: مكتبات API لـ sms.ru وخدمات أخرى

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

إرسال SMS باستخدام PHP: نظرة عامة على مكتبات API والحلول الجاهزة



في تطبيقات الويب الحديثة، لا تزال وظيفة إرسال رسائل SMS مطلوبة: تأكيد التسجيل، المصادقة الثنائية، إشعارات حالة الطلب. في هذه المقالة، سنشرح كيفية تنفيذ إرسال SMS باستخدام PHP من خلال مكتبات وخدمات API الشائعة. سنستعرض كلاً من SDKs الرسمية والحلول البسيطة باستخدام cURL.



1. اختيار مزود SMS والمكتبة



قبل البدء، يجب التسجيل في إحدى خدمات SMS والحصول على مفتاح API. بالنسبة لـ PHP، هناك عدة خيارات مجربة:



  • sms.ru – خدمة روسية شهيرة بواجهة API بسيطة ومكتبة PHP رسمية.
  • Twilio – عملاق دولي مع SDK قوي لـ PHP (twilio/sdk).
  • ClickSend – خدمة متعددة الاستخدامات تدعم REST API.
  • فئة cURL بسيطة – إذا كنت لا ترغب في ربط تبعيات خارجية.


2. تثبيت المكتبات عبر Composer



للعمل مع Twilio أو ClickSend، من الأفضل استخدام Composer. مثال على التثبيت:



composer require twilio/sdkcomposer require clicksend/clicksend-php


بالنسبة لـ sms.ru، يتم تثبيت المكتبة الرسمية أيضًا عبر Composer:



composer require smsru/smsru


إذا كنت تفضل عدم استخدام مدير التبعيات، يمكنك تنزيل ملفات PHP يدويًا من GitHub أو كتابة فئة خاصة بك باستخدام cURL.



3. مثال على إرسال SMS عبر sms.ru



توفر خدمة sms.ru واجهة API بسيطة وواضحة. فيما يلي مثال على إرسال رسالة باستخدام المكتبة الرسمية:



<?phprequire_once 'vendor/autoload.php';

use SMSRU\\SMSRU;

$sms = new SMSRU('مفتاح_API_الخاص_بك');

$data = new stdClass();$data->to = '79123456789'; // رقم المستلم$data->text = 'رسالة اختبارية'; // نص SMS$data->from = 'MySite'; // اسم المرسل (التوقيع)

$response = $sms->send_one($data);

if ($response->status == 'OK') { echo "تم إرسال الرسالة. المعرف: " . $response->sms_id;} else { echo "خطأ: " . $response->status_text;}?>


هام: يجب مسبقًا تسجيل توقيع المرسل في الحساب الشخصي لـ sms.ru وشحن الرصيد.



4. إرسال SMS عبر Twilio SDK



Twilio هي واحدة من أكثر الخدمات موثوقية للإرسال الدولي. مثال على كود PHP:



<?phprequire_once 'vendor/autoload.php';

use Twilio\\Rest\\Client;

$account_sid = 'معرف_الحساب_الخاص_بك';$auth_token = 'رمز_المصادقة_الخاص_بك';$twilio_number = '+1234567890'; // الرقم الذي تم الحصول عليه من Twilio

$client = new Client($account_sid, $auth_token);

$message = $client->messages->create( '+79123456789', // رقم المستلم [ 'from' => $twilio_number, 'body' => 'مرحبًا من Twilio و PHP!' ]);

echo "تم الإرسال بالمعرف: " . $message->sid;?>


يدعم Twilio الاتصال ثنائي الاتجاه، وwebhooks، والتحقق من حالة التسليم.



5. التنفيذ بدون مكتبات خارجية (cURL)



إذا كنت لا ترغب في ربط Composer، يمكنك كتابة دالة عامة باستخدام cURL. مثال لـ sms.ru:



<?phpfunction sendSms($api_key, $phone, $message) {    $url = 'https://sms.ru/sms/send';    $params = [        'api_id' => $api_key,        'to' => $phone,        'msg' => $message,        'json' => 1    ];

$ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

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

return json_decode($response, true);}

$result = sendSms('

توصيات