利用量とクォータ
API Token でデータを取得するとき、利用量は「リソース」単位で、日ごとに計算します。計量の必要な権限は、それぞれ 1 つのリソースに対応します。例:eq.report、trem.rts。token のないリクエスト(公開の HTTP データ API、匿名の公開配信など)は、どのアカウントにも計上されません。
1 日のクォータ
Section titled “1 日のクォータ”- 上限 = リソースの 1 日のクォータ × プラン倍率。各リソースのクォータとプランは、ダッシュボードのサブスクリプションで確認し、購読します。数字はプランによります。
- リセット:毎日 00:00(台北時間、UTC+8)です。暦日であり、直近 24 時間のローリングではありません。その日に使わなかった回数は、翌日へ繰り越されません。
- 1 日のクォータが設定されていないリソース:回数の制限はなく、購読も不要です。
- 「上限」回目のリクエストは成功し、その次から拒否されます。
利用量は、ダッシュボードの利用量で確認できます。
何が 1 回になるか
Section titled “何が 1 回になるか”| 状況 | 計算 |
|---|---|
| HTTP(token が必要なエンドポイント) | リクエスト 1 回につき 1 回。成功(2xx)、403、429 は計上します。401 と 404 は計上しません |
| SSE 配信(token 付きの接続) | 各 topic について、接続 1 秒につき 1 回。10 秒ごとに締めます。1 本の接続で 3 つの topic を購読すると 3 件分です |
| SSE 配信(token なし) | 計上しません |
クォータ超過または未購読
Section titled “クォータ超過または未購読”token が必要な HTTP エンドポイントは、token、権限、クォータの順にチェックします。失敗したときはどれもレスポンス本文がありません。ステータスコードで判断してください。
| ステータスコード | 条件 |
|---|---|
| 401 | X-Api-Token がない、または token が無効・取り消し済み |
| 403 | token にその権限がない。またはアカウントがそのリソースを購読していない(かつリソースに 1 日のクォータがある)。またはサーバーが一時的にクォータ情報を取得できない |
| 429 | 購読済みだが、今日の回数を使い切った(倍率が 0 の場合を含む) |
403 は通常「資格がない」状態で、あとから再試行しても変わることはほとんどありません。token の権限と購読を確認してください。429 は「今日の分を使い切った」状態です。台北時間 00:00 以降に戻るか、ダッシュボードでプランを上げてください。
SSE 配信
Section titled “SSE 配信”権限が必要な 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 を受け取ることがあります。
「ちょうど上限まで使う」動作に依存しないでください。安定してデータを取得するときは、余裕を見てください。
