FSTS 狀態碼與錯誤碼總表

跨模組共用的語義基線:API、FIX、批次、畫面、DB 必須說同一種錯誤語言,避免對帳失準與客服話術錯亂。12

設計說明書(20)定義原則,工作簿(21)為可維護的權威目錄;本頁為兩者合併摘要。回專案規劃入口:Planning 總覽

設計原則

3

原則內容
唯一性錯誤碼不得重號;同一語義在 API / FIX / 批次間須有一致對應
可判斷性代碼可快速看出模組、類型與嚴重度(ORD / FIX / STL / CA / BAT 等)
可追溯性所有錯誤必須落於 API/FIX/Batch/Audit Log,並帶 TraceId / RunId / ClOrdID / ExecID
可營運每一錯誤碼需定義是否可重試、是否需人工介入、是否需升級通報

錯誤碼編碼規則

4

  • 格式{模組}-{嚴重度}-{流水號},例如 ORD-E-001FIX-W-014STL-E-008
  • 嚴重度I=資訊、W=警示、E=錯誤、F=致命
  • 責任分類BUS=業務資料、INT=介接、APP=應用、DB=資料庫、OPS=維運、EXT=外部單位
  • 每碼必備屬性:觸發條件、用戶提示、技術處置、是否可重試、是否需事件通報

狀態碼目錄(Status_Code_Catalog)

5

依狀態群組分層;對客顯示欄位決定前台是否透出給終端客戶。

Order / Trade 狀態(對客可見)

狀態碼狀態群組觸發來源下游影響備註
NEW_PENDINGOrderOMS/API待送 FIX / 上手下單成功但未保證送達
SENTOrderOMS/FIX等待成交 / 拒單需有送單時間戳
ACKOrderFIX可進入成交追蹤若上手提供
PARTIAL_FILLTradeFIX更新庫存/損益/通知需維護累計成交量價
FILLEDTradeFIX進入清算、對帳最終交易狀態
CANCEL_PENDINGOrderOMS/FIX保留剩餘額度與圈存等待撤單回報
CANCELEDOrderFIX釋放額度/圈存最終狀態之一
REJECTEDOrderOMS/FIX/Risk不得進入成交需搭配錯誤碼

Settlement / CorpAction / Migration 狀態(後台)

狀態碼狀態群組觸發來源下游影響備註
SETTLEMENT_READYSettlementSettlement Batch等待銀行/保管行處理日終為主
SETTLEDSettlementSettlement/Bank更新現金/庫存最終值供對帳與會計
CA_PENDINGCorpActionCorpAction Batch權益尚未入帳需權利快照
CA_POSTEDCorpActionCorpAction Batch對帳/通知配息/配股完成
MIGRATEDMigrationMigration Tool可進對帳切換專用狀態

錯誤碼目錄(Error_Code_Catalog)

6

錯誤碼模組嚴重度責任對客訊息可重試人工介入告警
ORD-E-001OMSEBUS此帳號未開通電子交易NYP2
ORD-E-005RiskEBUS可交易額度不足NNP3
ORD-E-011OMSEBUS目前非可交易時段NNP3
FIX-E-003FIXEINT系統忙碌,請稍後再試YNP2
FIX-E-009FIXEAPP交易回報處理中NYP1
API-W-002APIWOPS請稍後再試(429)YNP3
STL-E-004SettlementEAPP系統處理中NYP1
STL-E-008SettlementEEXT系統處理中YYP1
CA-E-006CorpActionEDB系統處理中NYP1
BAT-F-001BatchFOPS系統維護中YYP0
DB-F-003DBFDB系統處理中NYP0

致命級(F)共兩碼BAT-F-001(日終批次超時中斷)與 DB-F-003(交易 DB 主鍵衝突)——兩者皆 P0 告警、皆需停服排除。6

重試政策(Retry_Policy)

7

類型場景最大重試退避策略超門檻處置責任
FIX SessionLogon 失敗530s / 60s / 120s升級至 Interface LeadInterface
FIX Message送單後未收到 ACK310s / 30s / 60s查詢上手狀態,不可直接重送業務訊息OMS+Interface
API Outbound通知外部通路失敗5指數退避寫 Dead Letter QueueApp
SFTP銀行/保管行檔案傳輸失敗35m / 10m / 20m人工確認對端狀態Interface
Batch(非帳務)批次失敗2人工檢查後重跑保留 RunId 與差異快照Batch
Batch(帳務/交割/公司行動)批次失敗1需人工審核後重跑封鎖會計/報表下游Batch+Business

關鍵原則:FIX 業務訊息未收 ACK 不得直接重送(避免重複委託);帳務類批次只允 1 次重試且必須人工審核。

批次告警路由(Batch_Alert_Routing)

8

Job ID作業嚴重度10 分內通知30 分內升級60 分內決策
B-01盤前主檔同步P2Batch LeadApp LeadPM / Commander
B-05收盤後清算P1Settlement LeadCutover/Batch CommanderExecutive Sponsor
B-06庫存與損益重建P1Settlement LeadBusiness LeadCommander
B-07公司行動處理P1CorpAction LeadBusiness LeadCommander
B-08會計/報表拋送P2Finance ITFinance ManagerCommander
B-09備援與備份P0DBA LeadInfra ManagerExecutive Sponsor

P0 門檻:若 B-09(備份)失敗,不得解除戰情室8 不得開市:若 B-01(盤前主檔)商品缺漏,不得開市8

與工作簿(xlsx)關係

9

  • 正式維護權威:狀態碼與錯誤碼總表.xlsx
  • 本說明書(20)提供:設計原則、使用規範、高層摘要
  • 工作簿內含四個主表:Status_Code_Catalog / Error_Code_Catalog / Retry_Policy / Batch_Alert_Routing(本 wiki 頁為 21 的同步快照)

使用指引

2

多數金融專案在 SIT 與上線後最痛的問題不是沒有錯誤,而是「發生錯誤時每個系統講不同語言」。本表為母版

  • API 層:HTTP response body 需帶 {code, severity, traceId}code 對應本表
  • FIX 層:Reject / Cancel Reject 的 Text(58) 需帶本表錯誤碼
  • 批次層[LEVEL] code description 格式寫入作業 log,供告警路由
  • 客服話術:依「對客訊息」欄固定口徑,不自行重寫

相關連結

補充資訊

2026-04-23 合併:無 prefix 版本 raw 同步

Source repo 新增無編號 prefix 的同主題 raw(說明書 無 prefix 版content_hash: sha256:9046e07fa8d6),與 20 號說明書內容等價、章節排版略異(二級 table 展開順序不同)。已加入本頁 sources;事實陳述仍以 20 號版的 heading anchor 為主,維持 block ID 穩定。


參考資料

Footnotes

  1. 說明書 §一 文件目的

  2. 說明書 §五 Review 結論 2

  3. 說明書 §一 設計原則

  4. 說明書 §三 錯誤碼編碼規則

  5. 工作簿 §Status_Code_Catalog

  6. 工作簿 §Error_Code_Catalog 2

  7. 工作簿 §Retry_Policy

  8. 工作簿 §Batch_Alert_Routing 2 3

  9. 說明書 §四 與工作簿關係