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 key หรือ API key ไม่ถูกต้อง |
| 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 key หรือ API key ไม่ถูกต้อง |
| not_allowed | API จะเปิดให้ใช้เมื่อเติมเงินครั้งแรกเข้ายอดเงินแล้ว |
GET
/prices?app=telegram
ประเทศและราคาตามแอป
ตอบกลับรายการประเทศของแอปหนึ่งแอป เรียงจากถูกไปแพง มีรหัสประเทศ รหัส ISO ราคา และจำนวนเบอร์ที่มีตอนนี้
พารามิเตอร์
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|
| app | string | จำเป็น | รหัสแอป (ค่า app จาก GET /apps) |
ตัวอย่างคำขอ
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 key หรือ API key ไม่ถูกต้อง |
POST
/numbers
ซื้อเบอร์
เลือกแอปและประเทศแล้วซื้อเบอร์ ระบบจะหักราคาจากยอดเงิน และเบอร์จะรอ SMS ตามเวลาที่กำหนด ถ้าการตรวจสอบเบอร์ล่าช้า จะตอบกลับ 202 พร้อมสถานะ checking
พารามิเตอร์
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|
| app | string | จำเป็น | รหัสแอป |
| country | string | จำเป็น | รหัสประเทศ (ค่า country จาก GET /prices) |
ตัวอย่างคำขอ
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 ตามประเทศ มีรหัส ISO รหัสโทรประเทศ และราคาต่อข้อความ (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 key หรือ API key ไม่ถูกต้อง |
| not_allowed | API จะเปิดให้ใช้เมื่อเติมเงินครั้งแรกเข้ายอดเงินแล้ว |
POST
/messages
ส่ง SMS
ส่ง SMS ด้วยรายชื่อผู้รับและข้อความ ผู้รับต่อคำขอสูงสุด 1,000 คน เบอร์ซ้ำจะส่งเพียงครั้งเดียว ถ้าใส่ at จะเป็นการส่งตามเวลานั้น (UTC) ค่าใช้จ่ายรวมจะถูกกันไว้จากยอดเงินตอนส่ง และข้อความที่ล้มเหลวจะคืนเงินเข้ายอดเงิน
พารามิเตอร์
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|
| to | string[] | จำเป็น | รายการเบอร์รูปแบบสากล (มี + และรหัสประเทศ) สูงสุด 1,000 เบอร์ |
| text | string | จำเป็น | ข้อความ GSM-7 160 ตัวอักษร หรือ Unicode 70 ตัวอักษร นับเป็น 1 ข้อความ |
| 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}
สถานะการส่งและรายงานการส่งถึง
ตอบกลับสถานะรวมของ SMS ที่ส่ง และรายงานการส่งถึงของผู้รับแต่ละคน เงินของข้อความที่ล้มเหลวจะรวมอยู่ใน refunded
พารามิเตอร์
| ชื่อ | ประเภท | จำเป็น | คำอธิบาย |
|---|
| id | string | จำเป็น | id ที่ได้ตอนส่ง SMS |
ตัวอย่างคำขอ
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 | ไม่พบเบอร์หรือข้อความนี้ในบัญชีของคุณ |