FSTS API/FIX Message Mapping 明細(呈核/設計協作版)

本文件將前台/外部系統以 REST API 溝通的介面,與後段上手以 FIX 溝通的訊息映射成同一張設計藍圖,避免 API 與 FIX 各做各的,導致欄位、狀態與錯誤碼不一致1

回到 介接規格書(總框架)、Planning 總覽

1. Mapping 原則

2

  • 外部通路OpenAPI 3.1 風格定義 REST 介面;交易核心事件FIX Session + Application Message 傳輸
  • API 與 FIX 之間需有 canonical order/trade model不可直接把上手欄位暴露到對客 API
  • 所有關鍵鍵須可追:clientOrderIdbrokerExecIdsessionIdtraceIdmessageSeqNo
  • 拒單與例外同時保有 API error code 與 FIX reject reason,便於客服與監控對位

2. REST API 介面清單

34

MethodPath功能作用前置條件核心資料表主要回應
POST/api/v1/orders下單接收海外股票/ETF 委託客戶已開通、商品可交易、額度檢核通過ord_orderrisk_trading_limitacct_cash_balance201 建單成功 / 422 檢核失敗
PUT/api/v1/orders/{orderId}改單價格/數量修改僅待送/部分成交未鎖定可改ord_orderord_order_event200 修改成功
DELETE/api/v1/orders/{orderId}刪單送出刪單請求狀態允許且未全成交ord_orderord_order_event202 已受理
GET/api/v1/orders/{orderId}委託查詢查詢單筆委託含回報需具該客戶資料權限ord_ordertrade_execution200 查詢成功
GET/api/v1/customers/{custId}/positions庫存查詢查詢商品庫存/可賣數需具帳戶權限acct_position200 查詢成功
GET/api/v1/customers/{custId}/balances餘額查詢查詢幣別餘額/圈存/可動用需具帳戶權限acct_cash_balance200 查詢成功
POST/api/v1/cash-withdrawals出金申請客戶申請出金餘額足夠、帳戶有效、審核流程啟動cash_movementcust_bank_account201 建立成功
POST/api/v1/fx-deals換匯申請建立或確認換匯交易已設定匯率來源與額度fx_deal201 建立成功
GET/api/v1/corporate-actions公司行動查詢查詢公告與客戶選項商品已建檔ca_eventca_allocation200 查詢成功
POST/api/v1/fix/sessions/{sessionId}/replayFIX 重播補送指定序號區間操作權限與審核通過fix_sessionfix_message_log202 已受理

3. FIX Message 對應清單

56

FIX MessageMsgType用途對應 API/流程核心檢核落地結果
LogonA雙方建立 FIX SessionAPI Gateway/OMS 啟動連線核對 SenderCompID / TargetCompIDEncryptMethodHeartBtInt認證成功後更新 fix_session
Heartbeat0維持連線活性系統排程或被動回應比對 TestReqID 與 session 狀態記錄 fix_message_log
TestRequest1檢查對端存活監控偵測延遲/人工觸發在 SLA 內回 Heartbeat監控告警
ResendRequest2補送序號區間序號缺口或對帳補送BeginSeqNo / EndSeqNo 重播更新 message replay job
SequenceReset4重設序號斷線重連或管理作業GapFillFlag 檢核更新 fix_session
Logout5正常關閉 Session停機、切線、雙邊管理保留最後序號與原因碼關閉 fix_session
NewOrderSingleD新單委託POST /ordersClOrdID 唯一、SideOrdTypeSymbolOrderQtyPriceTimeInForceAccountCurrency建立 ord_order
OrderCancelReplaceRequestG改單PUT /orders/{orderId}OrigClOrdIDClOrdID、價格/數量變更限制更新 ord_order 狀態為 PendingReplace
OrderCancelRequestF刪單DELETE /orders/{orderId}OrigClOrdIDClOrdIDSideSymbol 一致更新 ord_order 狀態為 PendingCancel
ExecutionReport8委託/成交回報FIX → OMS/APIExecTypeOrdStatusLastQtyLastPxCumQtyLeavesQtyText更新 ord_order / trade_execution
Reject3Session 層拒絕FIX → 監控/OMSRefSeqNumSessionRejectReasonText記錄 fix_message_log 與告警
BusinessMessageRejectj業務層拒絕FIX → OMS/APIRefMsgTypeBusinessRejectReasonText更新 ord_orderRejected

