測試模式的運作方式
使用測試憑證提出的請求將路由到測試資料源,而使用即時憑證提出的請求將路由到即時資料源。此分離可確保效能和安全性。資料分離在應用程式伺服器層級實現,伺服器根據 Checkout、Order 和 Landed Cost 服務中的憑證模式路由請求。以下是測試模式與即時模式中如何管理請求的高層次流程。
測試模式流程
- 使用者請求(測試模式): 使用者使用測試憑證(例如
credential_test)發起著陸成本請求。 - 前端: 將請求轉發到後端 API。
- 應用程式伺服器: 驗證憑證並設定請求以使用測試資料源。
- 測試資料庫: 檢索訂單和著陸成本計算的測試模式特定資料。
即時模式流程
- 使用者請求(即時模式): 使用者使用即時憑證(例如
credential_live)發起著陸成本請求。 - 前端: 將請求轉發到後端 API。
- 應用程式伺服器: 驗證憑證並設定請求以使用即時資料源。
- 生產資料庫: 檢索即時訂單和著陸成本計算的資料。
資料庫命名慣例
為確保測試和即時資料之間有明確分離,GraphQL 中使用以下資料庫命名慣例:
- checkout — 即時模式客戶資料庫
- checkout_sandbox — 測試模式客戶資料庫
- checkout_test — 即時模式 API/單位測試資料庫
- checkout_test_sandbox — 測試模式 API/單位測試資料庫
在生產和預備環境網站上的 Checkout 中啟用測試模式
若要在 Checkout 訂單上啟動測試模式,請在生產 Checkout URL 後面加上 &zonosTestMode=1。
範例:
https://route.js.zonos.com/?zCountry=CA&zonosTestMode=1
該訂單將在 Dashboard 中顯示為測試訂單,但將在生產系統中作為真實訂單匯入。
注意: 這是 MVP,可能存在此流程對所有使用者都不適用的使用案例。
在 GraphQL 整合中使用測試模式
不使用 Checkout 的 GraphQL 使用者可以透過傳遞其測試憑證來存取測試模式。成功驗證後,測試模式功能將可用。
內部使用者可以透過查詢 Auth DGS 來尋找零售商的測試憑證。計畫未來開發用於複製測試憑證的 UI 功能。
1
query MyQuery {2
credentialWithMode(mode: TEST) {3
id4
mode5
}6
}在 REST API 中使用測試模式
如果測試訂單與即時訂單存在於相同日期範圍內,orderDetail 和 orderNumbers 等端點將傳回測試訂單。
注意: 目前,
landedCostOrderComplete不支援測試訂單。此功能正在進行中。
測試模式概述
安全地測試 Zonos Checkout 和 GraphQL API 整合,不會影響即時資料。
Dashboard 中的測試模式讓使用者能夠執行 Zonos 功能的安全、端對端測試,而不會影響即時客戶資料。此功能預設對所有 Checkout 使用者開放,支援 Zonos Checkout 使用者和 GraphQL API 整合的測試。