WIDTH Identity 開發者文件
WIDTH Identity 提供完整的身份核驗與合規平台,支援 KYC、KYB、交易篩查及持續監控工作流程,可透過 REST API 以及適用於 Web、iOS、Android 和 Flutter 的即插即用 SDK 接入。
核心功能
平台透過 REST API 支援 KYC、KYB、交易篩查及持續監控。Web 和行動端 SDK 為 KYC 和 KYB 提供由平台管理的核驗體驗。
KYC
個人身份核驗工作流程,涵蓋證件擷取、活體檢測、申請人資料及篩查。
KYB
企業核驗工作流程,涵蓋公司資料、關聯方、文件及篩查。
交易篩查
透過已設定的工作流程篩查交易,支援同步或非同步處理。
持續監控
利用現有客戶紀錄,透過持續監控工作流程對客戶重新篩查。
整合方式
提供三種主要整合方式。使用 OpenAPI 可獲得完整的後端控制能力;使用 SDK 則可接入由平台管理的核驗體驗。
| 方式 | 適用情境 | 工作流程 |
|---|---|---|
| OpenAPI (REST,伺服器間通訊) | 已自行收集客戶資料,並希望透過後端完全控制使用者體驗。 | KYC、KYB、交易篩查、持續監控 |
| 行動端 SDK (Android、iOS、Flutter) | 以少量程式碼在行動應用程式中接入開箱即用的核驗體驗。 | KYC、KYB |
| Web SDK | 在 Web 應用程式中快速接入彈出視窗或新分頁核驗。 | KYC、KYB |
環境
提供兩個環境: 預備環境(staging) 用於開發, 正式環境(production) 用於正式流量。請使用下表中對應環境的閘道、儲存服務和控制台。
| 資源 | 預備環境 | 正式環境 |
|---|---|---|
| API 閘道 | https://api-gateway-platform.width.com/gateway | https://api-gateway.width.com/gateway |
| 儲存服務 | https://api-gateway-platform.width.com/storage | https://api-gateway.width.com/storage |
| 平台控制台 | https://platform.width.com | https://app.width.com |
憑證
請根據整合方式和環境選擇憑證。行動端 SDK 憑證與 Web SDK 工作階段權杖的設定方式不同。
| 類型 | 適用對象 | 欄位 |
|---|---|---|
OPENAPI | 伺服器間 API | apiKey (前綴為 ak_)+ apiSecret (前綴為 sk_) |
SDK | 行動端 SDK(Android、iOS、Flutter) | App Key + SDK Token。使用 sdkToken初始化 SDK,並在 SDK 設定中指定 Domain。 |
| Web SDK 工作階段 | Web SDK | 公開的 apiKey + 一次性 sdkToken (透過 sdk.credentials取得)。選擇 domainId 時,請從傳回的 domains[] 清單中選取。 |
取得方式
- 登入對應環境的 One Platform Console → API & Integration 頁面:
- 點選 Generate ,產生整合所需類型的憑證。
- 複製並妥善保存憑證。
apiSecret僅顯示一次。
對於 Web SDK,由後端為 sdk.credentials 請求簽署,並將工作階段權杖及選定的 domainId 傳回給瀏覽器。每次核驗都應簽發新權杖,不要快取或重複使用。請參閱 Web SDK 工作階段權杖參考(英文)。
apiSecret 儲存在伺服器端。 切勿將其硬式編碼至原始碼、傳送至瀏覽器或包含在行動應用程式中。請使用環境變數或密鑰管理服務。如果密鑰外洩,請立即在控制台中輪替。開始使用
先完成控制台設定,執行首次核驗並確認最終決策,再連接下游業務流程。
控制台準備工作
- 選擇環境。 使用 預備環境控制台 進行開發,並使用正式環境控制台處理正式流量。
- 確認 Domain(業務單元)。 Domain 用於隔離不同業務線或地區的工作流程、成員和資料。新租戶包含一個
DEFAULTDomain。可在以下位置管理其他 Domain: Admin Console → Domains / Business Units。 - 產生所需憑證。 請按照 憑證 部分的說明,取得 OpenAPI、行動端 SDK 或 Web SDK 的接入憑證。
- 設定並發佈工作流程。 在控制台中,為所需事件類型和來源管道發佈工作流程。個人核驗和企業核驗對應的 API 事件值分別為
KYC_EVENT和KYB_EVENT;控制台中分別顯示為 KYC 和 KYB。
首次核驗
- 選擇 整合方式。 使用 Web 或行動端 SDK 接入由平台管理的核驗介面,或使用 OpenAPI 接入自行建立的客戶資料收集流程。
- 確保環境與憑證相符。 請使用正確的基礎 URL。SDK 建置版本連接至特定環境;測試前,請確認所選套件或建置版本與憑證對應的環境一致。
- 啟動核驗。 初始化並啟動 Web、 Android、 iOS 或 Flutter SDK。使用 OpenAPI 時,請先註冊申請人,再啟動工作流程,並按照 KYC 或 KYB 指南提交所需節點資料。
- 取得結果。 保留
executionId並輪詢workflow.execution.status,或設定工作流程 webhook。請參閱 狀態與案件決策參考(英文) 和 webhook 整合指南(英文)。 - 檢查最終決策與用量。 在 Admin Console 中查看案件,並檢查 Billing(帳單)。已提交核驗或等待人工審核的工作流程均不代表最終批准。
工作流程與決策模型
工作流程將資料收集、篩查和規則檢查串聯起來,形成決策。啟用自動路由時,WIDTH 根據 eventType 和來源管道選擇已發佈的工作流程。KYC 和 KYB 在每個來源管道各有一個有效工作流程;交易篩查可為同一事件類型設定多個工作流程。 工作流程生命週期 API 參考(英文) 亦記載了可選參數 workflowId ,適用於版本 2.0.0。
使用者完成輸入步驟後,將執行自動檢查與決策步驟。部分案件需要經過人工審核才能取得最終決策。使用 Webhook Action 節點 取得某個步驟的輸出,或使用 Decision Webhook 取得最終的批准或拒絕決策,以及對應的操作、代碼、原因和標籤。
請在 工作流程層級設定失敗處理方式:
- Strict(嚴格,預設): 任一節點失敗都會導致工作流程失敗。
- Lenient(寬鬆): 僅關鍵節點失敗才會導致工作流程失敗。
- Fully tolerant(完全容錯): 無論節點是否失敗,工作流程都會繼續執行。
用量與配額
開啟 Admin Console → Billing ,查看目前方案及本計費週期的用量統計:API Calls(API 呼叫次數)、Cases Processed(已處理案件數)、Workflows(工作流程)和 Team Members(團隊成員)。
- 篩查操作在預備環境和正式環境中都會消耗配額。
- 如果閘道傳回
999501 REQUEST_API_EXCEED_LIMIT,請聯絡支援團隊提高限額。重試前,請查閱 閘道錯誤參考(英文) 。
快速開始:請求簽章
每個 OpenAPI 請求都使用 HMAC-SHA256 對請求主體進行簽署,並將簽章作為 sign 查詢參數附加至 URL。
sign = HmacSHA256(apiSecret, requestBody)
密鑰和請求主體均使用 UTF-8 編碼,簽章結果為 64 個字元的小寫十六進位字串。
import hmac, hashlib
sign = hmac.new(
api_secret.encode('utf-8'),
request_body.encode('utf-8'),
hashlib.sha256
).hexdigest()
const crypto = require('crypto');
const sign = crypto
.createHmac('sha256', apiSecret)
.update(requestBody, 'utf8')
.digest('hex');
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(apiSecret.getBytes("UTF-8"), "HmacSHA256"));
byte[] hash = mac.doFinal(requestBody.getBytes("UTF-8"));
String sign = HexFormat.of().formatHex(hash);
請參閱 身份驗證參考 ,了解完整的請求結構,包括標頭、查詢參數及完整範例。
更多整合指南
以下主題可參閱 開發者參考指南(英文):
- 核驗連結 :產生託管式 KYC 或 KYB 核驗連結,使用
sdk.launch.link.generate。 - 姓名與名稱篩查 :篩查個人或公司,使用
MANUAL_CASE_EVENT。 - 快速篩查 API :無需建立客戶或設定工作流程即可執行單次篩查,使用
quickscan.submit、quickscan.detail和quickscan.hits。 - Web3 交易篩查 :執行區塊鏈交易篩查,使用
WEB3_TRANSACTION_EVENT。 - Webhook 整合 :涵蓋控制台設定、請求簽章、回應處理、Decision Webhook 及疑難排解。
下一步:選擇工作流程
OpenAPI 參考
集中查閱身份驗證、錯誤處理、冪等性、設定、檔案上傳等 REST 基礎功能。
Web SDK
在 Web 應用程式中透過彈出視窗或新分頁完成核驗。 npm install @width-com/web-sdk。
Android SDK
適用於 Activity / Compose 的即插即用 Kotlin 整合。要求 API 26+(Android 8.0)。
iOS SDK
適用於 UIKit 和 SwiftUI 的 Swift Package。要求 iOS 16.0+、Xcode 16+。
Flutter SDK
封裝原生 iOS 和 Android SDK 的 Dart 外掛程式。要求 Flutter 3.10+,僅支援行動端。
KYC 指南
完整 KYC 工作流程:註冊、啟動、輪詢及提交節點資料(OCR、particular[個人資料]、liveness[活體檢測]、OTP、forms[表單])。
附錄
詞彙表、執行狀態、事件類型、文件類型及更新紀錄。