Get Rates

When placing an order with any Provider, the estimated pickup and delivery times along with the rate provided by each service offered by the Provider are crucial information that can help in deciding the Provider and the services offered by it. The Get Rates API helps achieve this for all the Providers assigned to the stores.

The minimum required parameters for the Rate API are zipcode in the deliveryAddress and the storeExternalIds. This provides the rates for all the Providers assigned to the stores for delivery to a location in that zipcode.

The Rate API comes with the ability to use Orchestration. If the orchestration module is used, then the ruleApplied is set to true on the rates which are selected by the orchestration module. By default, all the rates processed by the orchestration module are sent in the response. The API can be configured to send only those rates that are selected by the orchestration module and filter the rest by setting the displayWinningRates parameter to true.

The default options for the get rates can also be configured at the business level. Please contact Delivery Solutions Support if you wish to configure the default options for the Rates Request API. The configured default options can be overridden while using the API.

The rate response provides an array of rates - each rate consisting of the estimated pick up and delivery time offered by different services of the Providers along with the amounts that it shall charge for the service. The response also includes errors sent by the Provider if the provider is unable to provide a rate for the given parameters as well as any validation messages.

Body Params
deliveryAddress
object
required

Address where the package will be delivered

storeExternalIds
array of strings
required

Array of Unique Id of the pickup locations.

storeExternalIds*
string
enum

This field is used to indicate preferred fulfillment type. If delivery/in-store-pickup/curbside/shipping are provided as the type, the system will provide rates to only those Providers that matches the type. If type is not specified, all available fulfilment options will be considered for rates.

Allowed:
float

Value of the order in dollars & cents. e.g., 10.00 or 116.50.

pickupTime
object

Check provider availability based on pickup time. If not provided, the system will use the appropriate time window. If pickupTime is null then it means that the package needs to be picked as soon as possible.

dropoffTime
object

Check provider availability based on drop-off time. If not provided, the system will use the appropriate time window. If dropoff time is null then it means that the package needs to be dropped off as soon as possible after the pickup.

options
object

Override default configured rate options set for the business.

packages
array of objects

Package dimensions, weight and quantity details help in providing accurate estimates and winning providers. For shipping type orders, packages are converted to shipments with applicable providers

packages
boolean

true/false to indicate if the order contains spirits.

boolean

true/false to indicate if the order contains beer or wine.

boolean

true/false to indicate if the order contains tobacco.

boolean

true/false to indicate if the order contains fragile items.

boolean

true/false to indicate if the order contains medical prescription (Rx) items.

boolean

true/false to indicate if the order contains refrigerated items.

boolean

true/false to indicate if the order contains perishable items,

itemList
array of objects

List of items in the order. Upon creation of an order, this list improves post-purchase experiences.In the absence of packages, cubic dimensions and weight will be derived from this list.

itemList
matchProviderTags
array of strings

Rates for providers matching at least one tag from the requested tags are returned.

matchProviderTags
json

Configurable key-value pairs of custom order attributes.

matchLocationTags
array of strings

Rates for locations matching at least one tag from the requested location tags, are returned.

matchLocationTags
proposedProviders
array

Override orchestration and get rates with the specified Provider and Service.

proposedProviders
Responses

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