توثيق الرسائل القصيرة
في SMSmobileAPI، نسعى جاهدين لجعل واجهة برمجة التطبيقات الخاصة بنا متوافقة قدر الإمكان مع أي بنية أو منصة.
سواء كنت تستخدم REST أو SOAP أو cURL أو لغات برمجة مختلفة مثل Python و JavaScript و PHP وغيرها، فقد تم تصميم واجهة برمجة التطبيقات الخاصة بنا لتتكامل بسلاسة مع مشاريعك.
لدينا أيضًا مكونات إضافية جاهزة للاستخدام لحلول وبرامج التجارة الإلكترونية.
انقر هنا لاكتشافهم.
إرسال رسالة نصية قصيرة
تتيح لك هذه النقطة النهائية إرسال رسالة نصية قصيرة من هاتفك المحمول.نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| recipients | مطلوب رقم هاتف المستلم. |
| message | مطلوب الرسالة المراد إرسالها (لا يوجد حد أقصى 160 حرفًا). |
| port |
حدد منفذ شريحة SIM المراد استخدامه لإرسال الرسائل النصية القصيرة: 1, 2أو اتركه فارغاً. في حال ترك الحقل فارغاً، سيتم إرسال الرسائل النصية القصيرة تلقائياً باستخدام منفذ شريحة SIM المتاح. هذه الخاصية متاحة بدءًا من إصدار Android 4.1.15.0 ويعمل عندما يكون التطبيق في المقدمة (الخطة الأولى). |
| shorturl | 1 = تحويل عناوين URL إلى روابط مختصرة صفر أو فارغ = لا يوجد تحويل |
| sIdentifiant | حدد الهاتف المتصل الذي سيرسل الرسالة النصية. اترك هذا الحقل فارغًا لاختيار أول جهاز متاح. يتطلب التطبيق الإصدار 3.0.35.3 أو أحدث. |
| sendwa | 1 = إرسال عبر واتساب. |
| sendsms | 1 = إرسال عبر الرسائل النصية (الوضع الافتراضي في حال كان الحقل فارغًا). اضبطه على 0 لحظر الرسائل النصية. |
| encrypt_message | نعم = يحتاج المستلم إلى مفتاح لفك التشفير. يتعلم أكثر |
| schedule_timestamp | الطابع الزمني لنظام يونكس (GMT 0) الذي يجب إرسال الرسالة النصية القصيرة منه. |
مثال:
GET https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEY&recipients=+1234567890&message=HelloWorld
إعادة إرسال رسالة نصية قصيرة غير مرسلة
تُستخدم نقطة نهاية API هذه لإعادة إرسال رسالة نصية قصيرة لم يتم إرسالها (فقط إذا كانت الرسالة تحتوي على حالة خطأ).
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| guid | مطلوب GUID للرسالة التي سيتم إعادة إرسالها. |
مثال:
احصل على https://api.smsmobileapi.com/resend/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE
سجل الرسائل النصية القصيرة المرسلة من واجهة برمجة التطبيقات
يتم استخدام نقطة نهاية واجهة برمجة التطبيقات هذه لاسترداد سجل رسائل SMS المرسلة عبر واجهة برمجة التطبيقات.
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| guid_message | قم بالتصفية حسب المعرف الفريد للرسالة. |
| before | استرجع الرسائل المرسلة قبل هذا الطابع الزمني أو المعرف الفريد العالمي (GUID). |
| error_api | 1 = قائمة الرسائل النصية القصيرة مع خطأ في طلب واجهة برمجة التطبيقات. |
| error_mobile | 1 = قائمة الرسائل النصية القصيرة التي بها خطأ في معالجة الهاتف المحمول. |
| keyword | قم بالتصفية حسب رقم المستلم أو محتوى الرسالة. |
مثال:
احصل على https://api.smsmobileapi.com/log/sent/sms?apikey=YOUR_API_KEY
تم استلام الرسالة النصية القصيرة
يتم استخدام نقطة نهاية واجهة برمجة التطبيقات هذه لاسترداد رسائل SMS المستلمة على الهاتف الذكي.
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الذي لديك أو سوف تتلقاه. |
| sIdentifiantPhone | عزل الهاتف المرتبط بالرسائل النصية القصيرة المستلمة. |
| after_timestamp_unix | تم استلام الرسائل النصية القصيرة من القائمة بعد طابع زمني بنظام يونكس. |
| onlyunread | "نعم" = عرض الرسائل النصية القصيرة فقط التي لم يتم وضع علامة عليها كمقروءة (حالة واجهة برمجة التطبيقات). |
مثال:
احصل على https://api.smsmobileapi.com/getsms/?apikey=YOUR_API_KEY
وضع علامة على رسائل SMS المستلمة كمقروءة
تُستخدم نقطة نهاية واجهة برمجة التطبيقات هذه لتمييز رسالة SMS واحدة مستلمة على أنها مقروءة. حالة واجهة برمجة التطبيقات فقط.
هذا لا يغير حالة القراءة على الهاتف الذكي.
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الذي لديك أو سوف تتلقاه. |
| guid_message | مطلوب معرّف فريد عالمي (GUID) للرسالة المراد وضع علامة عليها كمقروءة. |
مثال:
احصل على https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_APIKEY&guid_message=GUID_MESSAGE
حذف الرسائل النصية القصيرة
تُستخدم نقطة نهاية واجهة برمجة التطبيقات هذه لحذف رسائل SMS من سجل خادم واجهة برمجة تطبيقات SMS Mobile.
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الذي لديك. |
| guid_message | المعرف الفريد للرسالة التي يجب حذفها. |
| date_start | إذا تم استخدامه بمفرده، فسيتم حذف جميع الرسائل من اليوم المحدد. |
| date_start and date_end | مشترك لحذف الرسائل خلال فترة زمنية محددة. |
مثال:
احصل على https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY
ملاحظة: الرسائل النصية المحذوفة هي فقط تلك المخزنة في سجلات الخادم. لن يتم حذف الرسائل النصية الموجودة على الجهاز.
البوابة - قائمة الهواتف المحمولة المتصلة
قائمة الهواتف المحمولة المتصلة بشبكتك بوابة الرسائل القصيرة.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| sid | قم بالتصفية حسب معرف النظام المحدد (sIdentifiant_pour_check). |
| search | ابحث في الحقول (المعرف، التاريخ، البطارية، الإصدار، الملصق...). |
مثال:
GET https://api.smsmobileapi.com/gateway/mobile/list/?apikey=YOUR_API_KEY
بوابة - تحديث ملصق الهاتف المحمول
قم بتحديث التسمية (nom_reference) لجهاز جوال متصل.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| sid | مطلوب معرف الجهاز (sIdentifiant_pour_check). |
| label | مطلوب ملصق جديد (يمكن أن يكون فارغًا). |
مثال:
GET https://api.smsmobileapi.com/gateway/mobile/update/?apikey=YOUR_API_KEY&sid=SID&label=OfficePhone
مهم: الملصق مطلوب ولكن يمكن أن يكون فارغًا (label=).
البوابة - حذف جهاز جوال متصل
قم بإزالة جهاز جوال متصل من البوابة الخاصة بك (سيؤدي ذلك إلى حذف جميع سجلات البيانات لهذا المعرف).
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| sid | مطلوب معرف الجهاز (sIdentifiant_pour_check). |
مثال:
GET https://api.smsmobileapi.com/gateway/mobile/delete/?apikey=YOUR_API_KEY&sid=SID
Webhook – الرسائل القصيرة المستلمة
يرسل نظام webhook هذا طلب POST إلى عنوان URL المُهيأ كلما تم استلام رسالة نصية قصيرة. ويضمن النظام التحديثات في الوقت الفعلي من خلال تسليم تفاصيل الرسائل النصية القصيرة إلى عنوان URL الخاص بـ webhook المحدد.
كيفية تكوين Webhook في لوحة المعلومات
اتبع الخطوات التالية لإعداد عنوان URL الخاص بـ webhook في لوحة المعلومات:
- قم بتسجيل الدخول إلى حسابك على لوحة معلومات واجهة برمجة تطبيقات SMS Mobile.
- انتقل إلى إعدادات الويب هوك قسم.
- أدخل عنوان URL لخطاف الويب الخاص بك (على سبيل المثال،
https://example.com/webhook-endpoint). - انقر على حفظ Webhook زر.
- بمجرد الحفظ، سيبدأ النظام في إرسال تفاصيل الرسائل القصيرة إلى عنوان URL الذي تم تكوينه.
حمولة الويب هوك
عند استلام رسالة نصية قصيرة، يرسل النظام الحمولة JSON التالية إلى عنوان URL الخاص بـ webhook الخاص بك:
{ "date": "2025-01-20", "hour": "10:15:00", "time_received": "2025-01-20 10:14:50", "message": "مرحباً، هذه رسالة اختبار.", "number": "+123456789", "guid": "abcde12345" }
حقول الحمولة:
- تاريخ: التاريخ الذي تمت فيه إضافة الرسائل القصيرة (YYYY-MM-DD).
- ساعة: الساعة التي تمت فيها إضافة الرسالة النصية القصيرة (ساعة:دقيقة:ثانية).
- الوقت المستلم: الوقت الذي تم فيه استلام الرسالة النصية القصيرة.
- رسالة: محتوى الرسالة النصية القصيرة.
- رقم: رقم هاتف المرسل.
- الدليل: معرف فريد للرسالة القصيرة.
مثال على نقطة نهاية Webhook
يجب أن يكون الخادم جاهزًا للتعامل مع طلبات POST الواردة. فيما يلي مثال لنص PHP لمعالجة حمولة webhook:
اختبار Webhook
لاختبار تكوين خطاف الويب الخاص بك، استخدم أدوات مثل:
استكشاف الأخطاء وإصلاحها
- تأكد من أن عنوان URL الخاص بـ webhook صحيح ويمكن الوصول إليه علنًا.
- تأكد من أن الخادم الخاص بك يقوم بإرجاع رمز الحالة HTTP 200 للطلبات الناجحة.
- تحقق من سجلات الخادم لديك بحثًا عن أي أخطاء في معالجة الحمولة.
الرسائل النصية القصيرة المُحسّنة
قريباًالمصادقة
تدعم واجهة برمجة تطبيقات SMSMobile طريقتين للمصادقة: استخدام مفتاح API بسيط أو بروتوكول OAuth2 مع معرف العميل وسر العميل.
1. مصادقة مفتاح API
تتطلب هذه الطريقة مفتاح API يمكن تضمينه كمعامل في طلب GET أو POST.
2. مصادقة OAuth2
يوفر OAuth2 طريقة مصادقة أكثر أمانًا.
استخدم معرّف العميل وسر العميل للحصول على رمز الوصول، ثم قم بتضمينه في التفويض رأس الصفحة.
معرف العميل وسر العميل متاحان في لوحة المعلومات الخاصة بك.
قم بتنزيل التطبيق المحمول الآن أو
ادخل إلى لوحة التحكم الخاصة بك.
الحصول على رمز الوصول
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
استخدام رمز الوصول:
curl -X POST https://api.smsmobileapi.com/sendsms \
-H "التفويض: حامل رمز الوصول الخاص بك" \
-H "نوع المحتوى: application/x-www-form-urlencoded" \
-d "المستلمون=+1234567890" \
-d "الرسالة=مرحبا"
ما هي الطريقة التي يجب عليك استخدامها؟
- يستخدم مصادقة مفتاح API للتكامل السريع والمباشر.
- يستخدم مصادقة OAuth2 لتعزيز الأمان وقابلية التوسع.
إرسال رسالة نصية قصيرة
عنوان URL لـ WSDL
حدود:
- message: الرسالة المراد إرسالها.
- apikey: مفتاح API الذي لديك أو سوف تتلقاه.
مثال
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
إرسال الرسائل القصيرة وواتساب
أمر cURL الأساسي
curl -X POST https://api.smsmobileapi.com/sendsms/ \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
-d "sendwa=1"
-d "sendsms=1"
إرسال الرسائل القصيرة وواتساب
استخدم وحدة بايثون الرسمية الخاصة بنا: https://smsmobileapi.com/python/
import requests
url = "https://api.smsmobileapi.com/sendsms/"
payload = {"recipients":"PHONE_NUMBER","message":"YOUR_MESSAGE","apikey":"YOUR_API_KEY"}
response = requests.post(url, data=payload)
print(response.text)
SMS Mobile API - PHP SDK (Composer)
يتطلب الملحن smsmobileapi/sdk
جيت هاب: https://github.com/SmsMobileApi/smsmobileapi-php/tree/main
إرسال الرسائل القصيرة وواتساب
const url = "https://api.smsmobileapi.com/sendsms/";
const data = {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"};
fetch(url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(data)})
.then(r=>r.text()).then(console.log);
إرسال الرسائل القصيرة وواتساب
const axios = require("axios");
axios.post("https://api.smsmobileapi.com/sendsms/", {recipients:"PHONE_NUMBER", message:"YOUR_MESSAGE", apikey:"YOUR_API_KEY"})
.then(r=>console.log(r.data));
إرسال الرسائل القصيرة وواتساب
require "net/http"
require "uri"
uri = URI.parse("https://api.smsmobileapi.com/sendsms/")
req = Net::HTTP::Post.new(uri)
req.set_form_data({"recipients"=>"PHONE_NUMBER","message"=>"YOUR_MESSAGE","apikey"=>"YOUR_API_KEY"})
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true){|http| http.request(req)}
puts res.body

