TODAY SMS

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طلبات كثيرة خلال دقيقة واحدة