SMS API

Application Programming Interface (API)

    THSMS ได้เตรียมช่องทางการส่งข้อความผ่าน API ไว้หลายช่องทางโดย Support format ต่างๆอาทิเช่น POST, GET, REST, SOAP, XMLRPC พร้อมทั้งได้เตรียมโค๊ดตัวอย่างให้คณสามารถ Download ไปใช้งานได้ทันที

ค่าพารามิเตอร์ที่ส่งมาให้ API

ค่าตัวแปร ชนิด คำอธิบาย
method request ต้องการเรียกใช้ service อะไร โดยมีค่าที่เป็นไปได้คือ
credit = ตรวจสอบจำนวนเคดิตที่เหลือ
send = ส่งข้อความ
username request ชื่อผู้ใช้งานที่ Login เข้าสู่ระบบ
password request รหัสผ่านที่ใช้ Login เข้าสู่ระบบ
from request ชื่อ sender ที่ต้องการส่งโดยต้องขอชื่อจากทางเว็บไซต์ก่อน ตัวอย่าง 0000
to request หมายเลขของผู้รับเช่น 0899999999
message request ข้อความที่จะส่ง
status reply สถาณะที่ API ตอบกลับมา โดยมีค่าสองอย่างคือ success และ fail
message reply หาก status = fail จะมี message มาด้วยโดยจะบอกว่า fail เนื่องจากสาเหตุอะไร
uuid reply Universally Unique Identifier เป็นหมายเลขยืนยันขอความที่ส่ง โดยจะเป็นตัวยืนยันกับทาง API ว่าข้อความดังกล่าวได้ถูกส่งไปจริงหรือไม่

ตัวอย่างข้อความตอบกลับ โดยการเรียกใช้ method=credit

<?xml version="1.0" encoding="UTF-8"?>

	
		success
		0
	
 
							

ตัวอย่างข้อความตอบกลับ โดยการเรียกใช้ method=send

<?xml version="1.0" encoding="UTF-8"?>

	
		OK
		0001-3d2f07cc-4dbb4356-a040-4f869e19
		7
		success
	
 
							

ตัวอย่างการส่งข้อความโดยใช้ PHP + CURL

							<?php
							$sms = new thsms();

							$sms->username	= 'username';
							$sms->password	= 'password';

							$a = $sms->getCredit();
							var_dump( $a);

							$b = $sms->send( '0000', '0898765432', 'ทดสอบ');
							var_dump( $b);

							class thsms
							{
								 var $api_url	= 'http://www.thsms.com/api/rest';
								 var $username	= null;
								 var $password	= null;

								public function getCredit()
								{
									$params['method']	= 'credit';
									$params['username']	= $this->username;
									$params['password']	= $this->password;

									$result	= $this->curl( $params);

									$xml = @simplexml_load_string( $result);

									if (!is_object($xml))
									{
										return array( FALSE, 'Respond error');

									} else {

										if ($xml->credit->status == 'success')
										{
											return array( TRUE, $xml->credit->status);
										} else {
											return array( FALSE, $xml->credit->message);
										}
									}
								}

								public function send( $from='0000', $to=null, $message=null)
								{
									$params['method']	= 'send';
									$params['username']	= $this->username;
									$params['password']	= $this->password;

									$params['from']		= $from;
									$params['to']		= $to;
									$params['message']	= $message;

									if (is_null( $params['to']) || is_null( $params['message']))
									{
										return FALSE;
									}

									$result	= $this->curl( $params);
									$xml = @simplexml_load_string( $result);
									if (!is_object($xml))
									{
										return array( FALSE, 'Respond error');
									} else {
										if ($xml->send->status == 'success')
										{
											return array( TRUE, $xml->send->uuid);
										} else {
											return array( FALSE, $xml->send->message);
										}
									}
								}
								
								private function curl( $params=array())
								{
									$ch = curl_init();
									curl_setopt($ch, CURLOPT_URL, $this->api_url);
									curl_setopt($ch, CURLOPT_HEADER, 0);
									curl_setopt($ch, CURLOPT_POST, 1);
									curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $params));
									curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

									$response  = curl_exec($ch);
									$lastError = curl_error($ch);
									$lastReq = curl_getinfo($ch);
									curl_close($ch);

									return $response;
								}
							}
							?>
							

ตัวอย่างการส่งข้อความผ่าน Shell Script โดยส่งแบบ GET

							#!/bin/bash

							USERNAME=demo
							PASSWORD=demo
							FROM=0000
							TO=0898765432
							MESSAGE=Test
							curl -q "http://www.thsms.com/api/rest?method=send&username=$USERNAME&password=$PASSWORD&from=$FROM&to=$TO&message=$MESSAGE"