Retrieve a list of delivery options

GET {{baseUrl}}/checkout/configurations/:configuration_id/delivery-options?weight=<integer>&value=<string>&from_country=SG&to_country=SG&checkout_identifier_type=method_id&to_postal_code=<string>&parcel_length=<number>&parcel_width=<number>&parcel_height=<number>&checkout_metadata=<string>

To use this API, you first need to create your own Dynamic Checkout configuration in the Sendcloud panel.

To get started, take the following steps:

  1. Login to your Sendcloud account and click the Dynamic Checkout tab.
  2. Select your API integration from the Shops menu to customize your delivery options.
  3. When you're done, click Publish to apply your configuration to your API integration.

This API allows you to let your customers pick delivery options. The options returned via this endpoint are based on the delivery methods they previously configured, in addition to cart/order information, for example — parcel weight, total order value, destination country, etc.

Then you can present the returned delivery options to your customer on your checkout page, where they can select their preferred one for their order.

How do delivery options correspond to configured delivery methods?

This API returns one delivery option per carrier configured in Dynamic Checkout. If a delivery method is configured with multiple carriers, then multiple delivery options will be returned - one per carrier. In cases when delivery options correspond to the same delivery method, delivery options' ids will refer to the same delivery method id, leaving API users with a flexibility to perform grouping based on a delivery method id, if desired.

Only Service point delivery method currently allows selection of multiple carriers. Hence, multiple delivery options will be returned only for a delivery method of this type.

How can I create a parcel out of the selected delivery option?

You'll need to make an API call to the Create a parcel endpoint, passing request_label=true and shipping_method_id=checkout_identifier.value, where the checkout_identifier field refers to the identifier of the selected delivery option.

Request Params

KeyDatatypeRequiredDescription
weightstring(Required) Total order/cart weight in grams
valuestring(Required) Total order/cart price value
from_countrystring(Required) The sender country of the shipment, as an ISO 3166-1 alpha-2.
to_countrystring(Required) The receiver country of the shipment, as an ISO 3166-1 alpha-2.
checkout_identifier_typestringDefines the way of getting the shipping label via Sendcloud. Currently, we only support the method_id type, therefore, in every delivery option you will find the checkout_identifier object. This contains the shipping method ID, which is used to <a href="https://api.sendcloud.dev/docs/sendcloud-public-api/parcels/operations/create-a-parcel&quot;&gt;**Create a parcel**</a> and retrieve the shipping label.
to_postal_codestringPostal code of the recipient. This field can be used in combination with Checkout Rules to show or hide delivery options in certain locations.
parcel_lengthstringParcel length in centimeters. Examples: “48” or “52.3”
parcel_widthstringParcel width in centimeters. Examples: “48” or “52.3”
parcel_heightstringParcel height in centimeters. Examples: “48” or “52.3”
checkout_metadatastringArbitrary text data that can be used in combination with Checkout Rules to show or hide delivery options based on the value provided. For example, it can be used to filter delivery options based on the product SKU

HEADERS

KeyDatatypeRequiredDescription
Acceptstring

RESPONSES

status: OK

{&quot;configuration_id&quot;:&quot;\u003cuuid\u003e&quot;,&quot;delivery_options&quot;:[{&quot;id&quot;:&quot;\u003cuuid\u003e&quot;,&quot;title&quot;:&quot;\u003cstring\u003e&quot;,&quot;internal_title&quot;:&quot;\u003cstring\u003e&quot;,&quot;description&quot;:&quot;\u003cstring,null\u003e&quot;,&quot;delivery_method_type&quot;:&quot;nominated_day_delivery&quot;,&quot;cut_off_time&quot;:&quot;\u003cstring,null-date-time\u003e&quot;,&quot;checkout_identifier&quot;:{&quot;type&quot;:&quot;method_id&quot;,&quot;value&quot;:&quot;\u003cinteger\u003e&quot;},&quot;shipping_rate&quot;:{&quot;value&quot;:&quot;\u003cstring,null\u003e&quot;,&quot;currency&quot;:&quot;\u003cstring\u003e&quot;},&quot;carrier&quot;:{&quot;code&quot;:&quot;dp&quot;,&quot;name&quot;:&quot;\u003cstring\u003e&quot;,&quot;logo_url&quot;:&quot;\u003curi\u003e&quot;},&quot;delivery_dates&quot;:null},{&quot;id&quot;:&quot;\u003cuuid\u003e&quot;,&quot;title&quot;:&quot;\u003cstring\u003e&quot;,&quot;internal_title&quot;:&quot;\u003cstring\u003e&quot;,&quot;description&quot;:&quot;\u003cstring,null\u003e&quot;,&quot;delivery_method_type&quot;:&quot;nominated_day_delivery&quot;,&quot;cut_off_time&quot;:&quot;\u003cstring,null-date-time\u003e&quot;,&quot;checkout_identifier&quot;:{&quot;type&quot;:&quot;method_id&quot;,&quot;value&quot;:&quot;\u003cinteger\u003e&quot;},&quot;shipping_rate&quot;:{&quot;value&quot;:&quot;\u003cstring,null\u003e&quot;,&quot;currency&quot;:&quot;\u003cstring\u003e&quot;},&quot;carrier&quot;:{&quot;code&quot;:&quot;correos_express&quot;,&quot;name&quot;:&quot;\u003cstring\u003e&quot;,&quot;logo_url&quot;:&quot;\u003curi\u003e&quot;},&quot;delivery_dates&quot;:null}]}