API
JSON API عبر HTTPS. أرسل مفتاح API في ترويسة Authorization. الأسعار والاسترداد والعدّ التنازلي لمدة 20 دقيقة كما في الموقع تمامًا.
العنوان الأساسي
https://today-sms.com/api/v1
المصادقة
الترويسة Authorization: Bearer YOUR_API_KEY. أنشئ المفتاح من صفحة مفتاح API بعد أول عملية شحن. حتى 300 طلب في الدقيقة.
curl https://today-sms.com/api/v1/balance \ -H "Authorization: Bearer YOUR_API_KEY"
GET /balance
رصيدك بالدولار الأمريكي.
مثال على الاستجابة
{
"balance": "42.5000",
"currency": "USD"
}GET /apps
التطبيقات المتوفرة لها أرقام حاليًا: الرمز، والاسم، وأقل سعر، والدول.
مثال على الاستجابة
[
{ "app": "telegram", "name": "Telegram", "from": "0.4515", "countries": 61 }
]GET /prices?app=telegram
دول تطبيق واحد، الأرخص أولًا: رمز الدولة، ورمز ISO، والسعر، والأرقام المتاحة.
مثال على الاستجابة
[
{ "country": "indonesia", "iso": "id", "price": "0.4515", "stock": 702866 }
]POST /numbers {"app":"telegram","country":"indonesia"}
يشتري رقمًا. يُخصم السعر من رصيدك.
مثال على الاستجابة
{
"id": 1042,
"phone": "+6281234567890",
"price": "0.4515",
"status": "waiting",
"expires_at": "2026-10-14T09:20:00Z"
}GET /numbers/{id}
الحالة وكل رسائل SMS المستلمة حتى الآن.
مثال على الاستجابة
{
"id": 1042,
"status": "received",
"sms": [ { "code": "482913", "text": "Your code is 482913", "at": "2026-10-14T09:02:11Z" } ]
}POST /numbers/{id}/cancel
يلغي رقمًا لم تصله SMS، بعد 120 ثانية من الشراء. استرداد كامل.
مثال على الاستجابة
{
"id": 1042,
"status": "canceled",
"refunded": "0.4515"
}POST /numbers/{id}/finish
يغلق الرقم بعد حصولك على الرمز.
مثال على الاستجابة
{
"id": 1042,
"status": "finished"
}الحالات
| waiting | الرقم جاهز، لم تصل SMS بعد |
| received | وصلت رسالة SMS واحدة على الأقل |
| finished | أُغلق بعد استلام رمز |
| canceled | أُلغي، وتم الاسترداد |
| expired | لم تصل SMS في الوقت المحدد، وتم الاسترداد |
| checking | رد المورّد غير واضح؛ يُسترد المبلغ عند انتهاء العدّ التنازلي إذا لم يظهر رقم |
الأخطاء
تُرجع الأخطاء حالة غير 2xx ونص JSON يحتوي على رمز الخطأ.
{
"error": "not_enough_balance"
}| unauthorized | مفتاح API مفقود أو غير صحيح |
| not_allowed | تُتاح API بعد أول عملية شحن |
| bad_request | حقل مطلوب مفقود أو غير صحيح |
| no_numbers | لا توجد أرقام لهذا التطبيق وهذه الدولة حاليًا |
| not_enough_balance | اشحن رصيدك أولًا |
| too_many_open | أرقام مفتوحة كثيرة؛ أنهِ بعضها أو ألغِه |
| too_early | الإلغاء مسموح بعد 120 ثانية من الشراء |
| has_sms | وصلت رسالة SMS؛ لا يمكن إلغاء الرقم |
| not_found | لا يوجد رقم كهذا في حسابك |
| try_again | لم يؤكد المورّد الإلغاء؛ حاول مرة أخرى بعد دقيقة |
| rate_limited | طلبات كثيرة خلال دقيقة واحدة |