API 文檔

AI Vision 車輛辨識管理系統 RESTful API 完整使用說明

身份驗證

AI Vision API 使用 API Key 進行身份驗證。所有 API 請求都必須在 HTTP Header 中包含有效的 API Key。

重要提醒

請妥善保管您的 API Key,避免在公開場所或程式碼中暴露。建議使用環境變數或配置檔案來管理 API Key。

請求標頭範例:
X-API-Key: your-api-key-here

車輛管理 API

提供完整的車輛資料管理功能,包括新增、查詢、更新和刪除車輛記錄。

GET /api/vehicles/

取得車輛列表,支援多種篩選條件。

查詢參數

license_plate
string 車牌號碼(支援部分匹配,不區分大小寫)
is_identified
boolean 是否已辨識(true/false)
parking_lot_id
integer 停車場 ID
POST /api/vehicles/

建立新的車輛記錄。

請求參數

license_plate
string 必填 車牌號碼
image
file 必填 車輛圖片檔案
brand
string 車輛品牌
model
string 車輛車型
year
string 車輛年份
parking_lot_id
integer 停車場 ID
captured_at
datetime 拍攝時間(ISO 8601 格式)
GET /api/vehicles/{id}/

取得特定車輛的詳細資料。

PUT /api/vehicles/{id}/

完整更新車輛資料(需提供所有欄位)。

PATCH /api/vehicles/{id}/

部分更新車輛資料(只需提供要更新的欄位)。

DELETE /api/vehicles/{id}/

刪除車輛記錄。

PATCH /api/vehicles/{id}/update_identification/

更新車輛的辨識狀態和信心度分數。

請求參數

is_identified
boolean 是否已辨識
confidence_score
float 辨識信心度分數(0.0-1.0)

停車場管理 API

提供停車場資料的管理功能,包括新增、查詢、更新和刪除停車場記錄。

GET /api/parking-lots/

取得停車場列表,支援篩選功能。

查詢參數

site_id
string 場地 ID(支援部分匹配,不區分大小寫)
name
string 停車場名稱(支援部分匹配,不區分大小寫)
POST /api/parking-lots/

建立新的停車場。

請求參數

site_id
string 必填 場地 ID(唯一識別碼)
name
string 必填 停車場名稱
GET /api/parking-lots/by-site-id/{site_id}/

透過場地 ID 查詢特定停車場。

停車記錄 API

提供停車場實時數據收集和管理功能,專為爬蟲系統設計的批量數據上傳介面。

GET /api/parking-records/

取得停車記錄列表,支援時間範圍和停車場篩選。

查詢參數

parking_lot_id
integer 停車場 ID
site_id
string 停車場場地 ID
start_date
datetime 開始時間(ISO 8601 格式)
end_date
datetime 結束時間(ISO 8601 格式)
POST /api/parking-records/batch-collect/

批量收集停車場資料 - 專為爬蟲系統設計的資料上傳介面,每10分鐘可調用一次。

請求參數

timestamp
string 資料收集時間戳記(ISO 8601 格式)
summary
object 總體統計資訊(選填)
parking_lots
array 必填 停車場資料列表
停車場資料格式:
{ "parking_id": "74fe48598c5b", "last_update": "2025-07-03 17:06:27", "regular_occupied": 66, "regular_total": 200, "monthly_occupied": 46, "monthly_total": 100, "regular_available": 134, "monthly_available": 54 }

停車場物件欄位說明

parking_id
string 必填 停車場唯一識別碼
last_update
string 資料來源的最後更新時間(格式:YYYY-MM-DD HH:MM:SS)
regular_occupied
integer 一般停車位已使用數量
regular_total
integer 一般停車位總數
monthly_occupied
integer 月租停車位已使用數量
monthly_total
integer 月租停車位總數
regular_available
integer 一般停車位剩餘數量(可為負數)
monthly_available
integer 月租停車位剩餘數量(可為負數)
成功回應格式:
{ "success": true, "message": "成功處理 51 筆停車記錄", "statistics": { "created_lots": 5, "updated_lots": 0, "created_records": 51, "skipped_records": 0, "errors": 0, "total_processed": 51 } }
POST /api/parking-records/

建立單筆停車記錄。

請求參數

parking_lot
integer 必填 停車場 ID
regular_occupied
integer 一般停車位已使用數量
regular_total
integer 一般停車位總數
monthly_occupied
integer 月租停車位已使用數量
monthly_total
integer 月租停車位總數
last_update
datetime 資料來源更新時間(ISO 8601 格式)
GET /api/parking-records/{id}/

取得特定停車記錄的詳細資料。

使用範例

以下是一些常見的 API 使用範例,幫助您快速上手。

上傳車輛圖片

使用 curl:
curl -X POST "https://your-domain.com/api/vehicles/" \ -H "X-API-Key: your-api-key" \ -F "license_plate=ABC-1234" \ -F "brand=Toyota" \ -F "model=Camry" \ -F "year=2020" \ -F "image=@/path/to/vehicle.jpg"

查詢特定車牌

使用 curl:
curl -X GET "https://your-domain.com/api/vehicles/?license_plate=ABC" \ -H "X-API-Key: your-api-key"

更新辨識狀態

使用 curl:
curl -X PATCH "https://your-domain.com/api/vehicles/1/update_identification/" \ -H "X-API-Key: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "is_identified": true, "confidence_score": 0.95 }'

建立停車場

使用 curl:
curl -X POST "https://your-domain.com/api/parking-lots/" \ -H "X-API-Key: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "site_id": "SITE-001", "name": "主停車場" }'

批量上傳停車場資料(爬蟲使用)

使用 curl:
curl -X POST "https://your-domain.com/api/parking-records/batch-collect/" \ -H "X-API-Key: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "timestamp": "2025-07-03T17:10:14.524615", "summary": { "total_parking_lots": 51, "total_regular_spaces": 23578, "total_regular_occupied": 4010 }, "parking_lots": [ { "parking_id": "74fe48598c5b", "last_update": "2025-07-03 17:06:27", "regular_occupied": 66, "regular_total": 200, "monthly_occupied": 46, "monthly_total": 100, "regular_available": 134, "monthly_available": 54 } ] }'

查詢停車記錄

查詢特定停車場的記錄:
curl -X GET "https://your-domain.com/api/parking-records/?site_id=74fe48598c5b&start_date=2025-07-03T00:00:00Z" \ -H "X-API-Key: your-api-key"
查詢時間範圍內的所有記錄:
curl -X GET "https://your-domain.com/api/parking-records/?start_date=2025-07-03T00:00:00Z&end_date=2025-07-03T23:59:59Z" \ -H "X-API-Key: your-api-key"