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 End of Day Close API | 已虛擬化 |
Open Ship API | 已虛擬化 |
託運 API | 已虛擬化 |
FedEx 服務站搜尋 API | 已虛擬化 |