[API] Get Drivers Realtime Status
Obtain the real-time status information for a single driver or all drivers associated with a supplier organization. This includes driver availability, trip status, and online/offline status, enabling effective monitoring and management of driver operations within the organization.
¶ Use case
The Get Driver Realtime Status API enables an application to promptly inquire about the current status of drivers. This functionality proves beneficial in situations where displaying the most recent status upon user request is essential, like updating a dashboard or conducting regular checks. Unlike utilizing a webhook, this approach entails the application continuously querying the server for status updates, offering adaptability for scenarios where immediate response to status changes isn’t necessary. Additionally, this API furnishes vehicle details alongside the driver’s onboarding status and information. The data refresh rate time for this API is less than 1 minute, ensuring timely and accurate updates.
More details about the Realtime Driver Status Change webhook can be found here
¶ Using Dependent API
To monitor drivers’ real-time status, such as availability and trip status, fleet owners should follow a two-step process. Firstly, they need to use the Get Organizations API, entering the Fleet Supplier’s unique ID to retrieve all associated encrypted organization IDs. Secondly, with these encrypted organization IDs, fleet owners can then access the Get Drivers Realtime Status API to fetch real-time status information for drivers linked to each specific organization.
¶ Support for Hierarchical Data
Not Supported. The API returns the status information of the drivers directly linked to the organization. It doesn’t support fetching drivers linked to their child organizations
¶ Supported Supplier Types
Fleets
¶ Scope
Primary - solutions.suppliers.drivers.status.read
¶ Resource
/v1/vehicle-suppliers/drivers/actions
¶ HTTP Method
GET
¶ Authorization
¶ Example Request
curl -i -X GET "https://api.uber.com/v1/vehicle-suppliers/drivers/actions?org_id=<org_id>&page_token=<page_token>&page_size=<page_size>" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
Example Request With Driver Filter
curl -i -X GET "https://api.uber.com/v1/vehicle-suppliers/drivers/actions?org_id=<org_id>&page_token=<page_token>&page_size=<page_size>&driver_id=<driver_uuid>" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
¶ Example Response
{
"statusCode": 200,
"body": {
"driverStatusOverviews": [
{
"driverInfo": {
"driverUuid": "<driver_uuid>",
"firstName": "dummy first name",
"lastName": "dummy last name",
"phone": "39303030",
"email": "abd@gmail.com"
},
"vehicleInfo": {
"licensePlate": "XL39940404"
},
"onboardingStatus": "ONBOARDING_STATUS_ACCEPTED",
"statusEntries": [
{
"status": "DRIVER_STATUS_OFFLINE",
"timestamp": "2023-03-30T00:13:55.926Z"
}
]
}
],
"paginationResult": {
"nextPageToken": "1"
}
}
}
¶ Request Query Parameters
Name | Type | Required | Description |
---|---|---|---|
org_id |
string | Y | Encrypted organization UUID. |
page_token |
string | N | Options for Pagination - page cursor for the page. |
page_size |
int32 | Y | Options for Pagination - maximum number of records to be fetched in each request 0<x<=100. |
driver_id |
string | N | Raw driver uuid to get the results for requested driver_uuid. |
¶ Response Body Fields
Name | Type | Nullable | Description |
---|---|---|---|
driverStatusOverviews |
object array | Y | Array of DriverStatusOverview contains driver’s overview information. |
paginationResult |
object | N | object of type PaginationResult. |
Name | Type | Description |
---|---|---|
driverInfo |
object | Object of type DriverInfo, includes driver identity information with phone , first name, last name, email. |
vehicleInfo |
object | Object of type VehicleInfo, includes vehicle identity information with license plate. |
onboardingStatus |
string | Driver Onboarding Status |
statusEntries |
object array | List of StatusEntry which includes List of status logs for each driver. For realtime status, this list has only one item for the latest action. (If there are no action taken by driver in past 7 days then this will be empty list). |
Onboarding Status | Definition |
---|---|
ONBOARDING_STATUS_ACTIVE |
Indicates Partner is active & considered to have fulfilled all BGC/doc requirements. |
ONBOARDING_STATUS_PENDING_ONBOARDING |
Indicates Partner is PENDING_ONBOARDING status(internal). |
ONBOARDING_STATUS_READY_TO_ONBOARDING |
Indicates Partner is READY_TO_ONBOARDING status (internal). |
ONBOARDING_STATUS_ACCEPTED |
Indicates Partner has consented to a background check. |
ONBOARDING_STATUS_INTERVIEWED |
Indicates that the partner has completed & passed the BGC check, but still may have other requirements to fulfill before being active. |
ONBOARDING_STATUS_PENDING_INTERVIEW |
Indicates partner has been BGC’d, but is waiting for the results of the BGC. |
ONBOARDING_STATUS_READY_TO_INTERVIEW |
Indicates partner consented to BGC & should be BGC’d as next step. |
ONBOARDING_STATUS_APPLIED |
Indicates partner initially gets when they signup and enter onboarding. |
ONBOARDING_STATUS_WAITLISTED |
Indicates Partner is WAITLISTED (internal status). |
ONBOARDING_STATUS_REJECTED |
Indicates Partner status when they are banned or otherwise deemed ineligible for their current flow type. |
ONBOARDING_STATUS_WAITLISTED_FOR_MISSING_DOCS |
Indicates Partner status given when they were previously active, but one of their docs was rejected/expired/etc. |
ONBOARDING_STATUS_WAITLISTED_AUTO_REACTIVATION |
Indicates Partner is waitlisted auto reactivation status (internal). |
ONBOARDING_STATUS_DELETED |
Indicates Partner got deleted. |
Name | Type | Description |
---|---|---|
driverUuid |
string | UUID. |
firstName |
string | First Name. |
lastName |
string | Last Name. |
email |
string | Email. |
phone |
string | Phone Number. |
Name | Type | Description |
---|---|---|
licensePlate |
string | License plate assigned to the vehicle as per the driver’s last activity. |
Name | Type | Description |
---|---|---|
status |
string | Driver status (If there are no action taken by driver in past 7 days then there won’t be any status associated to the driver) - DRIVER_STATUS_ONLINE / DRIVER_STATUS_OFFLINE / DRIVER_STATUS_ONTRIP |
timestamp |
string | ISO UTC time format for example 2023-03-30T00:13:55.926Z |
Status | Definition |
---|---|
DRIVER_STATUS_ONLINE |
If the driver is online on the platform , but not on any active trip. |
DRIVER_STATUS_OFFLINE |
If the driver is offline on the platform. |
DRIVER_STATUS_ONTRIP |
If the driver is on any leg of the trip. |
Name | Type | Description |
---|---|---|
nextPageToken |
string | Can be empty, if there are no more records |
¶ Rate Limit
- Rate limit for this endpoint is 2000 requests per hour per Developer Application.
¶ Endpoint Specific Errors
Http Status Code | Code | Message |
---|---|---|
400 |
bad_request | The request parameters are invalid. |
500 |
internal_server_error | Internal server error. |
403 |
unauthenticated | User does not have permission. |
429 |
rate_limited | Number of requests exceeds allowed limit. |
503 |
service_unavailable | Service unavailable. |
401 |
unauthorized | Invalid OAuth 2.0 credentials. |
¶ Notes
- If page_token is not specified, then the default value will be blank.
- If the returned paginationResult object is not empty, this indicates that further calls to the endpoint can be made to retrieve missing entities in the next set of requested data. This is achieved by including the provided nextPageToken along with a valid pageSize (between 1 and 100) parameter.
- This endpoint returns the realtime information of the driver by looking at past 7 days events of the driver.
¶ FAQ
- Does the API support sandbox environments?
- No, the API does not currently support sandbox environments.