---
# System prepended metadata

title: PTX-platform-api

---

# PTX-platform-api
交通部運輸資料流通服務平臺(TDX) API實作
Author: Hsiang-Li Chan (Endy)

##### 系統版本資訊
Ubuntu 22.04.1 LTS jammy
Docker version 23.0.0, build e92dd87
VMware® Workstation 16 Pro 16.1.1 build-17801498

## 1. 事前準備
首先您會需要到 TDX (https://tdx.transportdata.tw ) 取得帳號，帳號角色分為三大類
#### 學研單位
1. 公私立大專院校所屬教職人員、學生
2. 公立學研機構所屬研究人員
#### 學研單位的帳號限制
1. 使用帶有edu或org域名的學研單位所屬電子郵件信箱進行註冊
2. 可註冊至多三把API金鑰
3. 可查詢資料服務
4. 可申請下載歷史資料
#### 公部門會員
1. 中央政府機關
2. 交通部及部屬機關
3. 地方政府機關
#### 公部門帳號限制
1. 使用帶有gov域名的公部門所屬電子郵件信箱進行註冊
2. 可註冊至多三把API金鑰
3. 可查詢資料服務
4. 可申請下載歷史資料
#### 一般會員
1. 個人身份
2. 私人企業
3. 非公務機關之協作單位
#### 一般會員限制
1. 使用合法電子郵件信箱進行註冊
2. 使用edu、org、gov域名信箱無法註冊為一般會員
3. 可註冊至多三把API金鑰
4. 可查詢資料服務
5. 可申請下載歷史資料

## 2. 帳號申請審核過後

這步驟預計需要2~3天審核，耐心等吧


## 3. 部署一個API Tester : Hoppscotch

### 3.1 安裝一個Linux (本例使用 Ubuntu 22.04)
其實其他OS應該也可以，雲端或是地端也不限制，本例透過VMware Workstation 為虛擬化程序
### 3.2 安裝Docker Docker-engine等配套
這步請參照官方文件
### 3.3 Docker Pull 對應的Image (https://hub.docker.com/r/hoppscotch/hoppscotch)
### 3.4 Dokcer Run 
docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest


##### 會不會阻擋境外IP ? -->目前使用GCP/AWS 皆可接入

![IPS](https://cf-content-x.yws.tw/images/not-TW-IP-test.jpg "IP")
![dbip](https://cf-content-x.yws.tw/images/dbip.jpg "dbip")

## 4. 測試細節
##### API設定細則可以參照: https://github.com/tdxmotc/SampleCode

### 4.1 取得API Key
#### 4.1.1 進入TDX網站 登入-->會員中心-->資料服務-->API金鑰-->對應的API Key
![](https://i.imgur.com/QLFN0l7.png)
#### 4.1.2 你就會拿到Client ID 跟 Secret (切記要存好)
![](https://i.imgur.com/cnUlMho.png)

### 4.2 部署在 Hoppscotch
#### 4.2.1 將Method 選POST，URL由TDX堤供，Content Type 選: x-www-form-urlencoded ， Body 需填以下三個欄位，這步可以參考官方Github，按下Send後，會取得Access Token，效期為一天

##### Hint: 本例發現建議可以將Access Key cache 到本地，這樣就可以減少重複與端點索取金鑰

![](https://i.imgur.com/TmlD4bU.png)

#### 4.2.2 將需要的API填入URL，Method 選GET，Auth 選Bearer 將Access Token 填入，Body 選 json，按下Send 即會回傳需要的API啦~
![](https://i.imgur.com/9QbrErR.png)








