คู่มือ SMS API (Application Programming Interface)

SMS API URL : http://www.sbuysms.com/api.php
Method : GET / POST
Access Policy : username & password
Download : คู่มือฉบับ PDF

การส่งค่า
ชื่อตัวแปร ชนิดข้อมูล คำอธิบาย
command send / balance ประเภทการใช้งาน send = ส่งข้อความ / balance = ตรวจสอบเครดิตคงเหลือ
username STRING(30) ชื่อผู้ใช้ SBUYSMS.COM
password STRING(30) รหัสผ่าน SBUYSMS.COM
msisdn LONGTEXT เบอร์โทรศัพท์ คั้นด้วยเครื่องหมาย “,” เช่น 0811111111,0822222222
message LONGTEXT ข้อความที่ต้องการส่ง encoding UTF-8, TIS-620 เท่านั้น
sender STRING(10) ชื่อผู้ส่งที่อนุญาติ
ScheduledDelivery STRING(15) ตั้งเวลาส่ง YYYYMMDD:hhii เช่น 20111029:2355
YYYY = ปี ค.ศ. เช่น 2011
MM = เดือน เช่น 10
DD = วัน เช่น 29
hh = ชั่วโมง เช่น 23 (00-23)
ii = นาที เช่น 55 (บังคับต้องใส่เป็น 00,05,10,15,20,25,30,35,40,45,50,55)

การรับค่า (XML)
ชื่อตัวแปร ชนิดข้อมูล คำอธิบาย
Status 0,1 0 = ไม่สำเร็จ,ผิดผลาด / 1 = สำเร็จ,ถูกต้อง
Detail LONGTEXT คำอธิบาย
Msisdn STRING(10) เบอร์โทรศัพท์ เช่น 0811111111
Transaction STRING(35) รหัสอ้างอิงรายการ
UsedCredit INTEGER จำนวนเครดิตที่ใช้
Credit (balance) INTEGER จำนวนเครดิตคงเหลือ (เฉพาะประเภทการใช้งานแบบ balance)
Expire (balance) DATE วันหมดอายุ (เฉพาะประเภทการใช้งานแบบ balance)

ผลลัพท์ Error Detail
ชื่อตัวแปร คำอธิบาย
ERROR: EMPTY COMMAND ไม่พบหรือใส่ command ไม่ถูกต้อง ต้องใส่เป็น send / balance เท่านั้น
ERROR: USERNAME ไม่พบหรือ username มีรูปแบบไม่ถูกต้อง
ERROR: PASSWORD ไม่พบหรือ password มีรูปแบบไม่ถูกต้อง
ERROR: DISABLE API ไม่มีสิทธิ์ใช้งาน API
ERROR: LOGIN FAIL username หรือ password ไม่ถูกต้อง
ERROR: CREDIT EMPTY จำนวนเครดิตคงเหลือ 0 (ศูนย์)
ERROR: INVALID PARAMETER ส่งตัวแปรหลักไม่ครบถ้วน เช่น เลขหมาย, ข้อความ
ERROR: MESSAGE UTF-8 OR TIS-620 ONLY ข้อความที่ต้องการส่งต้องเป็น encoding UTF-8, TIS-620 เท่านั้น
ERROR: MESSAGE LONG ข้อความยาวเกินไป
ERROR: INVALID MSISDN ไม่พบเลขหมาย
ERROR: SENDER NOT FOUND ชื่อผู้ส่งไม่ถูกต้อง หรือชื่อไม่ได้รับการอนุญาติ
ERROR: ScheduledDelivery FORMAT รูปแบบการตั้งเวลาไม่ถูกต้อง
ERROR: Msisdn NOT FOUND ไม่พบเลขหมายที่สามารถส่งได้
ERROR: CREDIT ENOUGH จำนวนเครดิตไม่เพียงพอสำหรับการส่งในครั้งนี้
ERROR: Scheduled Delivery Fail ตั้งเวลาส่งข้อความ ไม่สำเร็จ
ERROR: BLACKLIST เลขหมาย อยู่ในรายการ blacklist
ERROR: Msisdn NOT FORMAT รูปแบบเลขหมาย ไม่ถูกต้อง
ERROR: NOT SEND ส่งข้อความ ไม่สำเร็จ
ERROR: GATEWAY ERROR SMS Gateway ไม่สามารถใช้งานได้ชั่วคราว
ERROR: MAINTENANCE MODE กำลังปรับปรุงระบบ

รูปแบบ การส่งข้อความ

http://www.sbuysms.com/api.php?command=send&username=xxxxx&password=xxxxx&msisdn=08xxxxxxxx&message=Test SMS&sender=xxxxx&ScheduledDelivery=20111029:2355
Status Type XML
0 = ไม่สำเร็จ <SBUYSMS>
     <Status>0</Status>
     <Detail>ERROR: LOGIN FAIL</Detail>
</SBUYSMS>
1 = สำเร็จ <SBUYSMS>
     <QUEUE>
          <Status>1</Status>
          <Transaction>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</Transaction>
          <Msisdn>0811111111</Msisdn>
          <UsedCredit>3</UsedCredit>
     </QUEUE>
     <QUEUE>
     .
     . รายการ QUEUE ถัดไป ....
     .

     </QUEUE>
</SBUYSMS>

รูปแบบ การตรวจสอบยอดคงเหลือ
http://www.sbuysms.com/api.php?command=balance&username=xxxxx&password=xxxxx
Status Type XML
0 = ไม่สำเร็จ <SBUYSMS>
     <Status>0</Status>
     <Detail>ERROR: LOGIN FAIL</Detail>
</SBUYSMS>
1 = สำเร็จ <SBUYSMS>
     <Status>1</Status>
     <Credit>999999</Credit>
     <Expire>xxxx-xx-xx</Expire>
</SBUYSMS>

PHP (ดาวน์โหลดไฟล์ ตัวอย่าง)

<?php
$url = "http://www.sbuysms.com/api.php";
$user = "xxxxx";
$pass = "xxxxx";
$phone = "0811111111,0822222222,0833333333";
$message = "Test";

$param = "command=send&username=$user&password=$pass&msisdn=$phone&message=$message";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
$result = curl_exec($ch);
curl_close ($ch);
?>
ASP
<%
url = "http://www.sbuysms.com/api.php"
user = "xxxx"
pass = "xxxx"
phone = "0811111111,0822222222,0833333333"
message = " Test"

strData = "command=send&username=" & user & "&password=" & pass & "&msisdn =" & phone & "&message=" & message

Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP")
xmlHTTP.Open "POST", url, False
xmlHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlHTTP.SetRequestHeader "Content-Length", Len(strData)
xmlHTTP.SetRequestHeader "Connection", "close"
xmlHTTP.Send strData
strReturn = xmlHTTP.ResponseText
Set xmlHTTP = Nothing

Response.write "strReturn="&strReturn
%>