概要
TT REST API は用途ごとに分かれたマイクロサービスの集合です。銘柄マスタを引く ttpds、取引明細と履歴を見る ttledger、与信やポジションを扱う ttmonitor、ユーザー設定の ttuser、口座設定の ttaccount といった構成で、それぞれ独立したベース URL を持ちます。
ベース URL には環境名が含まれます。開発・テスト用と本番用が URL の一部で分かれる形なので、環境の切り替えは設定として持たせるのが前提の設計になっています。
技術仕様
公式ドキュメントで確認した内容です。出典はページ末尾に記載しています。仕様は更新されることがあるため、実装前に一次資料をご確認ください。
- ttpds
- 取引所・商品・銘柄に関する情報の取得
- ttledger
- 取引明細と履歴の参照
- ttmonitor
- 管理用の約定追加、与信限度・与信利用状況・ポジション・Start-of-Day (SOD) レコードの参照
- ttuser
- ユーザーおよびユーザーグループのリスク限度・マーケットデータアクセス・契約・商品設定の参照と設定
- ttaccount
- 口座のリスク限度・取引権限・ユーザーの参照と設定
- ベース URL の形
- ttrestapi.trade.tt/<サービス>/<環境>
- 開発・テスト環境
- https://ttrestapi.trade.tt/ttpds/ext_uat_cert(ttpds の例)
- 本番環境
- https://ttrestapi.trade.tt/ttpds/ext_prod_live(ttpds の例)
- 認証
- アプリケーションキーとトークンをヘッダに付与。api_secret はキーとシークレットを所定の形式で結合したもの
受託の範囲
- サービスの選定と、用途に応じた API の組み合わせ設計
- アプリケーションキー・トークンの取得と更新を含む認証層の実装
- UAT と本番を設定で切り替えられる構成
- リスク限度・取引権限の設定を扱う管理機能の実装
- 取引明細の取り込みと、社内システムとの突合
実装で詰まりやすい点
サービスごとにベース URL が違う
単一のエンドポイントに向ける前提で組むと、サービスを増やすときに配線し直しになります。サービス名と環境名を組み立ててベース URL を作る層を最初から用意します。
環境名が URL に含まれる
開発・テストと本番が URL の一部で分かれます。ホスト名だけを設定にしてパスを直書きすると、環境の切り替えが漏れます。サービス名と環境名の両方を設定で持ちます。
トークンの更新を運用に組み込む
認証にトークンを使う以上、有効期限と更新の失敗をどう扱うかを設計に入れる必要があります。取得時に一度だけ通ればよい、という作りにしないことです。
参照元
Trading Technologies API についてよくあるご質問
必要なサービスだけ使えますか。
使えます。TT REST API は用途ごとにサービスが分かれているため、銘柄マスタだけ、取引明細だけ、といった使い方が可能です。どのサービスが要件に対応するかの切り分けからご相談いただけます。
UAT 環境で検証できますか。
できます。ベース URL に環境名が含まれる構成なので、設定を切り替えるだけで UAT と本番を行き来できる形に実装します。