โครงสร้าง และรายละเอียด API SMS Gateway ของ inanosms.com
API (Application Programming Interface ) ทางผู้พัฒนาระบบ SMS ได้ทำการสร้าง API เพื่อให้เกิดความสะดวกในการส่งข้อความ SMS ผ่าน เว็บไซต์ หรือ Application ของผู้ใช้งานเอง ซึ่งการทำงานของ API ที่ผู้พัฒนาระบบ SMS ได้พัฒนาขึ้นมานี้ สามารถเชื่อมต่อกับ เว็บ หรือ Application ได้ทุกภาษา โดยที่นักพัฒนาระบบที่จะนำไปใช้งานจำเป็นต้อง ศึกษาโครงสร้าง และทำความเข้าใจ เกี่ยวกับ Parameter และ Retrun Code ต่างๆ ที่ทางผู้พัฒนาระบบ SMS พัฒนาขึ้นมา ให้เข้าใจ และทดสอบก่อนนำไปใช้งานจริง.
ลักษณะการทำงานของระบบง่ายๆ คือ ผู้ใช้งานต้องทำการเตรียมระบบให้พร้อมสำหรับการส่ง SMS เมื่อเตรียมพร้อมระบบแล้ว ในการส่งข้อความ ให้ผู้ใช้งาน Submit ค่า Parameter ต่างๆ ที่ทาง inanosms.com กำหนดไว้ มา เมื่อระบบของทาง inanosms.com ตรวจสอบแล้ว ถูกต้องทุกอย่าง ระบบ inanosms จะทำการส่งต่อข้อมูลไปยังระบบผู้ให้บริการที่ต่างประเทศ พร้อมกับ Return ผลการส่ง ให้กับผู้ใช้บริการด้วย ซึ่ง Parameter ต่างๆ มีอะไรบ้างนั้น สามารถศึกษาจากด้านล่างค่ะ.
หากผู้ใช้งานมีปัญหา ในการเชื่อมต่อ สามารถสอบถาม Help Desk ได้ที่ info@inanosms.com หรือที่ msn : inanosms@msn.com
>> โครงสร้าง API ที่ใช้เชื่อมต่อกับระบบ inanosms.com
>> ตัวอย่าง Code ASP ในการเชื่อมต่อ Gateway
>> ตัวอย่าง Code PHP ในการเชื่อมต่อ Gateway
>> ตัวอย่าง Code ASP.NET ในการเชื่อมต่อ Gateway
>> ความหมาย Retrun Code จากระบบ
.:: HTTP API to submit messages ::.
Parameter | ความหมาย |
|
| URL | http://www.inano.com/API_NANO_NAME_V2.asp | |
| Username | Username ที่ใช้สมัครสมาชิกกับทาง inanosms.com | |
| Password | Password ที่ใช้สมัครสมาชิกกับทาง inanosms.com | |
| Phonenumber | หมายเลขโทรศัพท์ปลายทางที่ต้องการ ส่ง SMS ซึ่งต้องเป็นเลข 10 หลัก เช่น 0897777777 | |
| SMSMode | ประเภทภาษาของข้อความที่ส่ง โดยถ้าส่งข้อความเป็น ภาษาอังกฤษ จะเท่ากับตัว E, ถ้า ข้อความที่จะส่งเป็นภาษาไทย จะต้องเท่ากับตัว T SMSMode=E (English) ,SMSMode=T (Thai) |
|
| Text | ข้อความที่ต้องการส่ง | |
| SName | ชื่อผู้ส่งที่ต้องการ โดยต้องเป็นภาษาอังกฤษ หรือ ตัวเลขเท่านั้น โดยมีเงื่อนไขดังนี้ ถ้าเป็นภาษาอังกฤษ ต้องไม่เกิน 11 ตัวอักษร , ถ้าเป็นตัวเลขต้องไม่เกิน 18 ตัวอักษร |
|
| ** ในการส่งภาษาไทย และภาษาอื่นๆ ที่ไม่ใช่ ภาษาอังกฤษ จะต้องทำการแปลงข้อความที่ต้องการส่ง ให้อยู่ในรูปแบบ UTF16 ซึ่งการเข้าแปลงข้อความต่างๆ สามารถศึกษาได้จากเว็บนี้ http://rishida.net/tools/conversion/ ตัวอย่างผลลัพธ์จากการแปลงเป็น UTF-16 ข้อความ "ทดสอบข้อความ" เมื่อแปลงเป็น UTF-16 จะได้ผลลัพธ์เป็น "0E170E140E2A0E2D0E1A0E020E490E2D0E040E270E320E21" |
||
เมื่อนักพัฒนาระบบ ทำการส่งข้อมูลผ่าน http จะอยู่ในรูปแบบเหมือนตัวอย่าง ดังนี้ เมื่อส่งข้อความ ภาษาไทย http://www.inanosms.com/API_NANO_NAME_V2.ASP?Username=xxxxx&Password=xxxxx&Phonenumber=0897777777&SMSMode=T&SName=inanosms.com&Text=0E170E140E2A0E2D0E1A0E020E490E2D0E040E270E320E21 เมื่อส่งข้อความ ภาษาอังกฤษ http://www.inanosms.com/API_NANO_NAME_V2.ASP?Username=xxxxx&Password=xxxxx&Phonenumber=0897777777&SMSMode=E&SName=inanosms.com&Text=Test SMS from www.inanosms.com | ||
.:: ตัวอย่าง Code ASP ในการเชื่อมต่อ API ::.
|
NUser = "xxxx" PWS = "xxxx" Text = "xxxx" PhoneSend = "xxxx" SMode = "E" SendName = "xxxx" Message = urlencode(Text) strData = "PhoneNumber="&PhoneSend &"&Username=" & NUser & "&Password=" & PWS & "&Text=" & Message & "&SMSMode=" & SMode & "&SName=" & SendName Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP") xmlHTTP.Open "POST", "http://www.inanosms.com/API_NANO_NAME_V2.ASP", 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 <<<<< ค่าที่ทาง inanosms ตอบกลับมา ซึ่งมีความหมาย ดูได้ที่ ความหมายของ Retrun Code |
.:: ตัวอย่าง Code PHP ในการเชื่อมต่อ API ::.
|
$number = $_POST["postnum"]; $message = $_POST["postmessage"]; $message = urlencode($message); $user = $_POST["user"]; $pass = $_POST["pass"]; $strName = "inanosms.com"; $strModeSMS = "T"; $str = $_POST["postmessage"]; $data = "Username=" . $user . "&Password=" . $pass . "&Text=" . $str . "&PhoneNumber=" . $number. "&SMSMode=" . $strModeSMS. "&SName=" . $strName; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,"http://www.inanosms.com/API_NANO_NAME_V2.asp"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $status = curl_exec($ch); <<<<< ค่าที่ทาง inanosms ตอบกลับมา ซึ่งมีความหมาย ดูได้ที่ ความหมายของ Retrun Code curl_close($ch); |
.:: ตัวอย่าง Code ASP.NET ในการเชื่อมต่อ API ::.
|
Imports System.IO Imports System.Net Imports System.Net.WebRequest Imports System.Net.WebResponse Private Function SendSMS_txtLocal(ByVal Test As Boolean, _ ByVal iFrom As String, _ ByVal Message As String, _ ByVal SendTo As String, _ ByVal URL As String) As String Const TransportURL As String = "http://www.inanosms.com/API_NANO_NAME_V2.ASP" Const TransportUserName As String = "Register Username" Const TransportPassword As String = "mypassword" Const SMode As String = "E" ' ภาษาที่ใช้ส่ง Dim strPost As String strPost = "Username=" + TransportUserName _ + "&Password=" + TransportPassword _ + "&Text=" + Message _ + "&Sname=" + iFrom _ + "&SMSMode=" + SMode _ + "&Phonenumber=" + SendTo Dim request As WebRequest = WebRequest.Create(TransportURL) request.Method = "POST" Dim byteArray As Byte() = Encoding.UTF8.GetBytes(strPost) ' Create POST request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = byteArray.Length Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() ' Get the response. Dim response As WebResponse = request.GetResponse() dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() ' Clean up the streams. reader.Close() dataStream.Close() response.Close() ' Return result to calling function If responseFromServer.Length > 0 Then Return responseFromServer Else Return CType(response, HttpWebResponse).StatusDescription End If End Function |
.:: ความหมายของ Retrun Code ::.
ทุกครั้งที่ทำการ ส่งข้อความระบบของ diy-sms จะมีการส่งผลการส่งกลับมาทุกครั้ง ซึ่งการตอบกลับของระบบ จะตอบกลับ มาในรูปแบบ ดังนี้
Code | ความหมาย |
| > 0 | Success ส่งได้สำเร็จ โดยค่าที่ส่งมาจะมีค่ามากกว่า 0 |
| - 1 | เกิดข้อผิดพลาด ไม่สามารถส่งได้ |
| - 2 | จำนวนเครดิตไม่พอ ต่อการส่ง |
| - 3 | ระบบไม่สามารถติดต่อกับผู้ให้บริการได้ |
| - 4 | ช่องทางการเชื่อมต่อมีปัญหา |
| - 5 | username หรือ password ไม่ถูกต้อง |
| - 6 | ไม่พบเลขหมายปลายทาง |
| - 7 | ไม่พบข้อความที่ต้องการส่ง |
| - 8 | ไม่พบชื่อผู้ส่ง |
| - 9 | เลือกภาษาไม่ถูกต้อง |
.:: การเช็คยอดเครดิตคงเหลือ ผ่าน API ::.
คุณสามารถเช็คยอดคงเหลือผ่าน API ง่ายๆ เดียงแค่เปลี่ยน URL ใน API เท่านั้นเอง และมี Parameter แค่ 2 ตัวเท่านั้น
Parameter | ความหมาย |
| URL | http://www.inanosms.com/API_NANO_BAL.ASP |
| Username | Username ที่ใช้สมัครสมาชิกกับทาง inanosms.com |
| Password | Password ที่ใช้สมัครสมาชิกกับทาง inanosms.com |
