ส่งคำสั่ง
ส่งคำสั่ง GPRS ไปยังอุปกรณ์เพื่อสั่งงานรีเลย์ตัดสตาร์ทเครื่องยนต์ (immobilizer) แบบเรียลไทม์ อุปกรณ์ต้องออนไลน์อยู่จึงจะได้รับคำสั่ง
การยืนยันตัวตนทำผ่าน Query Parameter user_api_hash (ดู การยืนยันตัวตน)
พารามิเตอร์ (Query Parameters)
| ชื่อ | ชนิด | จำเป็น | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|---|
user_api_hash | string | ✅ | — | รหัส API ของผู้ใช้ (API Key) |
lang | string | ✅ | en | ภาษาของข้อความในผลลัพธ์ เช่น en, th |
เนื้อหาคำขอ (Request Body)
ส่งเป็น JSON ผ่าน Body ของคำขอ
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
device_id | integer | ✅ | รหัสอุปกรณ์ที่ต้องการส่งคำสั่ง |
type | string | ✅ | ระบุ custom สำหรับส่งคำสั่งดิบไปยังอุปกรณ์ |
data | string | ✅ | คำสั่งที่ต้องการส่ง (ดูรายการคำสั่งที่รองรับด้านล่าง) |
คำสั่งที่รองรับ (data)
| คำสั่ง | ความหมาย |
|---|---|
RELAY,1# | ตัดสตาร์ทเครื่องยนต์ |
RELAY,0# | ต่อสตาร์ทเครื่องยนต์ |
ตัวอย่างการเรียกใช้งาน
- cURL
- JavaScript
- PHP
# ตัดสตาร์ทเครื่องยนต์
curl -X POST "https://lite.wetrustgps.com/api/send_gprs_command?lang=th&user_api_hash=YOUR_API_HASH" \
-H "Content-Type: application/json" \
-d '{"device_id": YOUR_DEVICE_ID, "type": "custom", "data": "RELAY,1#"}'
# ต่อสตาร์ทเครื่องยนต์
curl -X POST "https://lite.wetrustgps.com/api/send_gprs_command?lang=th&user_api_hash=YOUR_API_HASH" \
-H "Content-Type: application/json" \
-d '{"device_id": YOUR_DEVICE_ID, "type": "custom", "data": "RELAY,0#"}'
const params = new URLSearchParams({
lang: 'th',
user_api_hash: 'YOUR_API_HASH',
});
async function sendRelayCommand(deviceId, cut) {
const res = await fetch(
`https://lite.wetrustgps.com/api/send_gprs_command?${params}`,
{
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
device_id: deviceId,
type: 'custom',
data: cut ? 'RELAY,1#' : 'RELAY,0#', // 1 = ตัดสตาร์ท, 0 = ต่อสตาร์ท
}),
},
);
return res.json();
}
const DEVICE_ID = 'YOUR_DEVICE_ID';
// ตัดสตาร์ทเครื่องยนต์
await sendRelayCommand(DEVICE_ID, true);
// ต่อสตาร์ทเครื่องยนต์
await sendRelayCommand(DEVICE_ID, false);
<?php
$query = http_build_query([
'lang' => 'th',
'user_api_hash' => 'YOUR_API_HASH',
]);
function sendRelayCommand($deviceId, bool $cut, string $query): array {
$ch = curl_init("https://lite.wetrustgps.com/api/send_gprs_command?{$query}");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'device_id' => $deviceId,
'type' => 'custom',
'data' => $cut ? 'RELAY,1#' : 'RELAY,0#', // 1 = ตัดสตาร์ท, 0 = ต่อสตาร์ท
]),
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$deviceId = 'YOUR_DEVICE_ID';
// ตัดสตาร์ทเครื่องยนต์
sendRelayCommand($deviceId, true, $query);
// ต่อสตาร์ทเครื่องยนต์
sendRelayCommand($deviceId, false, $query);
การตอบกลับ (Response)
เมื่อสำเร็จจะได้รับสถานะ 200 OK
{
"status": 1,
"message": "คำสั่ง ส่งไปเรียบร้อย"
}
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
status | integer | 1 = ส่งคำสั่งสำเร็จ, 0 = ไม่สำเร็จ |
message | string | ข้อความอธิบายผลลัพธ์ |
เมื่อเกิดข้อผิดพลาด
กรณี 400 Bad Request และ 401 Unauthorized
{
"status": 0,
"errors": {}
}
กรณี 500 Internal Server Error
{
"status": 0,
"error": "string"
}
รหัสสถานะ
| สถานะ | ความหมาย |
|---|---|
200 OK | สำเร็จ ส่งคำสั่งไปยังอุปกรณ์เรียบร้อย |
400 Bad Request | คำขอไม่ถูกต้อง เช่น พารามิเตอร์ไม่ครบหรือรูปแบบข้อมูลผิด |
401 Unauthorized | ไม่ได้แนบ user_api_hash หรือคีย์ไม่ถูกต้อง |
500 Internal Server Error | เกิดข้อผิดพลาดที่ฝั่งเซิร์ฟเวอร์ |
:::note ข้อควรทราบ
200 OK ยืนยันเพียงว่าอุปกรณ์ออนไลน์และได้รับข้อความคำสั่งไปแล้วจริง ๆ เท่านั้น ระบบฝั่ง API ไม่ได้ตรวจสอบว่าค่า data ที่ส่งเป็นรูปแบบคำสั่งที่ถูกต้องหรือไม่ ดังนั้นแม้พิมพ์ผิดหรือใช้คำสั่งที่อุปกรณ์ไม่รู้จัก ก็ยังได้รับ 200 OK เช่นเดิม เพียงแต่อุปกรณ์จะเพิกเฉยต่อคำสั่งนั้นแทน จึงควรใช้เฉพาะค่าที่ระบุไว้ในเอกสารนี้ (RELAY,1# หรือ RELAY,0#) เพื่อให้มั่นใจว่าอุปกรณ์ประมวลผลได้จริง
:::
:::danger คำเตือน
คำสั่ง RELAY,1# ใช้สำหรับตัดสตาร์ทเครื่องยนต์ ตัวอุปกรณ์มีกลไกความปลอดภัยในตัวอยู่แล้ว โดยจะทำการตัดจริงก็ต่อเมื่อความเร็วของรถต่ำกว่าเกณฑ์ที่กำหนดไว้เท่านั้น (เช่น รถจอดอยู่) หากส่งคำสั่งขณะรถกำลังเคลื่อนที่ด้วยความเร็วสูงกว่าเกณฑ์ อุปกรณ์จะไม่ตัดสตาร์ทให้ทันที แม้จะมีความปลอดภัยระดับหนึ่งจากกลไกนี้ ก็ยังควรส่งคำสั่งด้วยความระมัดระวังเสมอ
:::