Even the biggest success Starts with a first step

โครงสร้าง และรายละเอียด API SMS Gateway ของ inanosms.com

gateway sms

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 จากระบบ

>> เช็คยอด คงเหลือ ผ่าน API

 

.:: HTTP API to submit messages ::.

Parameter
ความหมาย
URLhttp://www.inano.com/API_NANO_NAME_V2.asp
UsernameUsername ที่ใช้สมัครสมาชิกกับทาง inanosms.com
PasswordPassword ที่ใช้สมัครสมาชิกกับทาง 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
ความหมาย
> 0Success ส่งได้สำเร็จ โดยค่าที่ส่งมาจะมีค่ามากกว่า 0
- 1เกิดข้อผิดพลาด ไม่สามารถส่งได้
- 2จำนวนเครดิตไม่พอ ต่อการส่ง
- 3ระบบไม่สามารถติดต่อกับผู้ให้บริการได้
- 4ช่องทางการเชื่อมต่อมีปัญหา
- 5username หรือ password ไม่ถูกต้อง
- 6ไม่พบเลขหมายปลายทาง
- 7ไม่พบข้อความที่ต้องการส่ง
- 8ไม่พบชื่อผู้ส่ง
- 9เลือกภาษาไม่ถูกต้อง

 

.:: การเช็คยอดเครดิตคงเหลือ ผ่าน API ::.

คุณสามารถเช็คยอดคงเหลือผ่าน API ง่ายๆ เดียงแค่เปลี่ยน URL ใน API เท่านั้นเอง และมี Parameter แค่ 2 ตัวเท่านั้น

Parameter
ความหมาย
URLhttp://www.inanosms.com/API_NANO_BAL.ASP
UsernameUsername ที่ใช้สมัครสมาชิกกับทาง inanosms.com
PasswordPassword ที่ใช้สมัครสมาชิกกับทาง inanosms.com