Get Delivery Status
GEThttps://api.uber.com/v1/eats/deliveries/orders/{order_id}
Get the status of a delivery that was created using the Direct API. Uber also offers the ability for merchants to register a webhook in the developer portal.
¶ Authorization
OAuth 2.0 Bearer token with the eats.deliveries
scope. For more information, see Authentication.
¶ Request Path Parameters
Name | Type | Description |
---|---|---|
order_id |
string |
Unique identifier representing an order on Uber Eats. |
¶ Response Body
Name | Type | Required | Description |
---|---|---|---|
order_id |
string |
Yes | Unique identifier representing an order on Uber Eats. |
order_status |
string |
Yes | Overall status of the delivery. Possible values: ACTIVE, COMPLETED, FAILED. |
courier_trips |
array |
Yes | All the delivery person’s trips that are part of the delivery. This is an array of courier trips. |
external_order_id |
string |
Yes | The ID, of the order, supplied by the merchant. Used by the delivery person at pick up, and by the merchant’s customer support agents. |
full_fee |
fee | Yes | Total fee for the delivery, inclusive of order details. |
order_items |
array |
Yes | Order items being delivered. This is an array of order items. |
created_at |
long |
Yes | Unix timestamp in milliseconds of when the delivery request was created. |
external_user_id |
string |
Yes | ID of the consumer that the merchant associates with the order. |
order_tracking_url |
string |
Yes | A URL for tracking the delivery. |
cancellation_details |
cancellation details | No | Order cancellation details, which can be used for payment reversal. |
return_status |
string |
Yes | Set to IN_PROGRESS for deliveries that are being returned, RETURNED for deliveries that have been returned, and NONE for non-returning deliveries. |
refunds |
array |
Coming Soon | List of refund requests, which can be used for processing refund adjustments. |
pickup |
verification detail | No | The pickup verification details for the delivery. |
dropoff |
verification detail | No | The dropoff verification details for the delivery. |
related_deliveries |
related deliveries | No | A collection describing other deliveries that share an association. |
¶ Response Body - Address
Name | Type | Description |
---|---|---|
place |
place | Google Place ID representing the location. |
apt_floor_suite |
string |
Represents an apartment, floor, or suite. |
¶ Response Body - Cancellation Details
Name | Type | Description |
---|---|---|
created_at |
long |
Unix timestamp of cancellation. |
currency_code |
string |
Currency code of monetary values. The currency code follows the ISO 4217 standard. |
amount_owed_to_uber |
long |
Amount that Uber is owed for the order. A negative value indicates that Uber owes the restaurant partner this amount. This currency value must be formatted in the minor unit based on the currency code. This value reflects Uber’s adjustment calculation. If the restaurant partner owns physical money movement, the partner should own payment adjustments calculations for all parties (restaurant, eater and Uber) based on the attributes here and the agreed-upon business contract. The delta will be reconciled when doing periodic settlement. |
last_known_delivery_status |
string |
Last known delivery status code before delivery cancellation. Value is one of trip status’s Delivery Status Codes. |
reason |
trip failure | Reason for cancellation. |
¶ Response Body - Verification Details
Name | Type | Description |
---|---|---|
verification_requirements | verification requirement | Details about the verification steps that have/must be taken at this waypoint. |
verification_proofs | verification proof | Details about different verifications that have/will occur at this waypoint and any associated proof. |
¶ Response Body - Verification Requirement
Name | Type | Description |
---|---|---|
signature | boolean | Flag for if a signature is required at this waypoint. |
barcodes | barcode requirement[] | Barcode values/types that must be scanned at the waypoint. Number of elements in the array is equal to the number of barcodes that must be scanned. |
pincode | pincode requirement | Pincode requirement spec to indicate a delivery requires pincode confirmation upon delivery. |
identification | identification requirement | Identification scanning/verification requirements for this waypoint. |
picture | boolean |
¶ Response Body - Barcode Requirement
Name | Type | Description |
---|---|---|
value | string | String value encoded in the barcode. |
type | string | Type of barcode. Valid values: “CODE39”, “CODE39_FULL_ASCII”, “CODE128”, “QR”. |
¶ Response Body - Pincode Requirement
Name | Type | Description |
---|---|---|
enabled | bool | When set to true in POST requests, the delivery will require pincode entry at handoff. |
value | string | The pincode that the customer must present at dropoff. This is a read-only field available in GET requests that will contain the internally generated pincode. |
¶ Response Body - Identification Requirement
Name | Type | Description |
---|---|---|
min_age | integer | Minimum age that must be verified for this delivery. |
¶ Response Body Verification Proof
Name | Type | Description |
---|---|---|
signature | signature proof | Signature information captured. |
barcodes | barcode requirement[] | Barcode values/types that were scanned. |
picture | picture proof | Picture captured at the waypoint. |
identification | identification proof | Identification information or scanning information captured. |
¶ Response Body - Signature Proof
Name | Type | Description |
---|---|---|
image_url | string | The url of the signature image. |
¶ Response Body - Picture Proof
Name** | Type | Description |
---|---|---|
image_url | string | The url of the image taken at the waypoint. |
¶ Response Body - Identification Proof
Name | Type | Description |
---|---|---|
min_age_verified | boolean | Flag if ID was successfully verified/scanned. |
¶ Response Body - Contact
Name | Type | Description |
---|---|---|
first_name |
string |
First name of the contact. |
last_name |
string |
Last name of the contact. |
email |
string |
Email of the contact. |
phone |
string |
Phone number of the contact. Should be in e164 format (eg. “+13235550000”) |
¶ Response Body - Courier Trip
Name | Type | Description |
---|---|---|
id |
string |
ID of the delivery trip. |
status |
trip status | Status of the trip. |
pickup |
pickup | Pickup information. |
dropoff |
dropoff | Dropoff information. |
courier |
courier | Courier information. |
¶ Response Body - Courier
Name | Type | Description |
---|---|---|
contact |
contact | Contact information for the delivery person. |
location |
location | Details about the delivery person’s location. |
vehicle |
vehicle | Delivery person’s vehicle information. |
¶ Response Body - Dropoff
Name | Type | Description |
---|---|---|
address |
address | Location of the delivery drop-off. |
contact |
contact | Drop-off contact information. |
instructions |
string |
Instructions for the drop-off. |
type |
string |
This will either be curbside or door. Will default to “DOOR” |
TYPES
DOOR
: Consumer will meet delivery person at their door.CURBSIDE
: Consumer will meet the delivery person at the curb.LEAVE_AT_DOOR
: Contactless option. The delivery person will leave the order at the door.
¶ Response Body - Related Deliveries
Name | Type | Description |
---|---|---|
id | string | A unique identifier for the delivery (order_id) |
¶ Response Body - Fee
Name | Type | Description |
---|---|---|
total |
long |
Fee total, with all line items summed up. This currency value must be formatted in the minor unit based on the currency code. |
currency_code |
string |
Currency code of monetary values. The currency code follows the ISO 4217 standard. |
line_items |
fee item | The various line items that make up the fee. |
¶ Response Body - Fee Item
Name | Type | Description |
---|---|---|
fee_code |
string |
Unique code for the type of fee line item. |
value |
long |
Fee value of the line item. |
tax_amounts |
array |
Array of tax amounts associated with the fee. Multiple could be returned depending on the jurisdiction. |
category |
string |
Grouping of the fee item. |
FEE CODES
BUSY_AREA_FEE
: varies based on current state of the network.BASKET_FEE
: X% of the order.SMALL_BASKET_FEE
: $X for order sizes under $Y.DELIVERY_FEE
: The total fee for the delivery without BUSY_AREA_FEE.SERVICE_FEE
: The consumer’s service fee calculated against the basket size.
CATEGORIES
DELIVERY
: Fee item that should be passed to the consumer.COMMISSION
: Fee that should be paid by the merchant to Uber.TIP
: Delivery person tip.
¶ Response Body - Item Refund (Coming Soon)
Name | Type | Description |
---|---|---|
external_id |
string |
External ID of the item. |
quantity |
integer |
Number of items requested for refund. |
¶ Response Body - Place
Name | Type | Description |
---|---|---|
id |
string |
Place ID representing the location (currently this must be a Google Place ID). |
provider |
string |
Provider for this ID (currently this must be google_places ). |
¶ Response Body - Refund (Coming Soon)
Name | Type | Description |
---|---|---|
id |
string |
Unique identifier for the object. |
created_at |
long |
Unix timestamp of the refund request. |
currency_code |
string |
Currency code of monetary values. The currency code follows the ISO 4217 standard. |
total_merchant_refund |
long |
Amount that the merchant is refunding. This value should be equal to the sum of the underlying item merchant_refund_amount values. This currency value must be formatted in the minor unit based on the currency code. |
total_uber_refund |
long |
Amount that Uber is refunding. This value should be equal to the sum of the underlying item uber_refund_amount values. This currency value must be formatted in the minor unit based on the currency code. This value reflects Uber’s adjustment calculation. If the merchant partner owns physical money movement, the partner should own payment adjustments calculations for all parties (merchant, consumer and Uber) based on the attributes here and the agreed-upon business contract. The delta will be reconciled when doing periodic settlement. |
fees |
array |
Array of fee items that Uber is refunding. |
order_items |
array |
Array of refunded order items. Each refund_order_items entry corresponds to a set of items that are being refunded for a given reason and party_at_fault. |
¶ Response Body - Refund Order Items (Coming Soon)
Name | Type | Description |
---|---|---|
id |
string |
Unique identifier for the object. |
type |
string |
“ALL” or “PARTIAL” |
items |
array |
Array of requested item refunds. |
party_at_fault |
string |
The party at fault and responsible for funding (UBER, MERCHANT, UBER_AND_MERCHANT). |
merchant_refund_amount |
long |
Merchant funded amount for refund. This currency value must be formatted in the minor unit based on the currency code. |
uber_refund_amount |
long |
Uber funded amount for refund. This currency value must be formatted in the minor unit based on the currency code. |
reason |
string |
The reason this refund entry is being requested (MISSING_ITEMS, INCORRECT_ITEMS, DAMAGED_ITEMS, WRONG_ORDER, OTHER) |
PARTY AT FAULT
UBER
MERCHANT
UBER_AND_MERCHANT
REFUND REASON
MISSING_ITEMS
INCORRECT_ITEMS
DAMAGED_ITEMS
ORDER_COMPLETE_NOT_DELIVERED
ORDER_CANCELED_BY_COURIER
WRONG_ORDER
LATE_ORDER
OTHER
¶ Response Body - Trip Failure
Name | Type | Description |
---|---|---|
reason_code |
string |
Code representing this failure. |
REASON CODES
CUSTOMER_CANCEL
: Consumer cancels the order.MERCHANT_CANCEL
: Merchant cancels the order.UBER_CANCEL
: We were unable to find a courier after requesting for ~30 minutes.COURIER_CANCEL
: The courier cancelled after picking up food from the merchant.
¶ Response Body - Trip Status
Name | Type | Description |
---|---|---|
status_code |
string |
Current delivery status represented by a code. |
failure |
trip failure | Provides more details when status code is FAILED. |
eta |
integer |
Time to pickup in minutes. |
etd |
integer |
Time to dropoff in minutes. |
STATUS CODES
SCHEDULED
: Delivery has been scheduled.EN_ROUTE_TO_PICKUP
: Delivery person is enroute to the pickup location.ARRIVED_AT_PICKUP
: Delivery person is at the pickup location.EN_ROUTE_TO_DROPOFF
: Delivery person is on their way to the dropoff address.ARRIVED_AT_DROPOFF
: Delivery person is at the dropoff address.COMPLETED
: Delivery has completed successfully.FAILED
: Delivery has failed.
¶ Response Body - Location
Name | Type | Description |
---|---|---|
latitude |
double |
Latitude coordinate. |
longitude |
double |
Longitude coordinate. |
¶ Response Body - Order Item
Name | Type | Description |
---|---|---|
name |
string |
Name of the item. |
description |
string |
Description of the item. |
external_id |
string |
External ID of the item |
quantity |
integer |
Number of this item. |
price |
long |
Price of the item. This currency value must be formatted in the minor unit based on the currency code. |
currency_code |
string |
Currency code of monetary values. The currency code follows the ISO 4217 standard. |
dimensions |
Dimensions | Struct that contains dimensions. |
must_be_upright |
boolean |
Whether the item should be in upright position (box of pizza, bottle of milk etc). |
weight |
integer |
Weight in grams. |
perishability |
integer |
Perishability represents the number of minutes before an item expires. For example, an ice cream might have a perishability of 15 minutes from pickup. |
preparation_time |
integer |
How long a given item takes to prepare (in minutes). |
¶ OrderItem - Dimensions
Name | Type | Description |
---|---|---|
length |
integer |
Length in centimeters |
height |
integer |
Height in centimeters |
depth |
integer |
Depth in centimeters |
¶ Response Body - Pickup
Name | Type | Description |
---|---|---|
store_id |
string |
Globally unique private identifier of the store. |
instructions |
string |
Instructions for the pickup. This will override what is linked to the store. Please pass a null value as opposed to an empty string if you do not wish to provide pickup instructions specific to the order. |
¶ Response Body - Tax Amounts
Name | Type | Description |
---|---|---|
inclusive |
boolean |
This specifies if the tax value is inclusive or exclusive. |
value |
string |
Tax value. |
tax_rate |
tax rate | Tax rate containing tax rate percentage. |
¶ Response Body - Tax Rate
Name | Type | Description |
---|---|---|
id |
string |
Unique identifier for the object. |
percentage |
string |
The tax rate percent out of 100. |
¶ Response Body - Vehicle
Name | Type | Description |
---|---|---|
form_factor |
string |
Form factor of the vehicle. |
make |
string |
Make of the vehicle. (Applicable to car & motorbike) |
model |
string |
Model of the vehicle. (Applicable to car & motorbike) |
license_plate |
string |
The license plate of the vehicle. (Applicable to car & motorbike) |
FORM FACTORS
CAR
BICYCLE
MOTORCYLE
PEDESTRIAN
¶ Response Example
{
"order_id": "1jei9a43-33b0-49d3-afd9-4f7b52e0a479",
"order_status": "COMPLETED",
"created_at": 1596492561000,
"external_user_id": "merchant_user_id_001",
"order_tracking_url": "https://www.ubereats.com/gb/orders/1jei9a43-33b0-49d3-afd9-4f7b52e0a479",
"courier_trips": [
{
"id": "4814c9f1-8e4f-4315-87c5-edfb4f368bb5",
"status": {
"status_code": "COMPLETED"
},
"pickup": {
"instructions": "",
"store_id": "egg9ae81-8abb-48a3-b99b-48bf7a26f0c7"
},
"dropoff": {
"address": {
"place": {
"id": "ChIJzWGwlkwDdkgRSoW8O1krMDM",
"provider": "google_places"
}
},
"contact": {
"first_name": "John",
"last_name": "S",
"email": "johns@uber.com",
"phone": "+18888888888"
},
"instructions": "Please ring doorbell",
"type": "DOOR"
},
"courier": {
"contact": {
"first_name": "Jim",
"phone": "+777777777777"
},
"picture_url": "https://ubereats.com/delivery_person_image.jpeg",
"location": {
"latitude": 0,
"longitude": 0
}
}
}
],
"external_order_id": "657685db-6a92-4e3e-b917-a2955372ede2",
"full_fee": {
"total": 1617, // represents $16.17, sum of values for each line_items entry
"currency_code": "USD",
"line_items": [
{
"fee_code": "BASKET_FEE",
"value": 1018, // 30% of order value, where order value is sum of (quantity * price) for each entry in order_items
"tax_amounts": [
{
"inclusive": true,
"value": 84,
"tax_rate": {
"id": "c73f1396-fdf8-4e41-94d7-68ae8bdbfd91",
"percentage": 0.0825
}
}
],
"category": "COMMISSION"
},
{
"fee_code": "DELIVERY_FEE",
"value": 599,
"tax_amounts": [
{
"inclusive": true,
"value": 49,
"tax_rate": {
"id": "c73f1396-fdf8-4e41-94d7-68ae8bdbfd91",
"percentage": 0.0825
}
}
],
"category": "DELIVERY"
}
]
},
"order_items": [
{
"name": "Small Hamburger",
"external_id": "merchant_item_001",
"quantity": 2,
"price": 350,
"currency_code": "USD"
},
{
"name": "Vanilla Milkshake",
"external_id": "merchant_item_002",
"quantity": 2,
"price": 150,
"currency_code": "USD"
},
{
"name": "French Fries",
"external_id": "merchant_item_003",
"quantity": 3,
"price": 565,
"currency_code": "USD"
},
{
"name": "Large Hamburger",
"external_id": "merchant_item_004",
"quantity": 1,
"price": 699,
"currency_code": "USD"
}
],
"return_status": "NONE",
"refunds": [
{
"id": "84ebfe87-355c-458f-a064-84ec18f35ae6",
"created_at": 1595548016,
"currency_code": "USD",
"total_merchant_refund": 865, // sum of merchant_refund_amount values from underlying order_items array
"total_uber_refund": 948, // sum of uber_refund_amount values from underlying order_items array
"fees": [
{
"fee_code": "DELIVERY_FEE",
"value": 499,
"tax_amounts": [
{
"inclusive": true,
"value": 41,
"tax_rate": {
"id": "c73f1396-fdf8-4e41-94d7-68ae8bdbfd91",
"percentage": 0.0825
}
}
],
"category": "DELIVERY"
}
],
"order_items": [
{
"type": "ALL",
"items": [
{
"external_id": "20bc0ed7-bf51-43a3-a45e-f25d1535d551",
"quantity": 1
},
{
"external_id": "0fff3a7f-2def-496e-8d33-816229fec677",
"quantity": 2
}
],
"party_at_fault": "UBER",
"uber_refund_amount": 650,
"reason": "DAMAGED_ITEMS"
},
{
"type": "ALL",
"items": [
{
"external_id": "d822e89b-26cc-44a5-a888-2d458c10469e",
"quantity": 1
}
],
"party_at_fault": "MERCHANT",
"uber_refund_amount": 0,
"reason": "MISSING_ITEMS"
},
{
"type": "ALL",
"items": [
{
"external_id": "a845b012-27be-41d1-8ece-0d3f736678e9",
"quantity": 1
}
],
"party_at_fault": "UBER_AND_MERCHANT",
"uber_refund_amount": 300,
"reason": "INCORRECT_ITEMS"
}
]
}
],
"dropoff": {
"verification_requirements": {
"barcodes": null,
"picture": true
},
"verification_proofs": {
"picture": {
"image_url": "https://tb-static.uber.com/prod/file-upload/uploads/courier-task-platform/c31eb302-468b-4556-9890-7b38710b03bb"
},
"barcodes": null
}
}
}
Authorization
Request Path Parameters
Response Body
Response Body - Address
Response Body - Cancellation Details
Response Body - Verification Details
Response Body - Verification Requirement
Response Body - Barcode Requirement
Response Body - Pincode Requirement
Response Body - Identification Requirement
Response Body Verification Proof
Response Body - Signature Proof
Response Body - Picture Proof
Response Body - Identification Proof
Response Body - Contact
Response Body - Courier Trip
Response Body - Courier
Response Body - Dropoff
Response Body - Related Deliveries
Response Body - Fee
Response Body - Fee Item
Response Body - Item Refund (Coming Soon)
Response Body - Place
Response Body - Refund (Coming Soon)
Response Body - Refund Order Items (Coming Soon)
Response Body - Trip Failure
Response Body - Trip Status
Response Body - Location
Response Body - Order Item
OrderItem - Dimensions
Response Body - Pickup
Response Body - Tax Amounts
Response Body - Tax Rate
Response Body - Vehicle
Response Example