跳至主要内容

MDM API 參考

本頁用於規劃 DFS MDM 整合和自動化驗證。精確請求與回應欄位應以部署環境中的即時 API 規格為準。

存取前提

  • 已確認驗證方式。
  • 已確認 tenant scope。
  • 查看需要 dfs:read
  • 建立、更新和審閱動作需要 dfs:write
  • merge 和 split 等結構性動作只應授予有治理責任的使用者。
  • 需要時確認 DFS Pro package gate。

請求約定

精確 schema 以部署環境中的 OpenAPI 或 API console 為準。做整合規劃時,先對齊以下約定:

約定建議
Tenant scope每次讀寫都應在正確 tenant 或專案邊界內執行。
Source system key使用穩定的業務域 key,例如 bmscmmsinspection,讓整合共享同一 namespace。
External ID保留來源系統的 durable ID,便於重複解析 alias。
IdempotencyReference sets、entity types 和 source aliases 應使用確定性 key,避免重試產生重複。
Audit reason部署環境支援時,結構性寫入應包含 requester、reason 或 change note。
Time validity當 source ID 可能重複使用或設備可能替換時,傳入 valid-from 和 valid-to。

List endpoint 應規劃分頁,並按 entity type、status、source system、updated time 和 steward decision state 過濾。大規模整合應增量讀取,而不是反覆拉取整個 MDM store。

Reference data APIs

區域Endpoint family用途
Reference sets/api/v1/dfslite/mdm/reference-sets列出和建立 reference sets。
Set detail/api/v1/dfslite/mdm/reference-sets/{key}按 key 讀取 set。
Version bump/api/v1/dfslite/mdm/reference-sets/{key}/bump-version重要變更後提升版本。
Values/api/v1/dfslite/mdm/reference-sets/{key}/values列出和新增 values。
Value detail/api/v1/dfslite/mdm/reference-sets/{key}/values/{valueId}更新或刪除單個 value。

Entity and alias APIs

區域Endpoint family用途
Entity types/api/v1/dfslite/mdm/entity-types列出或建立 entity types。
Entity type detail/api/v1/dfslite/mdm/entity-types/{typeKey}讀取一個 entity type。
Entities/api/v1/dfslite/mdm/entities列出或建立 golden records。
Entity detail/api/v1/dfslite/mdm/entities/{id}讀取一個 golden record。
Aliases/api/v1/dfslite/mdm/entities/{id}/aliases查看某個實體的 source aliases。
Resolve/api/v1/dfslite/mdm/xref/resolve將 source-system ID 解析為 entity ID。
Upsert alias/api/v1/dfslite/mdm/xref建立或 re-point source alias。

安全寫入 alias

自動寫入 alias 前:

  1. 先 resolve source-system ID。
  2. 檢查 active mapping 是否已經指向預期 entity。
  3. 對衝突對應使用批准後的 re-point 工作流。
  4. 當 alias 因設備替換、split 或 merge 發生變化時,保留舊對應歷史。
  5. 重新驗證依賴 master entity ID 的下游資料集。

Alias 寫入是受治理的身分變更,不應被當作普通資料清理捷徑。

Steward APIs

區域Endpoint family用途
Fuzzy candidates/api/v1/dfslite/mdm/fuzzy-candidates按 type 和 status 查詢候選。
Approve/api/v1/dfslite/mdm/fuzzy-candidates/{id}/approve確認候選並建立 alias。
Reject/api/v1/dfslite/mdm/fuzzy-candidates/{id}/reject拒絕候選並記錄 negative decision。
Merge/api/v1/dfslite/mdm/entities/{loserId}/merge-into/{survivorId}將重複實體合併到 survivor。
Split/api/v1/dfslite/mdm/entities/{entityId}/split將選中 aliases 移動到新實體。

Steward 自動化邊界

自動化可以查詢候選、預篩佇列,並為審閱人附加證據。批准和拒絕應遵循客戶治理策略。對高影響 entity type,保留人工決策步驟,並記錄足夠稽核證據。

查詢候選時,優先使用 entity type、status、source system、score range、created time 和 updated time 等過濾條件,避免把無關 entity type 混在一個 steward queue 中。

整合檢查清單

  • 使用穩定 source-system names。
  • entity type key 使用跨環境穩定的業務域命名。
  • entity resolution 前先驗證 reference sets。
  • 先用小範圍 source slice 測試。
  • 明確 steward queue owner。
  • 寫操作記錄 requester、reason 和 downstream impact。
  • 不繞過 fuzzy match 審閱。
  • 結構性動作後重新驗證融合和報表。
  • 讀操作可以安全重試,寫操作重試前要確認冪等性。
  • 對重複 alias conflict 或 fuzzy candidates 突增設定告警。
  • 當 MDM output 進入 AI Agent、Inspector、BI 或工單整合時,附帶 run ID 或 task name。

常見錯誤

現象可能原因處理
403 或操作不可見權限或 package gate 缺失。確認 dfs:readdfs:writedfs:delete 和 DFS Pro access。
Unknown entity typetenant 中尚未建立該類型。建立或選擇正確 type。
Alias conflictsource ID 已有 active mapping。使用批准流程 re-point 或關閉舊對應。
Steward queue 為空沒有候選、filter 錯誤或未生成 fuzzy matches。檢查 resolver run result 和篩選條件。
Merge blocked來源或目標實體不適合結構性變更。確認記錄存在、tenant 一致且狀態符合預期。
實體數量異常增長來源 key 不穩定或 deterministic matching 太弱。重新審閱來源映射、必填欄位和 resolver configuration。
誤報候選反覆出現Resolver context 中缺少 rejected-pair memory。在下一次 resolver run 中納入既有 steward decisions。
下游報表意外變化Alias、merge 或 split 改變了 fusion task 使用的 master entity ID。比較變更前後的 row movement,審閱後再刷新。

回應處理

生產整合中:

  • 4xx 視為設定、權限、校驗或治理問題,需要人工檢查;
  • 5xx 視為服務或依賴的暫時故障,安全請求可採用 backoff 重試;
  • 結構性寫入重試前,先確認第一次請求是否已經提交;
  • 客戶端日誌應包含 request ID、tenant、endpoint family、entity type、source system 和 operation result;
  • 上線期間將 retry 與 failure counts 暴露給營運團隊。

下一步

繼續閱讀 DFS API Surface