Detailed documentation of all available API endpoints and methods
/dispatch/v2/tariff
Searching for tariffs at some location filtered by the provided parameters. In each request, there should be at least an origin parameter.
Parameter | Description | Example |
---|---|---|
origin | Origin location (latitude & longitude) where service is ordered from. | origin=37.4192,-122.0574 |
pickupTime | Filter tariffs that allow booking the order now, at a specified time with timezone. Please use proper URL encoding | pickupTime=2020-09-29T12%3A56%3A26.834%2B03%3A00 |
numberOfSeats | Filter tariffs with not less than a specified number of seats. | numberOfSeats=4 |
vehicleType | Filter for tariffs only of specified vehicle class | vehicleType=CLASSIC |
tariffType | Filter for tariffs only of specified tariff type | tariffType=HOURLY |
paymentMethods | Search only for tariffs with given payment methods | paymentMethods=CASH |
prepaid | If true - search only for prepaid tariff. | prepaid=true |
tariffId | Get single tariff | tariffId=12345678-1234-1234-1234-1234567890AB |
Type: Array of TariffObject
{
"tariffs": [
{
"tariffId": "12345678-1234-1234-1234-1234567890AB",
"name": "Classic",
"companyName": "My company",
"vehicleType": "CLASSIC",
"tariffType": "PRECISE",
"numberOfSeats": 4,
"paymentMethods": ["CREDIT_CARD", "THIRD_PARTY"],
"currency": "USD",
"unitOfLength": "KILOMETER",
"minimumCharge": 4,
"maximumCharge": 5,
"flagDownFee": 3,
"perDistanceUnitFee": 2,
"perHourFee": 60,
"taximeterMode": "TIME_AND_MILEAGE",
"tariffMode": "AUTO",
"driverCanSetCost": true,
"fixedFaresAvailable": false,
"fixedCost": false,
"prepaidSupported": false,
"asapBooking": true,
"preBooking": false,
"minimumPreBookingDelay": 0
}
]
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v2/order/prepare
Prepares data for a new order. Preparation request is needed to fix estimation price.
Type: OrderPrepareRequestObject
{
"waypoints": [
{
"exactLatLng": {
"lat": 37.5,
"lng": -122.1
},
"premise": "Google Store",
"houseNumber": "22",
"street": "Avenue",
"subLocality": "California",
"locality": "California",
"city": "Mountain view",
"district": "California",
"province": "California",
"country": "United States",
"postalCode": "94043",
"countryCode": "US",
"poiName": "Google Store",
"placeLatLng": {
"lat": 37.5192,
"lng": -122.0574
}
}
],
"unitOfLength": "METER",
"pickupTime": "2000-01-01T12:00:27.87+00:20",
"currency": "USD",
"specialCost": 33.34,
"includedDistance": 1500,
"includedDuration": 60000
}
Type: OrderPrepareResponseObject
{
"orderId": "12345678-1234-1234-1234-1234567890AB",
"confirmationId": "12345678-1234-1234-1234-1234567890AB",
"orderPreparationData": {
"allTariffsTripEstimations": [
{
"cost": 33.34,
"fixedCost": true,
"priceMultiplier": 2.1,
"tariffId": "12345678-1234-1234-1234-1234567890AB"
}
]
}
}
/dispatch/v2/order/prepare/{ORDER_ID}
Updates data prepared in Prepare an order V2 for a new order.
Type: OrderPrepareRequestObject
{
"waypoints": [
{
"exactLatLng": {
"lat": 37.5,
"lng": -122.1
},
"premise": "Google Store",
"houseNumber": "22",
"street": "Avenue",
"subLocality": "California",
"locality": "California",
"city": "Mountain view",
"district": "California",
"province": "California",
"country": "United States",
"postalCode": "94043",
"countryCode": "US",
"poiName": "Google Store",
"placeLatLng": {
"lat": 37.5192,
"lng": -122.0574
}
}
],
"unitOfLength": "METER",
"pickupTime": "2000-01-01T12:00:27.87+00:20",
"currency": "USD",
"specialCost": 33.34,
"includedDistance": 1500,
"includedDuration": 60000
}
Type: OrderPrepareResponseObject
{
"orderId": "12345678-1234-1234-1234-1234567890AB",
"confirmationId": "12345678-1234-1234-1234-1234567890AB",
"orderPreparationData": {
"allTariffsTripEstimations": [
{
"cost": 33.34,
"fixedCost": true,
"priceMultiplier": 2.1,
"tariffId": "12345678-1234-1234-1234-1234567890AB"
}
]
}
}
/dispatch/v2/order/confirm/{ORDER_ID}
Confirm order creation. The order will be visible in the Dispatch panel. Important Notes: - For manual driver assignment, add the driver ID to the request body using the manualAssignDriver field - Manual driver assignment is only available for Operator users with Full Access or Limited Access permissions - For paymentMethods: "THIRD_PARTY", use a Partner access operator and their API token
Type: OrderConfirmRequestObject
{
"confirmationId": "12345678-1234-1234-1234-1234567890AB",
"extraOptions": ["CHILD_SEAT"],
"client": {
"clientId": "12345678-1234-1234-1234-1234567890AB",
"name": "John Smith",
"phone": "+123121231212",
"imageUrl": "https://image.com/"
},
"notes": "Some text",
"numberOfSeats": 4,
"vehicleType": "BUS",
"tariffType": "PRECISE",
"paymentMethods": ["CASH", "TERMINAL"],
"prepaid": false,
"manualAssignDriver": "12345678-1234-1234-1234-1234567890AB"
}
Type: OrderConfirmResponseObject
{
"orderId": "12345678-1234-1234-1234-1234567890AB"
}
/v1/company
Retrieve a list of all available companies.
Type: Array of CompanyObject
{
"companies": [
{
"id": "12345678-1234-1234-1234-1234567890AB",
"name": "Example Company",
// ... other company fields
}
]
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}
Get detailed information about a specific company.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
Type: CompanyObject
{
"id": "12345678-1234-1234-1234-1234567890AB",
"name": "Example Company",
// ... other company fields
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}/driver
Retrieve a list of all drivers associated with a specific company.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
Type: Array of DriverObject
{
"drivers": [
{
"id": "12345678-1234-1234-1234-1234567890AB",
"name": "John Doe",
// ... other driver fields
}
]
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}
Get detailed information about a specific driver in a company.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
DRIVER_ID | Unique identifier of the driver | 12345678-1234-1234-1234-1234567890AB |
Type: DriverObject
{
"id": "12345678-1234-1234-1234-1234567890AB",
"name": "John Doe",
// ... other driver fields
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/topup
Request a topup invoice for a specific driver.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
DRIVER_ID | Unique identifier of the driver | 12345678-1234-1234-1234-1234567890AB |
Type: TopupRequestObject
{
"money": {
"amount": 20.00,
"currency": "EUR"
},
"comment": "Bank wire transfer #1234567890. Some comment for the top up"
}
Type: InvoiceObject
{
"invoiceId": "12345678-1234-1234-1234-1234567890AB",
// ... other invoice fields
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/withdraw
Request a withdrawal invoice for a specific driver.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
DRIVER_ID | Unique identifier of the driver | 12345678-1234-1234-1234-1234567890AB |
Type: WithdrawRequestObject
{
"money": {
"amount": 20.00,
"currency": "EUR"
},
"comment": "Some reason of 20 EUR return."
}
Type: InvoiceObject
{
"invoiceId": "12345678-1234-1234-1234-1234567890AB",
// ... other invoice fields
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/v1/company/{COMPANY_ID}/driver/{DRIVER_ID}/commit
Commit a pending invoice for a specific driver.
Parameter | Description | Example |
---|---|---|
COMPANY_ID | Unique identifier of the company | 12345678-1234-1234-1234-1234567890AB |
DRIVER_ID | Unique identifier of the driver | 12345678-1234-1234-1234-1234567890AB |
Type: CommitInvoiceRequestObject
{
"invoiceId": "12345678-1234-1234-1234-1234567890AB"
}
Type: InvoiceObject
{
"invoiceId": "12345678-1234-1234-1234-1234567890AB",
"status": "committed",
// ... other invoice fields
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/order/{ORDER_ID}/request
Get request data for the order. Customer email is shown in case it was initially set in the Customer app.
Type: OrderRequestObject
{
"waypoints": [
{
"exactLatLng": {
"lat": 37.4192,
"lng": -122.0574
},
"premise": "Google Store",
"houseNumber": "22",
"street": "Avenue",
"subLocality": "California",
"locality": "California",
"city": "Mountain View",
"district": "California",
"province": "California",
"country": "United States",
"postalCode": "94043",
"countryCode": "US",
"poiName": "Google Store",
"placeLatLng": {
"lat": 37.4192,
"lng": -122.0574
}
}
],
"extraOptions": ["CHILD_SEAT", "AIR_CONDITION"],
"client": {
"clientId": "12345678-1234-1234-1234-1234567890AB",
"name": "John Smith",
"phone": "+123456789012",
"imageUrl": "https://example.com/profile.jpg",
"email": "[email protected]"
},
"notes": "Please wait at the main entrance",
"unitOfLength": "KILOMETER",
"specialCost": 50.00,
"tripDistance": 15.5,
"tripDuration": 1800000,
"pickupTime": "2024-03-20T14:30:00.000Z",
"numberOfSeats": 4,
"vehicleType": "BUSINESS",
"tariffType": "PRECISE",
"paymentMethods": ["CASH", "TERMINAL"],
"prepaid": false,
"tariffId": "12345678-1234-1234-1234-1234567890AB",
"manualAssignDriver": "12345678-1234-1234-1234-1234567890AB",
"orderSource": "DISPATCH_API"
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/order/{ORDER_ID}/offer
When a driver accepts an order, it transforms into an offer. This method lets you get the offer information that consists of driver and car details, tariff, and ETA.
Type: OrderOfferObject
{
"eta": "2024-03-20T14:45:00.000Z",
"driver": {
"driverId": "12345678-1234-1234-1234-1234567890AB",
"name": "Michael Brown",
"phone": "+123456789012",
"email": "[email protected]",
"imageUrl": "https://example.com/driver.jpg"
},
"car": {
"model": "Tesla Model S",
"color": "Black",
"year": 2023,
"imageUrl": "https://example.com/car.jpg",
"plateNumber": "ABC123",
"numberOfSeats": 4,
"vehicleType": "BUSINESS",
"options": ["AIR_CONDITION", "NON_SMOKING"]
},
"tariff": {
"tariffId": "12345678-1234-1234-1234-1234567890AB",
"name": "Business Class",
"companyName": "Premium Rides",
"vehicleType": "BUSINESS",
"tariffType": "PRECISE",
"numberOfSeats": 4,
"paymentMethods": ["CASH", "TERMINAL"],
"currency": "USD",
"unitOfLength": "KILOMETER",
"minimumCharge": 20,
"maximumCharge": 200,
"flagDownFee": 5,
"perDistanceUnitFee": 2.5,
"perHourFee": 60,
"taximeterMode": "TIME_AND_MILEAGE",
"tariffMode": "AUTO",
"driverCanSetCost": false,
"fixedFaresAvailable": false,
"fixedCost": false,
"prepaidSupported": false,
"asapBooking": true,
"preBooking": true,
"minimumPreBookingDelay": 3600000
}
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
204 | No content | The driver hasn't accepted an order |
/dispatch/v1/order/{ORDER_ID}/update
Get order status and driver's location update. Note: For real-time updates, use the WebSocket notification channel instead of polling this endpoint.
Type: OrderUpdateObject
{
"driverId": "12345678-1234-1234-1234-1234567890AB",
"driverLocation": {
"accuracy": 10.5,
"time": "2024-03-20T14:40:00.000Z",
"bearing": 180.5,
"speed": 13.8,
"lat": 37.4192,
"lng": -122.0574
},
"status": "ON_WAY_TO_CLIENT"
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/order/{ORDER_ID}/summary
Get trip summary information after the trip is completed.
Type: TripSummaryObject
{
"createTime": "2024-03-20T14:30:00.000Z",
"pickupTime": "2024-03-20T14:45:00.000Z",
"dropoffTime": "2024-03-20T15:15:00.000Z",
"currency": "USD",
"unitOfLength": "KILOMETER",
"tripDistance": 15.5,
"tripDuration": 1800000,
"tripCost": 50.00,
"extraCost": 5.00,
"finalCost": 55.00,
"payments": [
{
"time": "2024-03-20T15:15:00.000Z",
"amount": 55.00,
"method": "TERMINAL"
}
],
"ratingByDriver": 5,
"pickupLocation": {
"lat": 37.4192,
"lng": -122.0574
},
"dropoffLocation": {
"lat": 37.4292,
"lng": -122.1574
},
"orderSource": "DISPATCH_API"
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/order/{ORDER_ID}/passenger/location
Update the passenger's location. The updated location can be viewed in the Driver App.
Type: LocationObject
{
"accuracy": 20,
"time": "2000-09-29T12:56:26.834+03:00",
"lat": 37.4192,
"lng": -122.0574
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/order/{ORDER_ID}/status
Change order status. Only canceling (status: "CANCELLED_BY_DISPATCH") is available via the API.
Type: OrderStatusObject
{
"status": "CANCELLED_BY_DISPATCH"
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
403 | Forbidden | Check if the order is active or status is correct |
/dispatch/v1/vehicle
Search for active vehicles at a location filtered by the provided parameters. At least an origin parameter is required. Please ensure your drivers are online.
Parameter | Description | Example |
---|---|---|
origin | Origin location (latitude & longitude) where service is ordered from. | origin=37.4192,-122.0574 |
numberOfSeats | Filter vehicles with not less than specified number of seats. | numberOfSeats=4 |
vehicleType | Filter for vehicles of specified class | vehicleType=CLASSIC |
Type: Array of VehicleObject
{
"vehicles": [
{
"location": {
"accuracy": 20.0,
"time": "2020-10-30T11:49:43.761Z",
"bearing": 143.26556,
"speed": 24.873869,
"lat": 144.8997145,
"lng": 27.5600882
},
"vehicleType": "CLASSIC"
}
]
}
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |
/dispatch/v1/notification/{AUTH_TOKEN}
WebSocket to listen for order update notifications. Connection limit is 100 connections/hour. IMPORTANT NOTES: - The connection limit is set to 100 connections/hour - To properly utilize WebSocket, connect once and maintain an active connection - Connection is automatically closed after 30 seconds of inactivity - Send keep-alive messages within 20 seconds to maintain the connection - There is no need for constant reconnection
Code | Message | Solution |
---|---|---|
200 | Standard response for successful HTTP requests. | No solution required |
400 | Bad request | Check the correctness of the request fields |
401 | Authorization failure | Check your Operator API token |
404 | Not found | Check the request URL |
500 | Internal server error | Check the correctness of the request fields |
502 | Bad gateway | Check the correctness of the request fields |