Sandbox Experience
The Supplier Platform offers an integration experience through a dedicated sandbox environment. In Uber’s backend system, both production and testing vehicles are available, but only testing vehicles are enabled to interact with the supplier platform’s sandbox API. These testing vehicles operate exclusively within the sandbox environment and do not affect production data, ensuring that all operations on testing vehicles remain isolated from the Uber Public API’s production environment.
However, there is inconsistent testing of vehicle experience across various Uber internal services, meaning not all APIs fully support the sandbox environment. Additionally, for certain APIs that do not interact with vehicle data, such as retrieving driver information, there is NO difference between sandbox and production environments.
By using the sandbox environment, developers can safely test and integrate with the rental platform without impacting live production data. This controlled testing space is crucial for validating API interactions and ensuring seamless integration before deployment to production.
¶ Sandbox Endpoint
By using the sandbox endpoint, developers can simulate real-world interactions and validate their application’s behavior in a non-production setting. Uber’s sandbox endpoint: https://sandbox-api.uber.com
Example (Get Vehicle API):
-
Get token:
curl -X POST "https://auth.uber.com/oauth/v2/token" \ -F 'client_id=<CLIENT_ID>' \ -F 'client_secret=<CLIENT_SECRET>' \ -F "grant_type=client_credentials" \ -F "scope=vehicle_suppliers.vehicles.read"
-
Call Get Vehicle Sandbox API:
curl GET "https://sandbox-api.uber.com/v1/vehicle-suppliers/vehicles/:vehicle_id" \ -H "Authorization: Bearer <TOKEN>"
More details: Sandbox API
¶ Supported Sandbox Endpoints
1. Fully-supported sandbox endpoints with testing vehicles The following endpoints are fully supported in the sandbox environment and allow interaction with testing vehicles. These endpoints facilitate comprehensive vehicle management operations in a safe testing environment, ensuring robust integration before moving to production.
- Vehicle Management API
- [API] Create Vehicle [API reference]
- [API] Delete Vehicle [API reference]
- [API] Transfer Vehicle [API reference]
- [API] Assign Vehicle [API reference]
- [API] Unassign Vehicle [API reference]
2. Partially-supported sandbox endpoints with testing vehicles The following endpoints are partially supported in the sandbox environment with testing vehicles. These APIs have specific requirements and limitations when interacting with testing vehicles in the sandbox.
- Vehicle Legacy API
The upload document API will be partially supported for sandbox API.
- By passing
document_type: "TEST_REQUIRED_DOCUMENT"
in the request body, the request will succeed; otherwise, it will fail. - [API] Upload Document [API reference]
- By passing
- Vehicle Management API
- By passing
_all_
fields in query params, the request will fail due to incompatible testing vehicles in different internal services. - Without passing fields in query params, the request will succeed.
- [API] Get Vehicle [API reference]
- [API] Get Vehicle By Owner [API reference]
- [API] Search Vehicle [API reference]
- By passing
3. Unsupported sandbox endpoints with testing vehicles The following endpoints are not supported in the sandbox environment. They will fail due to incompatible testing vehicles in different internal services.
- [API] Update Vehicle [API reference]
¶ Testing Data and Scenarios
The following endpoints are partially supported in the sandbox environment with testing data or responses. Below are the details and expected responses for these endpoints.
1. Supplier Performance Data API [API] Supplier Performance Data [API reference] The following is the expected response:
{
"reports": [
{
"columnHeader": {
"dimensionHeaderEntries": [
{
"name": "VIN_Test",
"type": "DIMENSION_TYPE_STRING"
}
],
"metricHeaderEntries": [
{
"name": "TotalTripsTest",
"type": "METRIC_TYPE_INT32"
}
]
},
"data": {
"timeRangeData": [
{
"rows": [
{
"dimensionValues": [
"VIN_ABC"
],
"metricValues": [
"3.14"
],
"dimensionName": "UUID",
"dimensionId": "8LXQdrVZDtraWLeNz6_tqiRPXV2rAMvy_RyJXh3kfQc6MDFeuQ9-kqiuYaqXEHlEADboGFsahV2nkjA40K8GWwflyhzuTGW-R6AKOGBrNvYK1fcV-DnsuvuKgY5nLI7RCQ=="
}
]
]
}
]
},
"paginationResult": {}
}
]
}