المصادقة
كل طلب يحتاج ترويستين: مفتاح الـ API في Authorization: Bearer، والوقت الحالي بالثواني (Unix) في X-Timestamp. يُرفض الطلب إذا كان الوقت مختلفاً عن وقت الخادم بأكثر من 5 دقائق، وهذا يحمي من إعادة إرسال الطلبات.
# إرسال رمز تحقق إلى رقم سوري curl -X POST https://sms.msgplus.tech/api/v1/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "X-Timestamp: $(date +%s)" \ -H "Content-Type: application/json" \ -d '{ "sender_name": "MyApp", "template_id": 1, "numbers": ["963941234567"], "vars": { "code": "482916" } }'
نقاط الـ API
| Endpoint | الوظيفة |
|---|---|
| POST /api/v1/send | إرسال رمز تحقق إلى رقم أو أكثر عبر قالب معتمد |
| GET /api/v1/sms/{id}/status | حالة رسالة مرسلة |
| POST /api/v1/sms/estimate | تقدير عدد الأجزاء والتكلفة قبل الإرسال |
| GET /api/v1/balance | الرصيد المتبقي |
| GET /api/v1/templates | القوالب المتاحة لحسابك |
| GET /api/v1/senders | أسماء المرسلين المعتمدة |
صيغ الأرقام السورية المقبولة
يقبل الـ API الصيغ الشائعة ويحوّلها تلقائياً إلى الصيغة الدولية 9639XXXXXXXX قبل الإرسال إلى سيريتل. يمكن أن تحتوي الأرقام على مسافات أو شرطات أو أرقام عربية.
| المُدخل | النتيجة |
|---|---|
| 0991234567 | 963991234567 |
| +963991234567 | 963991234567 |
| 00963991234567 | 963991234567 |
| 991234567 | 963991234567 |
| +963 0991234567 | 963991234567 |
| 0781234567 | مرفوض (ليس رقم موبايل سوري) |
الترميز وطول الرسالة
- الرسائل العربية تُرسل بترميز Unicode: 70 حرفاً للجزء الواحد، و67 حرفاً لكل جزء في الرسائل الطويلة.
- الرسائل الإنجليزية بترميز GSM-7: 160 حرفاً للجزء الواحد.
- التكلفة = عدد الأرقام × عدد الأجزاء، لذا اجعل قالب الرمز قصيراً ليبقى في جزء واحد.
- استخدم POST /api/v1/sms/estimate لمعرفة عدد الأجزاء قبل الإرسال.
رموز الأخطاء
| HTTP | السبب |
|---|---|
| 202 | تم قبول الطلب ووضعه في طابور الإرسال |
| 400 | ترويسة X-Timestamp مفقودة أو بعيدة عن وقت الخادم |
| 401 | مفتاح الـ API مفقود أو غير صحيح |
| 403 | اسم المرسل أو القالب غير معتمد لحسابك |
| 422 | رقم غير صالح، متغيرات قالب ناقصة، أو رصيد غير كافٍ |
| 429 | تجاوزت حد الطلبات المسموح في الدقيقة |
نصائح للإنتاج
- أرسل من خادمك فقط، ولا تضع مفتاح الـ API داخل تطبيق الجوال.
- زامن ساعة الخادم (NTP) لتجنب أخطاء X-Timestamp.
- جرّب أولاً في وضع Sandbox: رسائل محاكاة لا تُرسل ولا تستهلك الرصيد.
- الرسائل الفاشلة يُعاد رصيدها تلقائياً، ويمكنك متابعة كل رقم من سجل الإرسال.
أسئلة شائعة
كيف أرسل SMS إلى رقم سوري عبر API؟
أرسل طلب POST إلى https://sms.msgplus.tech/api/v1/send مع مفتاح الـ API في Authorization وترويسة X-Timestamp، واسم المرسل ورقم القالب والرقم والمتغيرات.
ما صيغة الرقم السوري المطلوبة في الـ API؟
أي صيغة شائعة: 09XXXXXXXX أو +9639XXXXXXXX أو 009639XXXXXXXX؛ يحوّلها MsgPlus إلى 9639XXXXXXXX.
هل يدعم الـ API الرسائل العربية؟
نعم، بترميز Unicode بحد 70 حرفاً للجزء الواحد.
هل يمكنني إرسال رمز لعدة أرقام في طلب واحد؟
نعم، الحقل numbers يقبل قائمة أرقام.
هل توجد بيئة تجريبية؟
نعم، وضع Sandbox يحاكي الإرسال دون إرسال فعلي ودون خصم رصيد.