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"
