API Sandbox Virtualization Customer Education
What is Sandbox Virtualization?
API Sandbox Virtualization is a service that simulates the behavior of a live sandbox instance. Our virtualized service provides a consistent experience where the response you receive is predefined and does not always vary based on the specific input values you provide.
Here is an example. Let's say you make multiple calls with the same rate request, changing sender and recipient locations with each test. The API will return the same predefined rate reply regardless of the address changes. Although the values may not match, the structure of the reply would simulate what you would receive in the live environment.
Since the virtualized service does not hit the live backend system components, your integration testing is protected from backend dependencies while you still get the appropriate response.
Why is FedEx Sandbox Virtualized?
In complex, interdependent system such as FedEx, unfortunately there are a few instances when a dependent resource becomes unavailable and system availability suffers. When such incidents occur, even though they are remote, it could adversely impact your API integration testing. There are other constraints in live instances that could also restrict the extent of your integration testing. Examples include.
- Shipping account not having required access to test certain specific scenario.
- Limited test data availability.
- Planned or unplanned system downtime.
How can you use Virtualized Sandbox instance?
- Familiarize yourself with the API documentation, endpoints, and authentication method. This will help in designing effective tests.
- Download and familiarize yourself with the JSON API collection provided under the API documentation.
- Pick and test sample transactions that fit your usage scenarios. For a consistent experience avoid changing the request payload structure so that you receive the virtualized response.
- Please note that not all input values will affect the response. Instead, focus on understanding how your application handles the consistent responses.
- Test all APIs for correct behavior according to the documentation. Include both positive and negative test cases.
- Use the provided negative test cases to understand how error messages, and status codes are returned. This will help in determining how your application should manage errors. Refer JSON API collection & the test cases with the prefix added as “Negative”.
Benefits of virtualization
- Less chances of resource unavailability.
- Less test data dependency.
- Faster response when compared to live sandbox instance.
- No explicit account level access required for the special services.
- Seamless integration experience easing the process of testing & certification.
- How would I get the request payload to hit the virtualized response?
Each API documentation have the JSON API Collection being provided.Visit the API catalog & open the documentation for API. Look at the section for “JSON API Collection” in the API documentation. This JSON API collection has all the request payloads saved which would retrieve the virtualized response.
- Do I need to get the token to access the Virtualized sandbox instance?
Yes, the token generation and authorization are going to work as they are, and you are expected to pass the token for every transaction that interacts with the virtualized sandbox service.
- How would I know if the response is returned from virtualized service?
The virtualized response would have below alert added as part of the payload.
- In Rate & Transit Times API, why is my address in the request payload not being validated?
Address validation is not part of logic that derives a virtualized rate response. Only country is validated so you can pass any value in rest of the address fields.
- Are all APIs virtualized?
Only the following APIs have been virtualized to date. Work is in progress to virtualize the rest of the API capabilities.
|Rate & Transit Times API||Virtualized|
|Freight LTL API – Rate & Pickup Capability||Virtualized|
|Address Validation API||Virtualized|
|Postal Code Validation API||Virtualized|
|Pickup Request API||Virtualized|
|Service Availability API||Virtualized|
|Global Trade API||Virtualized|
|Ground End of Day Close API||Virtualized|
|Open Ship API||Virtualized|
|FedEx Location Search API||Virtualized|