測試模式如何運作
使用測試憑證發出的請求將被路由到測試資料源,而使用實時憑證發出的請求將被路由到實時資料源。這種分離確保了效能和安全性。數據分離是在應用程式伺服器級別實現的,該伺服器根據 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 整合的測試。