# 九亭剩餘車位串接規格說明文件
正式環境端點
https://pcc.youparking.com.tw/api_external/
測試環境端點
https://test-server.youparking.com.tw/api_external/
## Token 加密說明
請依下方程式(C#)範例加密 Token,並放入 **Hearder.Authorization** 中:
```csharp!
byte _iv = 99;
/// <summary>
/// 加密
/// </summary>
/// <param name="text">未加密內容</param>
/// <returns>密文</returns>
public static string Encrypt(string text)
{
DateTime dt = DateTime.Now;
var encrypt = Encoding.UTF8.GetBytes(text + "|" + dt.ToString("o"));
byte vector = (byte)Random.Shared.Next(0, 156);
List<byte> output = [];
foreach (byte b in encrypt)
{
var sum = b + vector + _iv;
if (sum > 255)
{
output.Add((byte)(sum - 255));
output.Add(9);
}
else
{
output.Add((byte)sum);
output.Add(0);
}
}
return Convert.ToBase64String([.. output, vector]);
}
```
## 讀取剩餘車位
- 依照縣市或是行政區查詢各場地內剩餘車位
- 查詢間隔 5 秒緩衝時間
### 串接端點 [HttpMethod] Url
[GET] /CarSpace/{id}
### 請求規格
| 資料欄位 | 資料類型 | 必要欄位 | 欄位說明 |
| -------- | -------- | -------- | ------------------------------------------------ |
| id | string | ✅ | 查詢目標 <br/> 查詢場地請輸入場地編碼,例:A0001 |
範例
```
URL: https://test-server.youparking.com.tw/api_external/CarSpace/AXXXX
```
### 回應規格
| 資料欄位 | 資料類型 | 必要欄位 | 欄位說明 |
| -------- | -------- | -------- | ---------------- |
| siteName | string | ✅ | 場地名稱 |
| space | array<Space> | ✅ | 區域剩餘車位資訊 |
>Space (區域資訊) 資料模型
>| 資料欄位 | 資料類型 | 必要欄位 | 欄位說明 |
>| ----------- | -------- | -------- | ---------------------------------------------------------------------- |
>| siteSpaceID | number | ✅ | 停放區域編碼 |
>| carType | number | ✅ | 車輛類型 <br/> 1: 汽車 <br/> 2: 機車 <br/> 3: 大客車 <br/> 11: 腳踏車 |
>| allSpace | number | ✅ | 總車位數 |
>| leftSpace | number | ✅ | 剩餘車位數 |
>| spaceParts | array<SpacePart> | ✅ | 區域車格在席資訊 |
>| lastUpdate | string | ✅ | 最後更新時間 (ISO Format) |
>>SpacePart (區域車格在席資訊) 資料模型
>>| 資料欄位 | 資料類型 | 必要欄位 | 欄位說明 |
>>| ----------- | -------- | -------- | ---------------------------------------------------------------------- |
>>| spaceType | number | ✅ | 車格類型<br/>1: 一般<br/> 2: 電動<br/> 3: 身障<br/> 4: 婦幼<br/> 5: 重機 |
>>| allLogSpace | number | ✅ | 在席總車位數 |
>>| leftSpace | number | ✅ | 在席剩餘車位數 |
>>| lastUpdate | string | ✅ | 最後更新時間 (ISO Format) |
範例
```json
{
"siteName": "XXX",
"spaces": [
{
"siteSpaceID": 8,
"name": "平面",
"carType": 1,
"allSpace": 999,
"leftSpace": 40,
"spaceParts": [
{
"spaceType": 1,
"allLogSpace": 0,
"leftSpace": 0,
"lastUpdate": null
},
{
"spaceType": 2,
"allLogSpace": 0,
"leftSpace": 0,
"lastUpdate": null
},
{
"spaceType": 3,
"allLogSpace": 0,
"leftSpace": 0,
"lastUpdate": null
},
{
"spaceType": 4,
"allLogSpace": 0,
"leftSpace": 0,
"lastUpdate": null
}
],
"lastUpdate": "2024-11-29T18:04:56.1888046+08:00"
}
]
}
```
---