GET
/balance
ব্যালেন্স দেখা
আপনার অ্যাকাউন্টের বর্তমান ব্যালেন্স মার্কিন ডলারে ফেরত দেয়। কোড গ্রহণ আর SMS পাঠানো একই ব্যালেন্স ব্যবহার করে।
প্যারামিটার
কোনো প্যারামিটার নেই।
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/balance \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"balance": "42.5000",
"currency": "USD"
}
সম্ভাব্য এরর
| unauthorized | API কী নেই বা ভুল |
| not_allowed | প্রথম টপ-আপ জমা হলে API চালু হয় |
| rate_limited | 1 মিনিটে অনেক বেশি রিকোয়েস্ট |
GET
/apps
অ্যাপের তালিকা
এই মুহূর্তে নম্বর আছে এমন অ্যাপের তালিকা দেয়। অ্যাপ কোড, নাম, সবচেয়ে কম দাম আর নম্বর আছে এমন দেশের সংখ্যা ফেরত দেয়।
প্যারামিটার
কোনো প্যারামিটার নেই।
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/apps \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
[
{ "app": "telegram", "name": "Telegram", "from": "0.4515", "countries": 61 }
]
সম্ভাব্য এরর
| unauthorized | API কী নেই বা ভুল |
| not_allowed | প্রথম টপ-আপ জমা হলে API চালু হয় |
GET
/prices?app=telegram
একটি অ্যাপের দেশ ও দাম
একটি অ্যাপের দেশগুলো সবচেয়ে সস্তা থেকে শুরু করে ফেরত দেয়। কান্ট্রি কোড, ISO কোড, দাম আর এখন কতগুলো নম্বর আছে তা থাকে।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| app | string | আবশ্যক | অ্যাপ কোড (GET /apps-এর app মান) |
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/prices?app=telegram \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
[
{ "country": "indonesia", "iso": "id", "price": "0.4515", "stock": 702866 }
]
সম্ভাব্য এরর
| bad_request | দরকারি কোনো মান নেই বা ভুল ফরম্যাটে আছে |
| unauthorized | API কী নেই বা ভুল |
POST
/numbers
নম্বর কেনা
আপনার বেছে নেওয়া অ্যাপ ও দেশের জন্য একটি নম্বর কেনে। দাম ব্যালেন্স থেকে কাটা হয় আর নম্বরটি নির্ধারিত সময় SMS-এর জন্য অপেক্ষা করে। নম্বর নিশ্চিত হতে বেশি সময় লাগলে যাচাইয়ের অবস্থাসহ 202 ফেরত দেয়।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| app | string | আবশ্যক | অ্যাপ কোড |
| country | string | আবশ্যক | দেশের কোড (GET /prices-এর country মান) |
রিকোয়েস্টের নমুনা
request
$ curl -X POST https://today-sms.com/api/v1/numbers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app":"telegram","country":"indonesia"}'
রেসপন্সের নমুনা
response
{
"id": "N-7K2M-QX4P-9D3A",
"app": "telegram",
"country": "indonesia",
"phone": "+6281234567890",
"price": "0.4515",
"refunded": "0.0000",
"status": "waiting",
"expires_at": "2026-10-18T09:20:00.000Z",
"sms": []
}
সম্ভাব্য এরর
| bad_request | দরকারি কোনো মান নেই বা ভুল ফরম্যাটে আছে |
| not_enough_balance | ব্যালেন্স যথেষ্ট নয়, আগে টপ-আপ করুন |
| too_many_open | খোলা নম্বর অনেক বেশি, কয়েকটি শেষ বা বাতিল করুন |
| no_numbers | এই মুহূর্তে এই অ্যাপ ও দেশের কোনো নম্বর নেই |
GET
/numbers/{id}
নম্বরের অবস্থা ও SMS
নম্বরের অবস্থা আর এ পর্যন্ত আসা সব SMS ফেরত দেয়। ভেরিফিকেশন কোড আলাদাভাবে code-এও দেওয়া থাকে।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| id | string | আবশ্যক | নম্বর কেনার সময় পাওয়া id (N- দিয়ে শুরু) |
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/numbers/N-7K2M-QX4P-9D3A \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"id": "N-7K2M-QX4P-9D3A",
"status": "received",
"sms": [
{ "code": "482913", "text": "Your code is 482913", "at": "2026-10-18T09:02:11.000Z" }
]
}
সম্ভাব্য এরর
| not_found | আপনার অ্যাকাউন্টে এমন কোনো নম্বর বা মেসেজ নেই |
POST
/numbers/{id}/cancel
নম্বর বাতিল
কোনো SMS আসেনি এমন নম্বর কেনার 120 সেকেন্ড পর থেকে বাতিল করে। পুরো টাকা ব্যালেন্সে ফিরে আসে।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| id | string | আবশ্যক | নম্বরের id (N- দিয়ে শুরু) |
রিকোয়েস্টের নমুনা
request
$ curl -X POST https://today-sms.com/api/v1/numbers/N-7K2M-QX4P-9D3A/cancel \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"id": "N-7K2M-QX4P-9D3A",
"status": "canceled",
"refunded": "0.4515"
}
সম্ভাব্য এরর
| too_early | কেনার 120 সেকেন্ড পর থেকে বাতিল করতে পারবেন |
| has_sms | SMS এসেছে এমন নম্বর বাতিল করা যায় না |
| try_again | বাতিল এখনো নিশ্চিত হয়নি, 1 মিনিট পর আবার চেষ্টা করুন |
| not_found | আপনার অ্যাকাউন্টে এমন কোনো নম্বর বা মেসেজ নেই |
POST
/numbers/{id}/finish
নম্বর শেষ করা
কোড পাওয়ার পর নম্বরটি বন্ধ করে। বন্ধ নম্বরে আর SMS আসে না।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| id | string | আবশ্যক | নম্বরের id (N- দিয়ে শুরু) |
রিকোয়েস্টের নমুনা
request
$ curl -X POST https://today-sms.com/api/v1/numbers/N-7K2M-QX4P-9D3A/finish \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"id": "N-7K2M-QX4P-9D3A",
"status": "finished"
}
সম্ভাব্য এরর
| not_found | আপনার অ্যাকাউন্টে এমন কোনো নম্বর বা মেসেজ নেই |
GET
/messages/prices
দেশ অনুযায়ী SMS-এর দাম
SMS পাঠানোর জন্য প্রতিটি দেশের প্রতি SMS-এর দাম ফেরত দেয়। ISO কোড, কান্ট্রি কোড আর প্রতি SMS-এর দাম (USD) থাকে।
প্যারামিটার
কোনো প্যারামিটার নেই।
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/messages/prices \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
[
{ "iso": "us", "dial": "1", "price": "0.0042" },
{ "iso": "gb", "dial": "44", "price": "0.0066" }
]
সম্ভাব্য এরর
| unauthorized | API কী নেই বা ভুল |
| not_allowed | প্রথম টপ-আপ জমা হলে API চালু হয় |
POST
/messages
SMS পাঠানো
প্রাপকদের তালিকায় আপনার মেসেজসহ SMS পাঠায়। প্রতি রিকোয়েস্টে সর্বোচ্চ 1,000 জন প্রাপক, আর একই নম্বর একাধিকবার থাকলে একটিই মেসেজ যায়। নির্দিষ্ট সময়ে (UTC) পাঠাতে at যোগ করুন। পাঠানোর সময় মোট খরচ ব্যালেন্স থেকে আটকে রাখা হয়, আর ব্যর্থ অংশের টাকা ব্যালেন্সে ফেরত আসে।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| to | string[] | আবশ্যক | আন্তর্জাতিক ফরম্যাটে (+ ও কান্ট্রি কোডসহ) নম্বরের তালিকা, সর্বোচ্চ 1,000টি |
| text | string | আবশ্যক | মেসেজের লেখা। 160 GSM-7 বা 70 ইউনিকোড অক্ষরে একটি SMS |
| at | string | ঐচ্ছিক | শিডিউলের সময়, ISO 8601 UTC (যেমন 2026-10-18T10:00:00Z) |
| ref | string | ঐচ্ছিক | আপনার নিজস্ব রেফারেন্স, যেমন অর্ডার নম্বর, সর্বোচ্চ 64 অক্ষর |
রিকোয়েস্টের নমুনা
request
$ curl -X POST https://today-sms.com/api/v1/messages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"to":["+14155550100","+447700900123"],"text":"Your code is 482913"}'
রেসপন্সের নমুনা
response
{
"id": "m_7Q2K9X",
"status": "queued",
"recipients": 2,
"parts": 1,
"encoding": "GSM-7",
"cost": "0.0136"
}
সম্ভাব্য এরর
| bad_request | দরকারি কোনো মান নেই বা ভুল ফরম্যাটে আছে |
| too_many_recipients | প্রতি রিকোয়েস্টে সর্বোচ্চ 1,000 জন প্রাপক |
| not_enough_balance | ব্যালেন্স যথেষ্ট নয়, আগে টপ-আপ করুন |
| not_available | এই প্রোডাক্ট শিগগিরই চালু হবে। এই রিকোয়েস্ট গ্রহণ করা হয়নি এবং আপনার ব্যালেন্স আগের মতোই আছে |
GET
/messages/{id}
পাঠানোর অবস্থা ও ডেলিভারি রিপোর্ট
পাঠানো মেসেজের সামগ্রিক অবস্থা আর প্রত্যেক প্রাপকের ডেলিভারি রিপোর্ট ফেরত দেয়। ব্যর্থ অংশের টাকা refunded-এ যোগ হয়।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| id | string | আবশ্যক | পাঠানোর সময় পাওয়া id |
রিকোয়েস্টের নমুনা
request
$ curl https://today-sms.com/api/v1/messages/m_7Q2K9X \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"id": "m_7Q2K9X",
"status": "done",
"cost": "0.0136",
"refunded": "0.0083",
"reports": [
{ "to": "+14155550100", "status": "delivered", "at": "2026-10-18T10:00:04Z" },
{ "to": "+447700900123", "status": "failed", "at": "2026-10-18T10:00:09Z" }
]
}
সম্ভাব্য এরর
| not_found | আপনার অ্যাকাউন্টে এমন কোনো নম্বর বা মেসেজ নেই |
POST
/messages/{id}/cancel
শিডিউল করা পাঠানো বাতিল
এখনো যায়নি এমন শিডিউল করা পাঠানো বাতিল করে। আটকে রাখা পুরো টাকা ব্যালেন্সে ফিরে আসে।
প্যারামিটার
| নাম | টাইপ | আবশ্যক | বিবরণ |
|---|
| id | string | আবশ্যক | মেসেজের id |
রিকোয়েস্টের নমুনা
request
$ curl -X POST https://today-sms.com/api/v1/messages/m_7Q2K9X/cancel \
-H "Authorization: Bearer YOUR_API_KEY"
রেসপন্সের নমুনা
response
{
"id": "m_7Q2K9X",
"status": "canceled",
"refunded": "0.0136"
}
সম্ভাব্য এরর
| too_late | পাঠানো শুরু হয়ে গেছে এমন মেসেজ বাতিল করা যায় না |
| not_found | আপনার অ্যাকাউন্টে এমন কোনো নম্বর বা মেসেজ নেই |