跳到內容
主控台

用量與配額

使用 API Token 取用資料時,用量以「資源」為單位、按日計算。每個需要計量的權限對應一個資源,例如 eq.report、trem.rts。沒有帶 token 的請求(例如公開的 HTTP 資料 API、匿名的公開串流)不計入任何帳號。

  • 上限 = 資源的每日配額 × 方案倍率。各資源的配額與方案在主控台的訂閱管理查看與訂閱,數字依方案而定。
  • 重置時間:每天 00:00(臺北時間,UTC+8)。是日曆日,不是滾動 24 小時。當天沒用完的次數不會累積到隔天。
  • 沒有設定每日配額的資源:不限次數,也不需要訂閱。
  • 第「上限」次請求仍會成功,下一次才會被拒絕。

用量可以在主控台的用量統計查看。

情況 計算方式
HTTP(需要 token 的端點) 每次請求 1 次。成功(2xx)、403、429 都會計入;401 與 404 不計
SSE 串流(帶 token 的連線) 每個 topic 每連線 1 秒計 1 次,每 10 秒結算一次。一條連線訂 3 個 topic 就是 3 份
SSE 串流(沒帶 token) 不計

需要 token 的 HTTP 端點依序檢查 token、權限、配額,失敗時都沒有回應內容,請用狀態碼判斷。

狀態碼 條件
401 沒帶 X-Api-Token,或 token 無效、已撤銷
403 token 沒有該權限;或帳號沒有訂閱這個資源(且資源有每日配額);或伺服器暫時查不到配額資料
429 已訂閱,但今天的次數已經用完(包含倍率為 0 的情況)

403 通常是「沒有資格」,稍後重試多半不會變;請檢查 token 權限與訂閱。429 是「今天用完了」,臺北時間 00:00 之後恢復,或在主控台提高方案。

需要權限的 topic 超過配額時:

  • 連線當下已超過:該 topic 被拒絕,原因 quota exceeded。如果這次要求的 topic 全部被拒絕,HTTP 狀態碼是 429。約 60 秒內重新連線仍會得到同樣結果。
  • 連線中超過:伺服器送出 event: unsubscribed,data 是 {"topic":"<topic>","reason":"quota exceeded"},其他 topic 繼續傳送。如果這是連線上最後一個 topic,則改送 event: close、data: quota exceeded 並關閉連線。

完整的訊息與處理方式見錯誤碼。

用量大約每 1 分鐘彙整一次,伺服器端的配額狀態也會快取約 1 分鐘,因此:

  • 達到上限後,最多約 1 分鐘內仍可能有請求通過,實際用量可能略超過上限。
  • 訂閱或調整方案後,最多約 1 分鐘才會生效;這段期間仍可能收到 403 或 429。

請不要依賴「剛好用到上限」的行為。需要穩定取得資料時,請預留餘裕。