4. 關鍵欄位 Mapping 範例

78

NewOrderSingle(D)→ POST /orders

FIX TagFIX 欄位API/Canonical 欄位說明必填
11ClOrdIDapiRequestId / clientOrderId委託唯一鍵,平台生成且全域唯一必填
55Symbolsymbol證券代碼,需對應商品主檔必填
54Sideside1=Buy2=Sell必填
38OrderQtyquantity委託數量必填
44Priceprice限價單價格;市價單可為空依單別
40OrdTypeorderType1=Market2=Limit必填
59TimeInForcetimeInForce0=Day6=GoodTillDate依市場
1AccountaccountNo客戶交易帳號必填

ExecutionReport(8)→ Webhook/查詢回覆

FIX TagFIX 欄位API/Canonical 欄位說明必填
150ExecTypeexecType0=New4=Canceled5=ReplacedF=Trade必填
39OrdStatusorderStatus0=New1=PartiallyFilled2=Filled4=Canceled8=Rejected必填
17ExecIDbrokerExecId上手成交/回報流水號必填
32LastQtylastQty本次成交量成交時必填
31LastPxlastPx本次成交價成交時必填
14CumQtycumQty累計成交量必填
151LeavesQtyleavesQty剩餘未成交量必填
58Textmessage補充訊息或拒單原因選填

5. 設計與驗收關鍵

9

  • API 與 FIX 的 order status / exec type / reject reason 必須建立對照表,且測試案例需逐筆覆蓋
  • FIX Session 層與業務層錯誤必須分開記錄,避免把 session reject 當成委託邏輯錯誤
  • 所有回報需可由 traceId 串起 API request、FIX outbound、FIX inbound、order_eventtrade_execution
  • 多家上手欄位差異存在時,應以 broker-specific adapter 處理,不污染核心 canonical model

6. 與 FIX 工作簿交付對齊

10

本頁以 16 號說明書 為主、17 號工作簿(REST_API_Catalog / FIX_Message_Catalog / FIX_Field_Mapping)為輔;兩者內容一致,工作簿提供可匯出成 Excel/可逐行驗收的形式,供 SIT/UAT 逐筆比對使用。

對應測試案例請見:FSTS 測試案例書(涵蓋 SIT / UAT / NFR / Migration 四類)。

相關頁面

補充資訊

2026-04-23 — 平行原版 raw(markdown 原稿)

CI sync 同一 commit (8b6bd5d) 帶入了相同內容的另一份原版 markdown(無數字前綴、無 PDF 轉檔殘留)。11

  • 本頁既有引用以 16 號前綴版(PDF 轉檔版)為主 anchor,此原版為平行佐證
  • 兩份 Mapping 明細內容實質一致:§1 Mapping 原則、§2 REST API 介面清單(10 條)、§3 FIX Message 對應(12 條)、§4 關鍵欄位 Mapping、§5 設計與驗收關鍵皆對齊
  • 原稿為條列式純文字表格,無 PDF 分頁殘留;查詢與審閱較順手
  • 若需查閱乾淨 markdown 的 API/FIX Mapping 明細,請看:API/FIX Mapping 明細(原稿)

參考資料

Footnotes

  1. 16 API FIX Mapping 明細 §文件標題

  2. 16 API FIX Mapping §1 Mapping 原則

  3. 16 API FIX Mapping §2 REST API 介面清單

  4. 17 工作簿 §REST_API_Catalog

  5. 16 API FIX Mapping §3 FIX Message 對應清單

  6. 17 工作簿 §FIX_Message_Catalog

  7. 16 API FIX Mapping §4 關鍵欄位 Mapping

  8. 17 工作簿 §FIX_Field_Mapping

  9. 16 API FIX Mapping §5 設計與驗收關鍵

  10. 17 工作簿 §README

  11. API/FIX Mapping 明細(原稿)§1 Mapping 原則