توثيق الرسائل القصيرة
في 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
مثال على استجابة JSON:
{ "result": { "error": 0, "sent": "1", "id": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "note": "sent by mobile", "datetime": "2026-03-20T21:07:44Z", "datetimeLocal": "2026-03-20T22:07:44+01:00", "port": null, "iac_control": "1", "iac_authorized": "1", "send_with_whatsapp": "0", "encrypted": { "status": "0" }, "trial_account": { "status": "0", "sms_sent": 0 } } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | 0 = لا يوجد خطأ. إذا تم إرجاع قيمة أخرى، فهذا يعني أن الطلب قد فشل أو تم حظره. |
| result.sent | 1 تم قبول الرسالة للإرسال من قبل الهاتف المحمول. |
| result.id | معرّف رسالة فريد يتم إنشاؤه بواسطة واجهة برمجة التطبيقات (API). يمكنك تخزينه لأغراض التتبع أو التسجيل. |
| result.note | معلومات إضافية حول كيفية معالجة الرسالة. مثال: تم الإرسال عبر الهاتف المحمول. |
| result.datetime | تاريخ/وقت استجابة واجهة برمجة التطبيقات (API) بالتوقيت العالمي المنسق (UTC). |
| result.datetimeLocal | يعتمد التاريخ/الوقت المحلي على إعدادات الهاتف المحمول أو الخادم. |
| result.port | يُستخدم منفذ شريحة SIM للإرسال. 1, 2، أو باطل إذا لم يتم تحديده أو لم يتم إرجاعه. |
| result.iac_control | حالة التحكم الداخلي في واجهة برمجة التطبيقات (API). 1 هذا يعني أن الطلب اجتاز عمليات التحقق الداخلية. |
| result.iac_authorized | 1 هذا يعني أن مفتاح API مصرح له باستخدام نقطة النهاية هذه. |
| result.send_with_whatsapp | 1 = تتم معالجة الرسالة عبر واتساب. 0 = إرسال الرسائل النصية القصيرة القياسية. |
| result.encrypted.status | 1 تم تفعيل التشفير. 0 = رسالة مرسلة بدون تشفير. |
| result.trial_account.status | 1 = الحساب هو حساب تجريبي. 0 = حساب عادي. |
| result.trial_account.sms_sent | عدد الرسائل النصية القصيرة التي تم إرسالها بالفعل من الحساب التجريبي، عند الاقتضاء. |
إعادة إرسال رسالة نصية قصيرة غير مرسلة
تتيح لك هذه النقطة النهائية إعادة إرسال رسالة نصية قصيرة لم يتم إرسالها مسبقًا، فقط إذا كانت الرسالة حاليًا في حالة خطأ.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| guid | مطلوب معرّف فريد عالمي (GUID) للرسالة المراد إعادة إرسالها. |
مثال على الطلب:
احصل على https://api.smsmobileapi.com/resend/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE
مثال على استجابة JSON:
{ "result": { "error": "0", "sms": "تمت إعادة الإرسال بنجاح", "attempt": 1 } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | 0 لا يوجد خطأ. تم قبول طلب إعادة الإرسال بنجاح. |
| result.sms | رسالة الحالة التي يُعيدها واجهة برمجة التطبيقات. في هذا المثال، تؤكد هذه الرسالة إعادة إرسال الرسالة النصية القصيرة بنجاح. |
| result.attempt | يشير إلى رقم محاولة إعادة الإرسال. |
سجل الرسائل النصية القصيرة المرسلة من واجهة برمجة التطبيقات
تتيح لك هذه النقطة النهائية استرداد سجل رسائل SMS المرسلة عبر واجهة برمجة التطبيقات (API).
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| guid_message | قم بالتصفية حسب مُعرّف الرسالة الفريد. |
| before | استرجع الرسائل المرسلة قبل هذه القيمة. وبحسب تطبيقك، قد تكون هذه القيمة عبارة عن طابع زمني أو مرجع رسالة. |
| error_api | 1 = عرض رسائل SMS التي تحتوي على خطأ في طلب واجهة برمجة التطبيقات فقط. |
| error_mobile | 1 = عرض رسائل SMS التي بها خطأ في معالجة الهاتف المحمول فقط. |
| keyword | قم بالتصفية حسب رقم المستلم أو محتوى الرسالة. |
مثال على الطلب:
GET https://api.smsmobileapi.com/log/sent/sms/?apikey=YOUR_API_KEY
مثال على استجابة JSON:
{ "result": { "error": "0", "sms": [ { "sIdentifiantPhone": "abbg00055x5", "port": 0, "date_add": "2026-03-20", "hour_add": "22:07:44", "timestamp": 1774044464, "send_from_mobile": 1, "send_from_mobile_date": "2026-03-20", "send_from_mobile_heure": "22:10:05", "send_from_mobile_timestamp": 1774044605, "recipients": "32495898697", "sms": "test", "error_api": "", "send_from_mobile_erreur": "", "guid_message": "c319d3b35e8f8712cde20dae39ac3c19f86eda25", "timearea": "UTC+01", "date_add_server": "2026-03-20", "hour_add_server": "21:07:44", "timestamp_server": 1774040864, "send_from_mobile_date_server": "2026-03-20", "send_from_mobile_heure_server": "21:10:05" } ] } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | 0 = لا يوجد خطأ. تمت معالجة الطلب بنجاح. |
| result.sms | مصفوفة تحتوي على سجلات الرسائل النصية القصيرة المرسلة التي تم إرجاعها بواسطة واجهة برمجة التطبيقات (API). |
| result.sms[].sIdentifiantPhone | معرف الهاتف المستخدم للإرسال، عند توفره. |
| result.sms[].port | منفذ شريحة SIM يُستخدم لإرسال الرسائل النصية القصيرة (SMS). |
| result.sms[].date_add | التاريخ المحلي الذي تمت فيه إضافة الرسالة النصية القصيرة إلى قائمة الانتظار. |
| result.sms[].hour_add | التوقيت المحلي عند إضافة الرسالة النصية القصيرة إلى قائمة الانتظار. |
| result.sms[].timestamp | الطابع الزمني لنظام يونكس للتاريخ/الوقت المحلي الموجود في قائمة الانتظار. |
| result.sms[].send_from_mobile | 1 = تم إرسال الرسالة النصية القصيرة من الهاتف المحمول. 0 = لم يتم الإرسال بعد أو فشل الإرسال. |
| result.sms[].send_from_mobile_date | التاريخ المحلي الذي أرسل فيه الهاتف المحمول الرسالة النصية القصيرة فعلياً. |
| result.sms[].send_from_mobile_heure | التوقيت المحلي الذي أرسل فيه الهاتف المحمول الرسالة النصية القصيرة فعلياً. |
| result.sms[].send_from_mobile_timestamp | الطابع الزمني لنظام يونكس لوقت الإرسال الفعلي من الهاتف المحمول. |
| result.sms[].recipients | رقم هاتف المستلم. |
| result.sms[].sms | محتوى الرسالة. |
| result.sms[].error_api | تم إرجاع خطأ أثناء معالجة طلب واجهة برمجة التطبيقات، إن وجد. القيمة الفارغة تعني عدم وجود خطأ في واجهة برمجة التطبيقات. |
| result.sms[].send_from_mobile_erreur | خطأ تم إرجاعه من الهاتف المحمول أثناء الإرسال، إن وجد. عدم وجود خطأ يعني عدم وجود خطأ من الهاتف المحمول. |
| result.sms[].guid_message | معرّف فريد للرسالة. |
| result.sms[].timearea | المنطقة الزمنية المستخدمة لحقول التاريخ والوقت المحليين. |
| result.sms[].date_add_server | تاريخ إضافة الرسائل النصية القصيرة من جانب الخادم. |
| result.sms[].hour_add_server | الوقت من جانب الخادم عند إضافة الرسائل النصية القصيرة. |
| result.sms[].timestamp_server | الطابع الزمني لنظام يونكس على جانب الخادم عند إضافة الرسائل النصية القصيرة. |
| result.sms[].send_from_mobile_date_server | تاريخ إرسال الرسالة النصية القصيرة من الهاتف المحمول من جانب الخادم. |
| result.sms[].send_from_mobile_heure_server | الوقت من جانب الخادم عندما تم إرسال الرسالة النصية القصيرة من الهاتف المحمول. |
قائمة الرسائل النصية المرسلة من الهاتف المحمول
تتيح لك هذه النقطة النهائية عرض قائمة برسائل SMS المرسلة من جهازك المحمول والمتزامنة مع حساب SMSMobileAPI الخاص بك.
مهم: هذه الميزة متاحة بدءًا من إصدار Android 4.1.20.
مهم: هذه الميزة هي غير مفعل افتراضياً في تطبيق أندرويد.
خصوصية: جميع المعلومات المتزامنة مجهولة المصدر وسرية ويتم التعامل معها بشكل آمن.
الحد الأقصى للسجل: لا تُرجع واجهة برمجة التطبيقات هذه إلا البيانات من آخر إصدار. 7 أيام.
ملحوظة: إذا كنت ترسل رسائل نصية قصيرة باستخدام نقطة نهاية واجهة برمجة التطبيقات القياسية https://api.smsmobileapi.com/sendsms/قد تظهر هذه الرسائل النصية القصيرة أيضًا في هذه القائمة لأنها تُرسل فعليًا من جهازك المحمول.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| date | اختياري. فلتر التاريخ الدقيق في YYYY-MM-DD شكل. |
| date_from | اختياري. تاريخ بدء الفترة في YYYY-MM-DD شكل. |
| date_to | اختياري. تاريخ انتهاء الفترة في YYYY-MM-DD شكل. |
| period | اختياري. فلتر فترة زمنية محددة مسبقًا. القيم المسموح بها: today, yesterday, last_24h, last_3days, last_7days. |
| number | اختياري. تصفية النتائج حسب رقم هاتف المستلم. |
| sIdentifiant | اختياري. تصفية حسب مُعرّف الهاتف المحمول. |
| message | اختياري. تصفية حسب محتوى الرسائل النصية القصيرة. |
| search | اختياري. بحث عالمي على sIdentifiant, number, message, mobile_date_formatted، و synchro_time. |
| sort_by | اختياري. حقل الفرز. القيم المسموح بها: sIdentifiant, number, message, mobile_date_ms, mobile_date_formatted, synchro_time. |
| sort_order | اختياري. ترتيب الفرز: ASC أو DESC. |
| limit | اختياري. الحد الأقصى لعدد الصفوف المُعادة. القيمة القصوى المسموح بها: 200. |
الحقول المُعادة:
| مجال | وصف |
|---|---|
| sIdentifiant | معرف الهاتف المحمول المرتبط بالرسالة النصية القصيرة المرسلة. |
| number | رقم هاتف المستلم. |
| message | محتوى الرسائل النصية القصيرة. |
| mobile_date_ms | الطابع الزمني الأصلي للرسالة النصية القصيرة بالمللي ثانية. |
| mobile_date_formatted | تم استلام التاريخ المنسق من الجهاز المحمول. |
| synchro_time | تاريخ ووقت مزامنة الرسائل النصية القصيرة مع SMSMobileAPI. |
مثال على الطلب:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY
مثال مع المرشحات:
طلب GET إلى https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&date=2026-03-13&number=+15551234567&sort_by=synchro_time&sort_order=DESC
مثال بفترة زمنية محددة مسبقاً:
GET https://api.smsmobileapi.com/log/sent/frommobile/?apikey=YOUR_API_KEY&period=last_7days&limit=200
مثال على استجابة JSON:
{ "result": { "error": "0", "count": 200, "limit": 200, "history_limit_days": 7, "sort_by": "mobile_date_ms", "sort_order": "DESC", "sms": [ { "sIdentifiant": "508b004b4aadacc4", "number": "+15551234567", "message": "مرحباً، تم تأكيد موعدك.", "mobile_date_ms": 1774041004692, "mobile_date_formatted": "2026-03-20 22:10:04", "synchro_time": "2026-03-20 21:10:05" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": { "+447700900123", "message": "رمز التحقق الخاص بك هو 482915.", "mobile_date_ms": 1774040902284, "mobile_date_formatted": "2026-03-20 22:08:22", "synchro_time": "2026-03-20 21:08:35" }, { "sIdentifiant": "e5b70a8a28b2ec3d", "number": "+33198765432", "message": "نشكرك على طلبك. جارٍ معالجته الآن.", "mobile_date_ms": 1774026491230, "mobile_date_formatted": "2026-03-20 18:08:11", "synchro_time": "2026-03-20 17:19:19" } ] } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | 0 = لا يوجد خطأ. تمت معالجة الطلب بنجاح. |
| result.count | عدد رسائل SMS الواردة في الاستجابة الحالية. |
| result.limit | الحد الأقصى لعدد الصفوف المطلوبة أو المطبقة بواسطة واجهة برمجة التطبيقات (API). |
| result.history_limit_days | أقصى نطاق زمني متاح من خلال هذه النقطة النهائية، بالأيام. |
| result.sort_by | تم تطبيق حقل الفرز على الاستجابة. |
| result.sort_order | تم تطبيق اتجاه الفرز على الاستجابة: مركز الجراحة التلطيفية أو الوصف. |
| result.sms | مصفوفة تحتوي على رسائل SMS المتزامنة المرسلة من الجهاز المحمول. |
| result.sms[].sIdentifiant | معرّف الجهاز المحمول الذي أرسل الرسالة النصية القصيرة. |
| result.sms[].number | رقم هاتف المستلم. |
| result.sms[].message | محتوى رسالة SMS. |
| result.sms[].mobile_date_ms | الطابع الزمني الأصلي للهاتف المحمول بالمللي ثانية. |
| result.sms[].mobile_date_formatted | التاريخ والوقت بصيغة قابلة للقراءة البشرية من الجهاز المحمول. |
| result.sms[].synchro_time | تاريخ ووقت مزامنة إدخال الرسائل النصية القصيرة مع SMSMobileAPI. |
تم استلام الرسالة النصية القصيرة
تتيح لك هذه النقطة النهائية استرداد رسائل SMS التي تم استلامها على الهاتف الذكي.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| sIdentifiantPhone | اختياري. تصفية الرسائل الواردة على هاتف مرتبط محدد. |
| after_timestamp_unix | اختياري. استرجاع الرسائل النصية القصيرة الواردة فقط بعد طابع زمني محدد لنظام يونكس. |
| onlyunread | نعم = إرجاع الرسائل التي لم يتم وضع علامة "مقروء" عليها بعد بواسطة حالة واجهة برمجة التطبيقات. |
مثال على الطلب:
احصل على https://api.smsmobileapi.com/getsms/?apikey=YOUR_API_KEY
مثال على استجابة JSON:
{ "result": { "error": "", "sms": [ { "id": 466340, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:23:34", "timestamp_unix": 1774041814, "time_received": "20260320222332804", "indice": "27593", "message": "مرحباً، تم تسليم طردك.", "number": "+15551234567", "guid": "6BFD7DC7-3492-422D-8D02-4AF4E614F122", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466341، "sIdentifiantPhone": "e5b70a8a28b2ec3d"، "date": "2026-03-20"، "hour": "21:23:34"، "timestamp_unix": 1774041814، "time_received": "20260320221005892"، "indice": "27591"، "message": "تم تأكيد موعدك غدًا."، "number": "+447700900123"، "guid": "BF3B38D7-8401-4A8C-8BA6-D8D58ACBB23E"، "alias": null، "apikey": "YOUR_API_KEY_HASH" }، { "id": 466324، "sIdentifiantPhone": { "e5b70a8a28b2ec3d", "date": "2026-03-20", "hour": "21:08:24", "timestamp_unix": 1774040904, "time_received": "20260320220822763", "indice": "27590", "message": "يرجى الاتصال بنا عند توفرنا.", "number": "+33198765432", "guid": "08C88E20-9B98-453F-B361-9BB06D3275D6", "alias": null, "apikey": "YOUR_API_KEY_HASH" }, { "id": 466156, "sIdentifiantPhone": "e5b70a8a28b2ec3d", "date": "2026-03-20", "الساعة": "19:05:22", "الطابع الزمني يونكس": 1774033522, "وقت الاستلام": "20260320200026246", "الفهرس": "27588", "الرسالة": "تذكير: مراجعة حسابك قيد الانتظار.", "الرقم": "10001", "المعرف الفريد": "551B2CF4-9330-4DD2-B2BA-5A4026EEEB15", "الاسم المستعار": null, "مفتاح API": "YOUR_API_KEY_HASH" } ] } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | القيمة الفارغة تعني عادةً عدم وجود خطأ تم إرجاعه بواسطة واجهة برمجة التطبيقات (API). |
| result.sms | مصفوفة تحتوي على إدخالات الرسائل النصية القصيرة المستلمة. |
| result.sms[].id | المعرف الداخلي الفريد لإدخال الرسائل النصية القصيرة المستلمة. |
| result.sms[].sIdentifiantPhone | معرّف الهاتف الذي استقبل الرسالة النصية القصيرة. |
| result.sms[].date | تاريخ استلام الرسالة النصية القصيرة. |
| result.sms[].hour | الوقت الذي تم فيه استلام الرسالة النصية القصيرة. |
| result.sms[].timestamp_unix | الطابع الزمني لنظام يونكس للرسالة النصية القصيرة المستلمة. |
| result.sms[].time_received | تم توفير الطابع الزمني الأصلي للاستلام الداخلي بواسطة الهاتف المحمول/التطبيق. |
| result.sms[].indice | فهرس الرسائل الداخلية أو مرجع من عملية المزامنة. |
| result.sms[].message | محتوى الرسالة النصية القصيرة المستلمة. |
| result.sms[].number | رقم هاتف المرسل أو الرمز المختصر. |
| result.sms[].guid | معرّف فريد مخصص للرسالة النصية القصيرة المستلمة. |
| result.sms[].alias | اسم مستعار اختياري مرتبط بالمرسل، إن وجد. يمكن أن يكون باطل. |
| result.sms[].apikey | مفتاح API المرتبط بسجل الرسالة. في أمثلة التوثيق، يجب إخفاء هذه القيمة. |
وضع علامة على رسائل SMS المستلمة كمقروءة
تُستخدم نقطة نهاية واجهة برمجة التطبيقات هذه لتمييز رسالة SMS واحدة مستلمة على أنها مقروءة. حالة واجهة برمجة التطبيقات فقط.
هذا لا يغير حالة القراءة على الهاتف الذكي.
نقطة النهاية:
المعلمة:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الذي لديك أو سوف تتلقاه. |
| guid_message | مطلوب معرّف فريد عالمي (GUID) للرسالة المراد وضع علامة عليها كمقروءة. |
مثال:
احصل على https://api.smsmobileapi.com/getsms/set-read/?apikey=YOUR_APIKEY&guid_message=GUID_MESSAGE
تحديث اسم مستعار للرسائل النصية
تُستخدم نقطة نهاية واجهة برمجة التطبيقات هذه لتحديث اسم مستعار لرسالة نصية قصيرة مستلمة باستخدام معرّفها الفريد العالمي (GUID).
ملحوظة: ال alias يمكن أن تكون المعلمة فارغة. في هذه الحالة، سيتم مسح الاسم المستعار.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| guid | مطلوب معرف GUID الخاص بالرسالة النصية القصيرة المستلمة لتحديثها. |
| alias | مطلوب الاسم المستعار الذي سيتم تعيينه لهذه الرسالة النصية. يمكن ترك هذه القيمة فارغة لمسح الاسم المستعار الحالي. |
مثال:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=JohnDoe
مثال لمسح الاسم المستعار:
GET https://api.smsmobileapi.com/getsms/update/?apikey=YOUR_API_KEY&guid=GUID_OF_THE_MESSAGE&alias=
حذف الرسائل النصية القصيرة
تتيح لك هذه النقطة النهائية حذف رسائل SMS من سجل خادم SMSMobileAPI.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الفريد الخاص بك. |
| guid_message | حذف رسالة معينة باستخدام معرّفها الفريد (GUID). |
| date_start | في حال استخدامه بمفرده، يقوم بحذف جميع الرسائل المسجلة من التاريخ المحدد. |
| date_end | يستخدم مع تاريخ_البداية لحذف الرسائل ضمن نطاق زمني محدد. |
مثال على الطلب:
GET https://api.smsmobileapi.com/deletesms/?apikey=YOUR_API_KEY&guid_message=GUID_OF_THE_MESSAGE
مثال على استجابة JSON:
{ "result": { "error": null, "count_delete": 1 } }
شرح الرد:
| مجال | وصف |
|---|---|
| result.error | باطل هذا يعني أنه لم يتم إرجاع أي خطأ من قبل واجهة برمجة التطبيقات أثناء طلب الحذف. |
| result.count_delete | عدد سجلات الرسائل النصية القصيرة المحذوفة من الخادم. |
ملاحظة: يتم حذف الرسائل النصية القصيرة المخزنة في سجلات خادم SMSMobileAPI فقط. أما الرسائل النصية القصيرة المخزنة مسبقًا على الجهاز المحمول فلا يتم حذفها.
قائمة محادثات الرسائل النصية القصيرة
تُستخدم نقطة نهاية واجهة برمجة التطبيقات هذه لعرض قائمة محادثات الرسائل النصية القصيرة المرتبطة بحسابك.
يتم تجميع كل محادثة حسب رقم الهاتف وتحتوي على رسائل SMS الواردة والصادرة ذات الصلة.
ملحوظة: تُحدد نقطة بدء المحادثة بواسطة origineConversation المعلمة:
- receivedيتم اكتشاف المحادثات أولاً من الرسائل النصية القصيرة الواردة في logsmsreceive
- sentيتم اكتشاف المحادثات أولاً من الرسائل النصية القصيرة المرسلة في logsmssent
ملحوظة: لو numero في حال عدم توفيرها، تُعيد واجهة برمجة التطبيقات (API) أحدث المحادثات فقط. بشكل افتراضي، تُعرض آخر المحادثات فقط. 20 يتم الرد على المحادثات.
ملحوظة: بالنسبة للرسائل النصية الصادرة، إذا timearea_of_message متاح (مثال: UTC+02يتم تحويل التاريخ المعروض تلقائيًا باستخدام هذه القيمة. ويُستخدم هذا التاريخ المُحوّل أيضًا في عملية الفرز.
ملحوظة: لو resume=1يتم عرض أحدث الرسائل فقط من كل محادثة. استخدم resume_line_how لتحديد عدد الرسائل الأخيرة التي يجب تضمينها.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| apikey | مطلوب مفتاح API الخاص بك. |
| origineConversation | مطلوب يُحدد هذا الخيار نقطة بداية قائمة المحادثات. القيم المسموح بها: received أو sent. |
| numero | خياري قم بتصفية النتائج لعرض رقم هاتف محدد واحد فقط. |
| date_from | خياري فلتر تاريخ البدء للمحادثات والرسائل. التنسيق المقبول: YYYY-MM-DD أو قيمة التاريخ والوقت الكاملة. |
| date_to | خياري فلتر تاريخ انتهاء المحادثات والرسائل. التنسيق المقبول: YYYY-MM-DD أو قيمة التاريخ والوقت الكاملة. |
| sort | خياري ترتيب فرز المحادثات. القيم المسموح بها: DESC أو ASC. تقصير: DESC. |
| limit | خياري الحد الأقصى لعدد المحادثات التي يجب الرد عليها عند numero غير متوفر. القيمة الافتراضية: 20. |
| resume | خياري إذا تم ضبطه على 1يتم إرجاع أحدث الرسائل فقط من كل محادثة. |
| resume_line_how | خياري عدد الرسائل الأخيرة التي يجب إرجاعها لكل محادثة عند resume=1. تقصير: 1. |
تفاصيل السلوك:
- يتم قراءة الرسائل النصية الواردة من logsmsreceive.
- يتم قراءة الرسائل النصية الصادرة من logsmssent.
- الرسائل الواردة تعود دائمًا direction = "incoming".
- الرسائل الصادرة تعود دائمًا direction = "outgoing".
- اسم جهة الاتصال مأخوذ من logsmsreceive.alias عند توفرها.
- بالنسبة للرسائل النصية القصيرة الواردة، يأتي معرف الجهاز المحمول من sIdentifiant_pour_read.
- بالنسبة للرسائل النصية القصيرة الصادرة، يأتي معرف الجهاز المحمول من send_from_mobile_sIdentifiant.
- بالنسبة للرسائل النصية القصيرة الصادرة، يتم تعديل التاريخ المعروض باستخدام timearea_of_message إذا لم يكن هذا الحقل فارغًا.
مثال 1 - عرض آخر المحادثات الواردة من الرسائل النصية القصيرة:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received
مثال 2 - عرض آخر المحادثات من الرسائل النصية القصيرة المرسلة:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent
مثال 3 - تصفية رقم هاتف محدد:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&numero=32470000001
مثال 4 - التصفية حسب نطاق التاريخ:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=received&date_from=2026-03-01&date_to=2026-03-31
مثال 5 - وضع الاستئناف مع آخر 3 رسائل لكل محادثة:
GET https://api.smsmobileapi.com/conversation/sms/list/?apikey=YOUR_API_KEY&origineConversation=sent&resume=1&resume_line_how=3
مثال على استجابة ناجحة:
{ "success": true, "origineConversation": "received", "resume": 0, "resume_line_how": null, "conversations": [ { "phone_number": "+10470000001", "contact_alias": "John Doe", "messages": [ { "direction": "incoming", "message_id": "msg_1001", "date": "2026-03-13 08:45:12", "timestamp_utc": "2026-03-13T08:45:12Z", "message": "Hello, I would like more information.", "status": "received", "mobile_sid": "device_sid_1" }, { "direction": "outgoing", "message_id": "msg_1002", "date": "2026-03-13 10:46:03", "timestamp_utc": "2026-03-13T08:46:03Z", "message": "بالتأكيد، ماذا تريد أن تعرف؟", "status": "sent", "mobile_sid": "device_sid_2" } ] } ] }
حقول الاستجابة:
| مجال | وصف |
|---|---|
| success | يشير إلى ما إذا كان الطلب قد تم بنجاح. |
| origineConversation | الوضع الابتدائي المستخدم لإنشاء قائمة المحادثات. |
| resume | يشير إلى ما إذا كان وضع الاستئناف مفعلاً. |
| resume_line_how | عدد الأسطر الأخيرة التي تم إرجاعها لكل محادثة عند تفعيل وضع الاستئناف. |
| conversations | مجموعة من المحادثات. |
| phone_number | رقم الهاتف المستخدم لتحديد المحادثة. |
| contact_alias | الاسم المستعار المرتبط برقم الهاتف عند توفره. |
| messages | مجموعة من رسائل SMS داخل المحادثة. |
| direction | incoming بالنسبة للرسائل النصية القصيرة المستلمة، outgoing بالنسبة للرسائل النصية القصيرة المرسلة. |
| message_id | المعرف الفريد للرسالة. |
| date | عرض تاريخ الرسالة. بالنسبة للرسائل النصية القصيرة الصادرة، يمكن تعديل هذه القيمة باستخدام timearea_of_message. |
| timestamp_utc | الطابع الزمني للرسالة بتوقيت UTC. |
| message | محتوى الرسالة. |
| status | received بالنسبة للرسائل النصية الواردة، sent لإرسال الرسائل النصية القصيرة. |
| mobile_sid | معرف الجهاز المحمول الذي استقبل الرسالة أو أرسلها. |
مثال على الخطأ:
{ "success": false, "error": "المعامل المطلوب مفقود: apikey" }
ملحوظات:
- لو numero في حال توفير رقم الهاتف هذا، فإن واجهة برمجة التطبيقات (API) لا تُرجع سوى المحادثة المرتبطة بهذا الرقم.
- لو numero في حال عدم توفيرها، تقوم واجهة برمجة التطبيقات (API) بإرجاع أحدث المحادثات وفقًا لوضع المصدر المحدد.
- يتم دمج الرسائل الواردة والصادرة في جدول زمني واحد لكل رقم هاتف.
- يأخذ فرز الرسائل الصادرة التاريخ المحلي المعدل في الاعتبار عند timearea_of_message متوفر.
- يُعد وضع الاستئناف مفيدًا للوحات المعلومات، والأدوات، والمعاينات، وملخصات المحادثات.
البوابة - قائمة الهواتف المحمولة المتصلة
قائمة الهواتف المحمولة المتصلة بشبكتك بوابة الرسائل القصيرة.
نقطة النهاية:
حدود:
| المعلمة | وصف |
|---|---|
| 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 | ملصق جديد |
| phone_number | رقم هاتف جديد |
مثال:
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 اليوم!
استمتع بالحرية والمرونة في إدارة خدمات الرسائل القصيرة الخاصة بك أثناء التنقل. قم بتنزيل تطبيقنا المحمول الآن واتخذ الخطوة الأولى نحو التكامل السلس للرسائل القصيرة.
تنزيل التطبيق