測試模式概覽

安全地測試 Zonos Checkout 和 GraphQL API 整合,而不影響實時數據。

Dashboard 中的測試模式讓用戶能夠執行安全的端到端測試,以測試 Zonos 的功能,而不會影響實時客戶數據。此功能預設對所有 Checkout 用戶可用,支持 Zonos Checkout 用戶和 GraphQL API 整合的測試。

測試模式如何運作 

使用測試憑證發出的請求將被路由到測試資料源,而使用實時憑證發出的請求將被路由到實時資料源。這種分離確保了效能和安全性。數據分離是在應用程式伺服器級別實現的,該伺服器根據 Checkout、Order 和 Landed Cost 服務中憑證的模式來路由請求。以下是測試模式與實時模式中請求如何被管理的高級流程。

測試模式流程 

  • 用戶請求(測試模式): 用戶使用測試憑證(例如 credential_test)啟動著陸成本請求。
  • 前端: 將請求轉發到後端 API。
  • 應用程式伺服器: 驗證憑證並配置請求以使用測試資料源。
  • 測試資料庫: 檢索特定於測試模式的數據以進行訂單和著陸成本計算。

實時模式流程 

  • 用戶請求(實時模式): 用戶使用實時憑證(例如 credential_live)啟動著陸成本請求。
  • 前端: 將請求轉發到後端 API。
  • 應用程式伺服器: 驗證憑證並配置請求以使用實時資料源。
  • 生產資料庫: 檢索實時訂單和著陸成本計算的數據。

資料庫命名約定 

為了確保測試和實時數據之間的清晰分離,GraphQL 中使用了以下資料庫命名約定:

  • checkout — 實時模式客戶資料庫
  • checkout_sandbox — 測試模式客戶資料庫
  • checkout_test — 實時模式 API/單元測試資料庫
  • checkout_test_sandbox — 測試模式 API/單元測試資料庫

在 Dashboard 中存取測試模式 

用戶可以通過建立測試購物車在 Dashboard 中建立測試訂單。

這些訂單只會在 Dashboard 中顯示,不會匯入到用戶的原生電商系統中。

在生產和暫存網站上的 Checkout 中啟用測試模式 

要在 Checkout 訂單上啟用測試模式,請在生產 Checkout URL 附加 &zonosTestMode=1

示例:
https://route.js.zonos.com/?zCountry=CA&zonosTestMode=1

該訂單將在 Dashboard 中顯示為測試訂單,但將在生產系統中作為實際訂單匯入。

注意: 這是 MVP,可能存在某些用例無法為所有用戶進行此流程的情況。

在 GraphQL 整合中使用測試模式 

未使用 Checkout 的 GraphQL 用戶可以通過傳遞其測試憑證來存取測試模式。成功驗證後,測試模式功能將變為可用。

內部用戶可以通過查詢 Auth DGS 來定位零售商的測試憑證。計畫在未來開發中提供複製測試憑證的 UI 功能。

1query MyQuery {
2 credentialWithMode(mode: TEST) {
3 id
4 mode
5 }
6}

在 REST API 中使用測試模式 

如果測試訂單與實時訂單存在於相同日期範圍內,端點(如 orderDetailorderNumbers)將返回測試訂單。

注意: 目前,landedCostOrderComplete 不支持測試訂單。此功能正在開發中。