POST /message/send sms:send
ส่ง SMS ส่งข้อความถึงปลายทางหนึ่งหรือหลายเบอร์ในคำขอเดียว ใส่ตัวแปรรายคน (personalize) หรือตั้งเวลาส่งล่วงหน้าได้
originstring ชื่อผู้ส่ง (Sender Name) ที่อนุมัติแล้ว
messagestring ข้อความที่ต้องการส่ง
recipientsstring[] เบอร์ปลายทาง รูปแบบ 0xxxxxxxxx หรือ 66xxxxxxxxx
scheduledTimestring? เวลาส่งแบบ ISO 8601 (เว้นว่าง = ส่งทันที)
variablesobject? ค่าตัวแปรรายคนสำหรับ personalize
คำขอ คัดลอก
curl -X POST https://sepsms.com/api/v2/message/send \
-H "X-API-Key: sk_sep_..." \
-H "Content-Type: application/json" \
-d '{
"origin": "SEPSMS",
"recipients": ["66812345678", "66898765432"],
"message": "สวัสดีคุณลูกค้า รับส่วนลด 10% วันนี้",
"scheduledTime": null
}' ผลลัพธ์
{
"result": {
"uuid": "9f8b2c1e-...",
"refNo": "SP240115...",
"totalMsisdn": 2,
"totalCredit": 2,
"blockedCount": 0,
"status": "pending"
}
} POST /otp/send otp:send
ส่ง OTP ส่งรหัสยืนยันแบบใช้ครั้งเดียวพร้อมรหัสอ้างอิง (reference) ระบบสร้างรหัสและส่งทาง SMS ให้ รหัสจะไม่ถูกส่งกลับมาในผลลัพธ์
destinationstring เบอร์ปลายทาง
originstring ชื่อผู้ส่ง
templatestring? ข้อความ ต้องมี {code} (และใส่ {ref} ได้)
ttlSecondsnumber? อายุรหัส 60-600 วินาที (ค่าเริ่มต้น 300)
codeLengthnumber? ความยาวรหัส 4-8 หลัก
คำขอ คัดลอก
curl -X POST https://sepsms.com/api/v2/otp/send \
-H "X-API-Key: sk_sep_..." \
-H "Content-Type: application/json" \
-d '{
"destination": "66812345678",
"origin": "SEPSMS",
"template": "รหัสยืนยันของคุณคือ {code} (Ref: {ref})"
}' ผลลัพธ์
{
"result": {
"uuid": "1a2b...",
"reference": "A3K9X2",
"destination": "66812345678",
"expiresAt": "2026-01-15T10:35:00.000Z",
"ttlSeconds": 300
}
} POST /otp/verify otp:verify
ตรวจสอบ OTP ตรวจสอบรหัสที่ผู้ใช้กรอก โดยอ้างอิงจาก reference ที่ได้ตอนส่ง
referencestring รหัสอ้างอิงที่ได้จากตอนส่ง OTP
pinstring รหัสที่ผู้ใช้กรอก
คำขอ คัดลอก
curl -X POST https://sepsms.com/api/v2/otp/verify \
-H "X-API-Key: sk_sep_..." \
-H "Content-Type: application/json" \
-d '{ "reference": "A3K9X2", "pin": "123456" }' ผลลัพธ์
{ "result": { "reference": "A3K9X2", "verified": true } } GET /message/{uuid} sms:read
สถานะการนำส่ง ดูสรุปสถานะการนำส่งของข้อความที่ส่งไป (ดูรายเบอร์ได้ที่ /message/{uuid}/recipients)
uuidpath uuid ที่ได้ตอนส่ง SMS
คำขอ คัดลอก
curl https://sepsms.com/api/v2/message/9f8b2c1e-... \
-H "X-API-Key: sk_sep_..." ผลลัพธ์
{
"result": {
"uuid": "9f8b2c1e-...",
"origin": "SEPSMS",
"status": "completed",
"totalMsisdn": 2,
"drSummary": [
{ "drStatus": "success", "count": 2 }
],
"refundedCount": 0
}
} GET /message/credit/balance credit:read
ยอดเครดิตคงเหลือ ตรวจสอบเครดิตคงเหลือในบัญชี
คำขอ คัดลอก
curl https://sepsms.com/api/v2/message/credit/balance \
-H "X-API-Key: sk_sep_..." ผลลัพธ์
{ "result": { "balance": 18420 } } POST /webhooks webhooks:write
Webhook แจ้งเตือน ลงทะเบียนและจัดการ URL ปลายทางจากแดชบอร์ดนักพัฒนา (ต้องเข้าสู่ระบบ ไม่รองรับการสร้างผ่าน API Key) เมื่อลงทะเบียนแล้ว ทุกเหตุการณ์ เช่น ส่งสำเร็จ/ล้มเหลว, ผลนำส่ง และเครดิตใกล้หมด จะถูกส่งไปที่ URL ของคุณ ทุก payload เซ็นด้วย HMAC-SHA256 (header X-Webhook-Signature)
urlstring ปลายทาง HTTPS ที่จะรับ event
eventsstring[] รายการ event ที่ต้องการรับ
คำขอ คัดลอก
# Webhook endpoints are registered + managed in the
# developer dashboard (logged-in). Registration is not
# available to API keys. Registration payload:
{
"url": "https://your-app.com/hooks/sepsms",
"events": ["dr.success", "dr.failed"]
} ผลลัพธ์
// POST sent to your URL. The event name, timestamp and
// signature travel in headers, not the body:
// X-Webhook-Event: dr.success
// X-Webhook-Timestamp: 1737020405
// X-Webhook-Signature: t=1737020405,v1=<hmac-sha256>
{
"smsUuid": "9f8b2c1e-...",
"msisdn": "66812345678",
"txId": "8f3a1c9d...",
"status": "success"
}