Edit Order

Use this API to modify the details of the order after it has been placed in our system.

🚧

Using External ID

Order External ID needs to be unique to use this API.

📘

  • All the parameter validations that are specified in the Create Order API will be enforced.
  • All the properties of the order can be edited as long as the order is yet to be assigned to a Provider.
  • Once the order has been assigned, the Provider can decide the fields that can be successfully edited.
  • At least one field should be provided in the edit order request otherwise the request would fail.
🚧

Force Update

In an Edit Order request, there may be fields that needs to be updated in the Provider's system and fields that are relevant to Delivery Solutions only.

The fields that are sent to the Provider are expected to be updated successfully on their system. In case the update on the Provider's side fails, the Edit Order request in Delivery Solutions will not be updated as well. Also, the fields that are irrelevant to the provider would also not be updated in Delivery Solutions.

In case of force update, all the fields which are changed, are updated in Delivery Solutions. In addition, all the changed Provider-specific fields (if any) are sent to the Provider in order to be updated in its system. The fields will be updated in Delivery Solutions even if the Provider fails to update the order in its system.

Path Params
string
required

The external Id passed in Create Order call as orderExternalId

Query Params
boolean

To forcefully perform an order edit operation this field should be assigned true.

Body Params
string

Unique Id of the order generated in your system and configured in our system. Can be configured to be non-unique.

double

The value of the order in major units as decimals. E.g; 10.00. In USD this will be $10.00

double

Driver tip amount in major units as decimals. E.g; 9.00.

pickupTime
object

Time Window in which the package will be ready to be picked up.

dropoffTime
object

Time Window in which the package must be delivered by. Not needed for pickup order.

deliveryContact
object

Customer information to obtain an estimate

deliveryAddress
object

Address to deliver the package to. Not needed for order type: in-store-pickup and curbside.

packages
array of objects

Package details. Package dimension and weight details help in surfacing accurate estimates and winning Providers. For shipping type orders, packages are converted to shipments with applicable Providers.

packages
boolean

Delivery contains spirits

boolean

Delivery contains beer or wine

boolean

Delivery contains tobacco

boolean

Delivery has fragile items

boolean

Delivery has Rx items.

boolean

Delivery has refrigerated items

boolean

Delivery has perishable items

string
enum

Signature requirement. If available, defaults to Provider-level configuration. Defaults to not_required if Provider-level configuration is not available.

Allowed:
string

Pickup instruction for the location. This will override the instructions configured with the pickup location.

string

Delivery instructions for drop-off.

itemList
array of objects

Array of items in the order. Details offer improved post-purchase experiences. In the absence of packages, cubic dimensions and weight will be derived from this list.

itemList
dispatch
object

Order dispatch settings. e.g., dispatch order 10 mins before pickup time. In case of null, settings will be inherited.

release
object

Order release settings. e.g., release order 10 mins before pickup time. In case of null, settings will be inherited.

string

Group ID allows you to group a number of orders together. It further helps in providing a combined post-purchase experience for these orders.

string
enum
Defaults to none

Temperature information of the package.

Allowed:
string
enum

Order Type. If not specified, orchestration preference of Providers and services will be based on orchestration.

Allowed:
json

Configurable key-value pairs of custom order attributes. See Attributes.

int32

Date at which the order was originally created in Unix time in milliseconds. e.g., 1500616800000

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json