# 杆體資訊
:::success
本應用實務依據 ``5G智慧杆系統技術規範``,標準化智慧杆基本資訊之交換欄位、結構、API 操作規則及錯誤處理,協助地方政府與系統整合商高效串接、維運智慧杆資產資料。
:::
## 欄位與資料定義
| 欄位名稱 | 格式 | 必備 | 說明 | 備註 |
| -------- | -------- | -------- | -------- | -------- |
| **廠商資訊** |
| vendor | String | M | 桿體原廠/供應商 | 例:台灣智慧杆公司 |
| model | String | M | 型號 | 例: |
| serial | String | M | 序號 | 例: |
| **系統與應用欄位** |
| poleId | String | M | 智慧杆唯一識別碼 | 建議使用UUID格式 |
| station | String | M | 所屬站點/管理單位名稱 | 例:忠孝東路五段路口 |
| jurisdiction | String | M | 管轄行政區域 | 例:臺北市信義區 |
| zip | String | O | 郵遞區號| 例:110 |
| address | String | O | 安裝地址 | 完整地址 |
| latitude | Float | M | 緯度 | WGS84 座標系統 |
| longitude | Float | M | 經度 | WGS84座標系統 |
| installationTime | DateTime | O | 安裝完成時間 | ISO8601 格式 |
| status | String | M | 狀態 | Active, Inactive, UnderConstruction, Decommissioned |
| Loudspeaker | Boolean | O | 擴音喇叭 | 配置資訊 |
| AED | Boolean | O | 自動體外心臟除顫器 | 配置資訊 |
| authority | String | M | 權責/維護單位名稱 | 例:臺北市政府工務局 |
| contact | String | O | 聯絡人姓名/電話 | 例:王小明 0988123456 |
| lastUpdate Time | DateTime | O | 最近更新時間 | ISO8601 格式 |
| remark |String | O | 備註說明 | 使用者填寫 |
## 資料結構與操作規則
### 資料結構(JSON)
```json
{
"poleId": "UUID-abc-123",
"station": "忠孝東路五段路口",
"jurisdiction": "臺北市信義區",
"zip": "110",
"address": "臺北市信義區忠孝東路五段555號",
"latitude": 25.033964,
"longitude": 121.562321,
"installationTime": "2023-08-15T14:00:00Z",
"status": "Active",
"authority": "臺北市政府工務局",
"vendor": "台灣智慧杆公司",
"contact": "王小明 0988123456",
"lastUpdateTime": "2023-10-01T11:00:00Z",
"remark": "定期檢測,無異常"
}
```
### 操作規則
| 操作 | HTTP 方法 | 說明 | 端點範例 |
| -------- | -------- | -------- | -------- |
| 新增桿體資訊 | POST | 建立新智慧杆基本資訊 | /api/v1/poles |
| 查詢資訊 | GET | 依條件查詢桿體資訊 | /api/v1/poles?poleId=... |
| 修改資訊 | PUT | 更新指定桿體資訊 | /api/v1/poles/{poleId} |
| 刪除資訊 | DELETE | 刪除指定桿體資料 | /api/v1/poles/{poleId} |
查詢參數與使用限制
* 查詢可依 poleId、station、jurisdiction、status、vendor、installationTime 篩選
* 單次查詢上限 100 筆,超過須分頁。
* 基本資料異動以日批次同步為主,如即時建置/拆除應即時更新。
## 錯誤處理規則與回傳格式
### 錯誤回傳格式
```json
{
"status": "error",
"code": 400,
"message": "必填欄位缺失或格式錯誤",
"errors": [
{
"field": "address",
"code": "MISSING_FIELD",
"message": "address 不可為空"
}
]
}
```
### 常見錯誤碼
| 錯誤碼 | 說明 | 處理方式 |
| -------- | -------- | -------- |
| 400 | 必填欄位缺失/格式錯誤 | 檢查資料並修正 |
| 401 | 未授權存取 | 確認 API Token |
| 403 | 無操作權限 | 確認操作身分或權限設定 |
| 404 | 查無資料 | 檢查 poleId 等查詢條件 |
| 409 | 資料衝突(如重複poleId) | 檢查唯一性,排除重複。 |
| 500 | 系統內部錯誤 | 聯絡維運 |
## 資料格式與代碼支援
### JSON 規範
* 字元集:UTF-8
* 日期時間:ISO8601 格式(如 2023-08-15T14:00:00Z)
* 坐標系統:WGS84(小數點後六位)
### 狀態代碼表
| 狀態值 | 說明 |
| -------- | -------- |
| Active | 已啟用/運作中 |
| Inactive | 已停用/未運作 |
| UnderConstruction | 施工中 |
| Decommissioned | 已報廢/拆除 |
### 測試資料與版本控管
* 提供測試範例資料集供 API 驗證
* API/Schema 版本標示於URL(如 /api/v1/poles)
* 更新紀錄與變更說明須納入系統維護文檔
* 建議設置 lastUpdateTime 支援資料同步/比對