# CMS API Details
#### Note: Windows API URL IP need to set to router
### **Device API**
##### Get Device Info
``` |
Get Device Info
Type: GET
Parameter: None
URL: http://127.0.0.1:8882/device/deviceInfo
Response:
{
"deviceName": "WA21312345",
"diskTotal": "474 GB",
"fwVersion": "V0.0.1CBA",
"mac": "d4:3b:04:2f:cc:9e",
"modelName": "Latitude 5490",
"nickName": "d43b042fcc9e",
"serverIP": "10.10.80.69"
}
```
-----------------
### **RealTimestatus**
##### RealTime deviceInfo response to Server
```
Type: PUT
Parameter: Request.Body
{
"nickName" : d43b042fcc9e",
"serverIP" : "10.10.80.69",
"fwVersion": "V0.0.1CBA",
"cpuUsage": "24%",
"diskFree": "106 GB",
"diskTotal": "474 GB",
"memoryUsage": "67%",
"modelName": "Latitude 5490"
}
URL: https://10.10.80.69:1212/cms/device-info/status/<deviceName>
```
----------------
## **Mission API**
```
Mission Type : deviceInfo, reboot, shutdown, fwUpdate, appUpdate, appDelete
NOTE: One mission can run at a time unless mission complpeted successfully
* Response when recived request for seconf mission (In this case privious mission is in progress)
{"type" :mission_type, "result" : "fail", "message":"mission fail"}
```
#### Mission/DeviceInfo
##### Update DeviceInfo(IP, nickname)
```
Type: POST
Parameter: request.body
{
"type": "deviceInfo",
"data":{
"serverIP" : "10.10.80.111",
"nickName" : "TEST_Machine"
}
}
URL: http://127.0.0.1:8882/mission
Response:
{
"message": "Update DeviceInfo STARTED",
"result": "recevied",
"type": "deviceInfo"
}
```
Once Update DeviceInfo Completed response to Server
```
{
"mission": "deviceInfo",
"result": "pass/fail",
"message": "mission update DeviceInfo completed in total time 247.1934928894043",
"data": []
}
```
-----------------
##### Reboot Device
```
Type: POST
Parameter: request.body
{
"type": "reboot",
"data":{}
}
URL: http://127.0.0.1:8882/mission
Response:
{
"message": "Reboot Device STARTED",
"result": "recevied",
"type": "reboot"
}
```
Once Reboot Completed response to server
```
{
"mission" : reboot,
"result": "pass/fail",
"message": "Mission reboot completed."
}
```
----
##### Shtdown Device
```
Type: POST
Parameter: request.body
{
"type": "shutdown",
"data":{}
}
URL: http://127.0.0.1:8882/mission
Response:
{
"message": "Shutdown Device STARTED",
"result": "recevied",
"type": "shutdown"
}
```
Once Sutdown device process starts API will not give response to server
----
##### Firmware Update
```
Type: POST
Parameter: request.body
{
"type": "fwUpdate",
"data":{
"links":["https://test.com.tw/file1"],
"files":["file1"]
}
}
URL: http://127.0.0.1:8882/mission
Response:
{
"message": "Firmware Update STARTED",
"result": "recevied",
"type": "fwUpdate"
}
```
Once firmware update Completed response to server
```
{
"mission" : fwUpdate,
"result": "pass/fail",
"message": "Mission fwUpdate completed."
}
```
-----
##### App Update / Download APP
```
Type: POST
Parameter: request.body
{
"type": "appUpdate",
"data":{
"links":["https://web.whatsapp.com/desktop/windows/release/x64/WhatsAppSetup.exe","https://web.whatsapp.com/desktop/windows/release/x64/WhatsAppSetup.exe","https://web.whatsapp.com/desktop/windows/release/x64/WhatsAppSetup.exe"],
"files":["WhatsAppSetup.exe","WhatsAppSetup1.exe","WhatsAppSetup2.exe"]
}
}
URL: http://127.0.0.1:8882/mission
Response:
{
"message": "Donwload STARTED",
"result": "recevied",
"type": "appUpdate"
}
```
Once Download completed response to server
```
{
"mission": "appUpdate",
"result": "fail/PASS",
"message": "mission completed in total time 247.1934928894043",
"data": [
{"file": "WhatsAppSetup.exe", "result": true}, {"file": "WhatsAppSetup1.exe", "result": false}, {"file": "WhatsAppSetup2.exe", "result": true}
]
}
```
-----
##### App Delete / Delete application
```
Type: POST
Parameter: request.body
{
"type": "appDelete",
"data":{
"files":["WhatsAppSetup111.exe","WhatsAppSetup222.exe","WhatsAppSetup333.exe"]
}
}
URL: http://127.0.0.1:8882/mission
{
"message": "Delete app process started",
"result": "recevied",
"type": "appDelete"
}
```
Once AppDetele mission completed response to server
```
{
"mission": "appDelete",
"result": "fail/PASS",
"message": "mission appDelete completed in time 0.03590726852416992",
"data": [
{"file": "WhatsAppSetup111.exe", "result": true},
{"file": "WhatsAppSetup211.exe", "result": false},
{"file": "WhatsAppSetup312.exe", "result": true}
]}
```
-----