Three lines

Uber

Developers

Get Delivery Status

GEThttps://api.uber.com/v1/eats/deliveries/orders/{order_id}

Access to These APIs May Require Written Approval From Uber

Uber’s APIs are always under development and as such are subject to changes according to our Versioning & Upgrade policy. As part of Uber’s ongoing privacy improvements, we’ve updated our Developer API program with new scope access policies for third party applications. For further information, please refer to our Getting Started guides.

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.
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
    }
  }
}

Uber

Developers
© 2023 Uber Technologies Inc.