應用程式開發介面 (API) 沙箱虛擬化客戶指導
什麼是沙箱虛擬化?
應用程式開發介面 (API) 沙箱虛擬化是一種服務,可模擬即時沙箱執行個體的行為。我們的虛擬化服務可提供一致的體驗,您收到的回應會經過預先定義,不一定會根據您提供的特定輸入值有所改變。
在此提供範例:假設您以相同的費率請求進行多次呼叫,並在每次測試時變更寄件人和收件人地點。應用程式開發介面 (API) 將傳回相同的預先定義費率回覆,而不受地址變更影響。雖然數值可能會不相符,但回覆結構將模擬您會在即時環境中收到的內容。
由於虛擬化服務不會觸及即時後端系統元件,因此您的整合測試可不受後端相依性的影響,同時您仍可取得適當的回應。
為什麼 FedEx 沙箱虛擬化了?
很遺憾,在 FedEx 這類複雜的相互依存系統中,有時會出現依賴的資源無法使用,導致系統可用性下降。當這類事件發生時,即使是在遠端發生,也會對您的應用程式開發介面 (API) 整合測試造成不良影響。在即時執行個體中也有其他的限制侷限了您整合測試的範圍。範例包含以下內容。
- 託運帳戶不具必要的存取權,無法行某些特定情況的測試。
- 測試資料可用性有限。
- 規劃中或意外的系統停機。
如何使用虛擬化沙箱執行個體?
- 請熟悉應用程式開發介面 (API) 文件、端點及驗證方式。這將有助於設計有效的測試。
- 下載應用程式開發介面 (API) 文件,並熟悉文件中提供的 JSON API 集合。
- 選擇並測試適合您使用狀況的範例。若要獲得一致的體驗,請避免變更請求裝載結構,以便收到虛擬化回應。
- 請注意,並非所有輸入值都會影響回應。反之,請專注於瞭解您的應用程式如何處理一致的回應。
- 根據文件測試所有應用程式開發介面 (API) 的行為是否正確。請納入正面和負面測試案例。
- 使用提供的負面測試案例,瞭解系統如何傳回錯誤訊息及狀態代碼。這將有助於判斷您的應用程式應如何管理錯誤。請參閱 JSON 應用程式開發介面 (API),以及加入前置詞「負面」的測試案例。
虛擬化的優點
- 降低資源無法使用的機率。
- 降低測試數據的依賴性。
- 相較即時沙箱實例相比,回應速度較快。
- 特殊服務不需要明確的帳戶層級存取權。
- 順暢的整合體驗,讓測試與認證程序更輕鬆。
常見問答集
- 如何讓請求裝載觸及虛擬化回應?
每個應用程式開發介面 (API) 文件都會提供 JSON API 集合。請瀏覽 API 目錄並開啟 API 文件請查看應用程式開發介面 (API) 文件中的「JSON API 集合」一節。此 JSON 應用程式開發介面 (API) 集合儲存了可擷取虛擬化回應的所有請求裝載。 - 我是否需要取得權限才能存取虛擬化沙箱執行個體?
是的,權限產生和授權將會照常運作,而且您應針對與虛擬化沙箱服務互動的每個交易提供認證。 - 我如何知道回應是否來自虛擬化服務?
虛擬化回應的裝載中會加入下方警示。
- 在費率和運輸時間應用程式開發介面 (API) 中,為何我在請求裝載中的地址未獲得驗證?
可衍生虛擬化費率回應的邏輯並不包含地址驗證。系統僅會驗證國家/地區,讓您可以在其餘地址欄位中傳遞任何值。 - 是否所有應用程式開發介面 (API) 都已虛擬化?
目前只有下列 API 已虛擬化。我們正在將其餘 API 功能虛擬化。
費率與運輸時間應用程式開發介面 (API) | 已虛擬化 |
追蹤應用程式開發介面 (API) | 已虛擬化 |
大貨零擔貨運 (LTL) 應用程式開發介面 (API) – 費率與取件功能 | 已虛擬化 |
地址驗證應用程式開發介面 (API) | 已虛擬化 |
郵遞區號驗證應用程式開發介面 (API) | 已虛擬化 |
取件請求應用程式開發介面 (API) | 已虛擬化 |
服務可用性應用程式開發介面 (API) | 已虛擬化 |
全球貿易應用程式開發介面 (API) | 已虛擬化 |
Ground 當天結束關閉應用程式開發介面 (API) | 已虛擬化 |
建立託運應用程式開發介面 (API) | 已虛擬化 |
託運應用程式開發介面 (API) | 已虛擬化 |
FedEx 服務站搜尋應用程式開發介面 (API) | 已虛擬化 |