تنشأ هذه المشكلة من عملية تحاول التشغيل في الخلفية عندما لا يتم تشغيل التطبيق بشكل نشط. ومع ذلك، نظرًا لإجراءات تحسين البطارية في Android، والتي تختلف عبر الإصدارات المختلفة، فقد لا يتم تشغيل هذه العملية في الخلفية بشكل صحيح. تم تصميم تحسين البطارية في Android للحد من نشاط التطبيقات في الخلفية للحفاظ على عمر البطارية، وهو ما قد يؤثر عن غير قصد على التطبيقات التي تتطلب عمليات خلفية للعمل بشكل صحيح.
ولمعالجة هذه المشكلة، يمكن للمستخدمين تكوين إعدادات Android يدويًا للسماح لـ SmsMobileApi باستخدام الموارد دون قيود.
يتضمن هذا ضبط إعدادات تحسين البطارية للتطبيق المحدد، مما يعني في الأساس إعطاء تعليمات إلى Android بأن SmsMobileApi مسموح له بالعمل في الخلفية واستخدام الموارد حسب الحاجة. ومن خلال القيام بذلك، يجب أن يكون التطبيق قادرًا على إرسال واستقبال رسائل SMS تلقائيًا حتى عندما لا يكون التطبيق النشط في المقدمة. يضمن هذا التعديل أن العملية الضرورية في الخلفية يمكن أن تعمل دون انقطاع، مما يتجنب ميزات تحسين البطارية التي قد تمنع تنفيذها بشكل صحيح.


الأسئلة الشائعة للمطورين
ابدأ مع SMSmobileAPI اليوم!
استمتع بالحرية والمرونة في إدارة خدمات الرسائل القصيرة الخاصة بك أثناء التنقل. قم بتنزيل تطبيقنا المحمول الآن واتخذ الخطوة الأولى نحو التكامل السلس للرسائل القصيرة.
تنزيل التطبيق