---
# System prepended metadata

title: 國道中區API文件
tags: [國道中區]

---

---
tags: 國道中區
---

# 資料回補API說明
## 車牌回補
### 立即執行回補：
| Method |          URL          |
| ------ |:---------------------:|
| GET    | /api/system/backupJob |

### 手動回補區間：
| Method |      URL      |
| ------ |:-------------:|
| POST   | /api/system/backupJob |

**回補時段資料格式:**
```json=
{
    "begin_time": "2023-03-15_13:45:09",
    "end_time": "2023-03-15_18:45:09"
}
```

### 資料回補-圖片
| Method |      URL      |
| ------ |:-------------:|
| GET   | /api/system/backupImage |

**資料回補-圖片格式:**
```json=
{
    "plate_id": "_id form licensePlate"
}
```
## 車流回補

### 立即回補
| Method |   URL   |
| ------ |:-------:|
| POST   | /backup |

**回補成功:**
```json=
狀態碼 > 200
{
    "Result": "Succee",
    "Message": "Replenishment done"
}
```
**回補失敗(ServerDB連線異常):**
```json=
狀態碼 > 401
{
    "Result": "Fail",
    "Message": "Server DB disconnect!!!"
}
```
**回補失敗(LocalDB連線異常):**
```json=
狀態碼 > 402
{
    "Result": "Fail",
    "Message": "Local MongoDB > disconnect"
}
```


### 手動回補(需給定回補時段)
| Method |      URL      |
| ------ |:-------------:|
| POST   | /range_backup |

**回補時段資料格式:**
```json=
{
    "start_time":"2023/3/2 10:00",
    "end_time":"2023/3/4 04:00"
}
```
**回補成功:**
```json=
狀態碼 > 200
{
    "Result": "Succee",
    "Message": "Replenishment done"
}
```
**回補失敗(ServerDB連線異常):**
```json=
狀態碼 > 401
{
    "Result": "Fail",
    "Message": "Server DB disconnect!!!"
}
```
**回補失敗(LocalDB連線異常):**
```json=
狀態碼 > 402
{
    "Result": "Fail",
    "Message": "Local MongoDB > disconnect"
}
```

# 資料回補MongoDB data format說明
:::info
回補後車管資料庫狀態
:::
![](https://hackmd.io/_uploads/rkvfPkEch.jpg)
:::info
車牌回補資料存放地方：
DB名稱 > {車牌mac}
Collection名稱 > backupJob
:::
![](https://hackmd.io/_uploads/SkAXvyE5h.jpg)
:::info
車流回補資料存放地方：
DB名稱 > TC_DB
Collection名稱 > {車牌mac}_volume_of_traffic_backup
:::
![](https://hackmd.io/_uploads/H1gHDy493.jpg)
## 車牌data format
![](https://hackmd.io/_uploads/BJuHvyVc3.jpg)
備份資料說明
```json=
{
    "_id": ObjectId('64b6527158e05e03086f2384') //此筆回補編號
    "begin_time": 2023-07-18T16:50:57.752+00:00 //斷線起始時間 (台灣標準時間)
    "end_time":　2023-07-18T17:01:41.773+00:00 //斷線結束時間 (台灣標準時間)
    "backup_amounts":　113 //回補車牌筆數
    "backup_logs": 0 //回補操作紀錄筆數
    "finish_time": 2023-07-18T17:10:05.297+00:00 //回補結束時間 (台灣標準時間)
    "start_time": 2023-07-18T17:10:05.290+00:00  //開始回補時間 (台灣標準時間)
}
```
## 車流data format
![](https://hackmd.io/_uploads/BJYUPyV5n.jpg)

備份資料說明
```json=
{
    "_id": ObjectId('64a52cc591a92344ec631ffc') //MongoDB自行生成ID可忽略
    "creation_date": 2023-07-05T16:41:41.1000+00:00 //建立這筆回補資料時間　> 資料格式:Data
    "record_disconnect_start_time":　2023-07-05T16:41:41.1000+00:00 //斷線時間　> 資料格式:Data
    "record_disconnect_recovery_time":　2023-07-05T16:41:41.1000+00:00 //回復時間　> 資料格式:Data
    "replenishment_status": true //是否回補過　> 資料格式:Bool
    "latest_save_timestamp": 1689050448242 //最後對這筆資料改寫時間　> 資料格式:Int64
}
```

# 其餘API說明
## 車牌API格式說明

### 傳送成功:
```json=
"status": {
"code": 200,
"message": "success"
}
```
### 傳送失敗:

```json=
"status": {
"code": 400,
"message": "page offset must be in 1~50"
}
```

### 重啟伺服器
| Method |             URL              |
| ------ |:----------------------------:|
| POST    | /api/system/maintain/server/restart |
 
### 重置系統 
| Method |         URL         |
| ------ |:-------------------:|
| GET    | /api/system/maintain/purge |
 


## 車流API格式說明

### 獲取補光燈狀態
| Method |          URL          |
| ------ |:---------------------:|
| GET    | /light_status |

**補光燈狀態:**
```json=
{
    "192.168.2.60": "online",
    "192.168.2.60": "offline"
}
```