📖 Tài Liệu Hướng Dẫn RESTful API
Hướng dẫn kết nối và truy vấn trạng thái thiết bị mạng LAN từ các client bên ngoài.
🔐 Xác Thực Bằng Mã Token Bí Mật (Authentication)
Mọi truy vấn API đến server WCM đều phải đính kèm **Mã Token Bí Mật (API Secret Token)**. Bạn có thể gửi mã Token bằng 1 trong 3 cách sau:
| Phương thức gửi | Cú pháp mẫu | Ghi chú |
|---|---|---|
| Header (Khuyên dùng) | X-API-Key: <B33_API_TOKEN> |
Đặt vào HTTP Request Header X-API-Key |
| Bearer Token | Authorization: Bearer <B33_API_TOKEN> |
Đặt vào HTTP Request Header Authorization |
| Query Parameter | ?token=<B33_API_TOKEN> |
Đính kèm trực tiếp vào đường dẫn URL truy vấn |
<B33_API_TOKEN>
/api/device/status
Yêu cầu TokenTruy vấn thông tin trạng thái Online/Offline, thời gian duy trì liên tục (sau khi lọc nhiễu 6 phút), IP, MAC và Nhà sản xuất cho 1 thiết bị cụ thể.
Tham số truy vấn:
query(hoặc đường dẫn path/api/device/status/{query}): Nhận vào IP (ví dụ:172.16.20.28), MAC (ví dụ:38:18:68:FB:9F:0A), hoặc Tên thiết bị (ví dụ:WP2_SocketPlug).
Ví dụ cURL:
Response JSON mẫu:
Khối detect cho biết mức nhận diện đang áp dụng cho thiết bị
(1–5), mức đó đến từ đâu (manual = chọn tay · type = mặc định theo
loại thiết bị · global = mặc định hệ thống) và bằng chứng nào
đã kết luận Online ở lần kiểm tra gần nhất. Nếu last_detect_method = "arp" nghĩa
là thiết bị chỉ còn dấu vết trong bảng ARP router (card mạng ngủ vẫn trả lời) chứ không thực
sự phản hồi — hãy hạ mức của thiết bị xuống Mức 2 ở trang Cấu hình.
/api/device/status/bulk
Yêu cầu TokenTruy vấn trạng thái và thời gian duy trì hàng loạt cho danh sách nhiều thiết bị cùng lúc.
Request Body JSON mẫu:
Ví dụ Python:
/api/devices/online
Yêu cầu TokenLấy danh sách tất cả các thiết bị đang Online trong toàn mạng LAN kèm thời gian hoạt động liên tục của từng thiết bị.
Ví dụ cURL:
/api/tuya/meter
Yêu cầu TokenTruy vấn chỉ số điện tức thì từ Ổ cắm thông minh Tuya (Điện áp Volt, Công suất tiêu thụ Watt, Dòng điện mA, Tổng kWh tiêu thụ).
Cách sử dụng theo trường hợp:
ip)
Dành cho các thiết bị nằm cùng mạng LAN nội bộ (vd: 172.16.20.25).
device_id)
Dành cho thiết bị ở dải LAN khác (IPSec VPN, 4G, địa điểm khác). Chỉ cần truyền
device_id định danh Tuya toàn cầu.
/api/tuya/power
Yêu cầu TokenĐiều khiển Bật / Tắt nguồn nguồn điện trực tiếp cho Ổ cắm thông minh Tuya (Hỗ trợ cả Nội Mạng LAN & Khác Mạng).
* Ghi chú: state: true là Bật nguồn (ON), state: false là Tắt nguồn (OFF).
Cách sử dụng theo trường hợp:
ip)
Truyền IP của thiết bị trong mạng LAN (vd: 172.16.20.25).
device_id)
Truyền device_id định danh của thiết bị. Bật/tắt tức thì ở bất kỳ nơi đâu trên thế
giới.
Truyền thêm tham số switch (từ 1 đến 4 cho ổ điện AC, hoặc
5 / "USB" cho cổng sạc USB).
- Bật/tắt Ổ điện số 1, 2, 3, 4:
"switch": 1đến"switch": 4 - Bật/tắt Cổng sạc USB:
"switch_code": "USB"(hoặc"switch": 5)
/api/tuya/devices
Yêu cầu Token
Liệt kê danh sách tất cả các thiết bị Tuya thông minh có trong tài khoản Cloud Tuya (để tra cứu mã
device_id).