應用程式開發介面 (API) 沙箱虛擬化客戶指導

什麼是沙箱虛擬化?

應用程式開發介面 (API) 沙箱虛擬化是一種服務,可模擬即時沙箱執行個體的行為。我們的虛擬化服務可提供一致的體驗,您收到的回應會經過預先定義,不一定會根據您提供的特定輸入值有所改變。

在此提供範例:假設您以相同的費率請求進行多次呼叫,並在每次測試時變更寄件人和收件人地點。應用程式開發介面 (API) 將傳回相同的預先定義費率回覆,而不受地址變更影響。雖然數值可能會不相符,但回覆結構將模擬您會在即時環境中收到的內容。

由於虛擬化服務不會觸及即時後端系統元件,因此您的整合測試可不受後端相依性的影響,同時您仍可取得適當的回應。

為什麼 FedEx 沙箱虛擬化了?

很遺憾,在 FedEx 這類複雜的相互依存系統中,有時會出現依賴的資源無法使用,導致系統可用性下降。當這類事件發生時,即使是在遠端發生,也會對您的應用程式開發介面 (API) 整合測試造成不良影響。在即時執行個體中也有其他的限制侷限了您整合測試的範圍。範例包含以下內容。

  • 託運帳戶不具必要的存取權,無法行某些特定情況的測試。
  • 測試資料可用性有限。
  • 規劃中或意外的系統停機。

如何使用虛擬化沙箱執行個體?

  • 請熟悉應用程式開發介面 (API) 文件、端點及驗證方式。這將有助於設計有效的測試。
  • 下載應用程式開發介面 (API) 文件,並熟悉文件中提供的 JSON API 集合。
  • 選擇並測試適合您使用狀況的範例。若要獲得一致的體驗,請避免變更請求裝載結構,以便收到虛擬化回應。
  • 請注意,並非所有輸入值都會影響回應。反之,請專注於瞭解您的應用程式如何處理一致的回應。
  • 根據文件測試所有應用程式開發介面 (API) 的行為是否正確。請納入正面和負面測試案例。
  • 使用提供的負面測試案例,瞭解系統如何傳回錯誤訊息及狀態代碼。這將有助於判斷您的應用程式應如何管理錯誤。請參閱 JSON 應用程式開發介面 (API),以及加入前置詞「負面」的測試案例。

虛擬化的優點

  • 降低資源無法使用的機率。
  • 降低測試數據的依賴性。
  • 相較即時沙箱實例相比,回應速度較快。
  • 特殊服務不需要明確的帳戶層級存取權。
  • 順暢的整合體驗,讓測試與認證程序更輕鬆。

常見問答集

  1. 如何讓請求裝載觸及虛擬化回應?
    每個應用程式開發介面 (API) 文件都會提供 JSON API 集合。請瀏覽 API 目錄並開啟 API 文件請查看應用程式開發介面 (API) 文件中的「JSON API 集合」一節。此 JSON 應用程式開發介面 (API) 集合儲存了可擷取虛擬化回應的所有請求裝載。
  2. 我是否需要取得權限才能存取虛擬化沙箱執行個體?
    是的,權限產生和授權將會照常運作,而且您應針對與虛擬化沙箱服務互動的每個交易提供認證。
  3. 我如何知道回應是否來自虛擬化服務?
    虛擬化回應的裝載中會加入下方警示。

  4. 在費率和運輸時間應用程式開發介面 (API) 中,為何我在請求裝載中的地址未獲得驗證?
    可衍生虛擬化費率回應的邏輯並不包含地址驗證。系統僅會驗證國家/地區,讓您可以在其餘地址欄位中傳遞任何值。
  5. 是否所有應用程式開發介面 (API) 都已虛擬化?
    目前只有下列 API 已虛擬化。我們正在將其餘 API 功能虛擬化。
費率與運輸時間應用程式開發介面 (API) 已虛擬化
追蹤應用程式開發介面 (API) 已虛擬化
大貨零擔貨運 (LTL) 應用程式開發介面 (API) – 費率與取件功能 已虛擬化
地址驗證應用程式開發介面 (API) 已虛擬化
郵遞區號驗證應用程式開發介面 (API) 已虛擬化
取件請求應用程式開發介面 (API) 已虛擬化
服務可用性應用程式開發介面 (API) 已虛擬化
全球貿易應用程式開發介面 (API) 已虛擬化
Ground 當天結束關閉應用程式開發介面 (API) 已虛擬化
建立託運應用程式開發介面 (API) 已虛擬化
託運應用程式開發介面 (API) 已虛擬化
FedEx 服務站搜尋應用程式開發介面 (API) 已虛擬化