Wolt Drive API

Wolt Drive API is intended for merchants who want to use Wolt as a last mile carrier partner for their deliveries.

Before beginning the development, get in touch with the local Wolt Drive team to receive the staging credentials. For any technical issues or questions, reach out to your Wolt contact person or your technical account manager.

Authentication

Bearer authentication

Wolt Drive API uses basic authentication to authenticate your requests. Add your token into Authorization header for each request. Replace {{access_token}} in the example requests with your token. The token is also referred as "merchant key".

Test token will be provided by Wolt when you start the integration development and the production token when you successfully complete the testing phase. Only one token per merchant is needed.

You can get credentials by contacting your Wolt account manager or technical account manager.

Shipment promise

This is a venueful endpoint to request a shipment promise. See endpoint documentation for more information.

Shipment promise contains estimated delivery time and price based on destination location and other inputs. The promise can be binding or non-binding.

  • Promise is binding when the location is detailed enough for time estimate to be accurate.
  • Promise is non-binding when the location is not precise enough and time is a rough estimate.

In the case of non-binding promise it's not possible to create a delivery order using the promise. Promise creation is rather flexible but estimate accuracy depends on inputs.

There are multiple ways to create a shipment promise:

  • lat + lon AND ((street + city) OR (street + post_code))`: the preferred way of creating a binding promise with most accurate estimates
  • street + city: yields a binding promise with accurate estimates
  • street + post_code: yields a binding promise with accurate estimates
  • post_code or city only: a non-binding promise with rough estimates and it is not possible to create a delivery order with it
  • lat AND lon - a non-binding promise with an accurate estimate. Add street and city name for a binding promise.

Note that the endpoint cannot be used for address input validation. If the address does not exist, the endpoint will form a "best guess" of the location and resolve delivery availability using that address.

Providing parcel and cash information when relevant will enable more accurate price estimates.

The Shipment promise object

Properties

idstring

Required. Unique identifier for shipment promise. Promise ID is used for creating a delivery order.

created_atstring

Required. The date and time (ISO 8601 format) when the shipment promise was created.

valid_untilstring

Required. The date and time (ISO 8601 format) when the shipment promise will expire.

pickupobject

Required. The pickup location of the requested delivery.

dropoffobject

Required. The dropoff location of the requested delivery.

priceobject

Required. Price for the requested delivery. VAT included.

time_estimate_minutesinteger

Required. WARNING: This field is deprecated, use dropoff.eta_minutes or dropoff.options.scheduled_time in order to determine the delivery estimate.

is_bindingboolean

Required. Determines if enough information has been provided and further delivery order can be created from this promise.

parcels[object]

Parcels included in the delivery.

The Venueful delivery order object

Properties

idstring

Required. Unique identifier for the delivery order response.

statusstringenum: INFO_RECEIVED

Required. Status of the delivery order.

trackingobject

Required. Tracking information for the delivery order.

pickupobject

Required. The pickup location of the delivery order.

dropoffobject

Required. The dropoff location of the delivery order.

priceobject

Required. Price of the delivery order.

recipientobject

Required. Details of the recipient who is going to receive the parcels.

parcels[object]

Required. Parcels included in the delivery.

customer_supportobject

Required. Customer support contact information which will be shown for the customer in the Wolt tracking UI.

wolt_order_reference_idstring

Unique identifier for referencing the Wolt order.

merchant_order_reference_idstring

Any kind of external reference which links back to the delivery order.

tips[object]

Any additional monetary pre-delivery tips for courier partner.

order_numberstring

A short reference which links back to the delivery order.

Suggested to be 5 chars or under. If present, is shown to courier partner instead of merchant_order_reference_id.

Delivery fee

This is a venueless endpoint to request a delivery fee estimate.

Like shipment promise endpoint, the delivery fee endpoint is used to check availability of Wolt for a given time, determine the estimated price and delivery time. However as a venueless endpoint, delivery fee endpoint can be used without any predetermined venue address.

Note that the endpoint cannot be used for address input validation. If the address does not exist, the endpoint will form a "best guess" of the location and resolve delivery availability using that address.

See endpoint documentation for more information.

The Delivery fee object

Properties

created_atstring

Required. The date and time (ISO 8601 format) when the delivery fee was created.

pickupobject

Required. The pickup location of the delivery.

dropoffobject

Required. The dropoff location of the delivery.

feeobject

Required. Delivery fee on the requested delivery.

time_estimate_minutesinteger

Total estimated time for delivery.

scheduled_dropoff_timestring

The date and time (ISO 8601 format) when the order is scheduled to be dropped off.

Venueless delivery order

This is a venueless endpoint to request a delivery.

The delivery order endpoint is used to request a delivery when you have all required customer/order information and customer has “placed” their order. Venueless delivery endpoint requires merchant to include all relevant venue information every time a request is made.

Endpoint does not require any data from other responses, but using delivery fee endpoint is recommended to use before delivery to ensure availability, delivery time and price.

See endpoint documentation for more information.

The Venueless delivery order object

Properties

pickupobject

Required. The pickup location of the delivery order.

dropoffobject

Required. The dropoff location of the delivery order.

scheduled_dropoff_timestring

The date and time (ISO 8601 format) when the order is scheduled to be dropped off.

customer_supportobject

Required. Customer support contact information which will be shown for the customer in the Wolt tracking UI.

is_no_contactboolean

Required. Defines if the delivery should be no-contact delivery.

merchant_order_reference_idstring

Any kind of external reference which links back to the delivery order.

contents[object]

Required. Parcels included in the delivery.

tips[object]

Required. Any additional monetary pre-delivery tips for courier partner.

priceobject

Required. Price of the delivery order.

trackingobject

Required. Tracking information for the delivery order.

wolt_order_reference_idstring

Required. Unique identifier for referencing the order.

min_preparation_time_minutesinteger

Required. Minimum preparation time in minutes that the venue needs for preparing the order.

The functionality is further explained under use cases.

order_numberstring

A short reference which links back to the delivery order.

Suggested to be 5 chars or under. If present, is shown to courier partner instead of merchant_order_reference_id.