Application Programming Interface (API)
ในที่สุดก็จะต้องเขียน 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"
ที่มา THSMS.COM
Relate topics
- nginx - ถึงเวลาซะที
- PHP PDO using
- การเก็บ JSON ใน MySQL ด้วย PHP
- macOS 12 Monterey: Web Server Setup/Apache/MariaDB/PHP Multiple Versions
- Ubuntu Server Installation
- Android : Input type="file" ไม่ทำงานบน webView
- Bug : isset($body['location']) ดันเป็นจริงเมื่อ $body ไม่ใช่ array
- ต้องลองซะหน่อย - กูเกิลเสนอ "No CAPTCHA reCAPTCHA" ผู้ใช้ไม่จำเป็นต้องกรอก CAPTCHA อีกต่อไป
- History API
- วิธีการดูแลโค้ดของวิศวกร Facebook
- MVC - แนวคิดเกี่ยวกับ MVC
- FTP chmod
- Hash & Salt
- Regular Expression - ยังไง ยังไง ก็ใช้ไม่ถูกสักที
- Map overlay
- PHP : How to show Adsense on web
- Blocky เขียนโปรแกรมแบบลาก-วาง
- Facebook Live Streaming
- PHP : Send SMS by smsgateway.com
- Directadmin PHP path