Skip to main content
GET
/
checkout
/
configurations
/
{configuration_id}
/
delivery-options
Retrieve a list of delivery options
curl --request GET \
  --url https://panel.sendcloud.sc/api/v2/checkout/configurations/{configuration_id}/delivery-options \
  --header 'Authorization: Basic <encoded-value>'
{
"configuration_id": "bae462c1-d659-48d0-aacd-fb7e3550de14",
"delivery_options": [
{
"id": "068607a1-f591-47c6-af47-fcbb01dcdfd9",
"title": "PostNL Delivery - Signature Required",
"internal_title": "postnl sameday signature",
"description": "Choose a delivery day yourself!",
"delivery_method_type": "nominated_day_delivery",
"cut_off_time": "2022-08-08T15:00:00+01:00",
"checkout_identifier": {
"type": "method_id",
"value": 123
},
"shipping_rate": {
"value": "8",
"currency": "EUR"
},
"carrier": {
"code": "postnl",
"name": "PostNL",
"logo_url": "https://sendcloud-prod-scp-static-files.s3.amazonaws.com/postnl/img/logo.svg"
},
"delivery_dates": [
{
"delivery_date": "2022-08-09T16:00:00+01:00",
"parcel_handover_date": "2022-08-08T16:00:00+01:00"
},
{
"delivery_date": "2022-08-10T16:00:00+01:00",
"parcel_handover_date": "2022-08-08T16:00:00+01:00"
},
{
"delivery_date": "2022-08-11T16:00:00+01:00",
"parcel_handover_date": "2022-08-08T16:00:00+01:00"
}
],
"lead_time_hours": {
"p10": 24,
"p20": 24,
"p30": 48,
"p40": 48,
"p50": 72,
"p60": 72,
"p70": 96,
"p80": 96,
"p90": 120,
"p95": 144
},
"sustainability_rating": "medium",
"is_order_overweight": false,
"allowed_weight": {
"min": {
"value": "0.001",
"unit": "kg"
},
"max": {
"value": "23.001",
"unit": "kg"
}
}
}
],
"is_delivery_zone_configured": true,
"is_delivery_zone_excluded": false
}
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. Log in to your Sendcloud account and go to Dynamic Checkout.
  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, e.g. 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 option 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 the Service point delivery method currently allows for 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 or parcels 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.

Authorizations

Authorization
string
header
required

Basic Authentication using API key and secrets is currently the main authentication mechanism.

Path Parameters

configuration_id
string<uuid>
required

Checkout configuration id from which delivery options will be retrieved

Example:

"465e2fe8-4589-4ae2-b49c-0c64153e5169"

Query Parameters

weight
integer
required

Total order/cart weight in grams

Required range: x >= 1
Example:

2500

value
string
required

Total order/cart price value

Minimum string length: 1
Example:

"45.90"

from_country
enum<string>
required

The sender country of the shipment, as an ISO 3166-1 alpha-2. A country represented by its ISO 3166-1 alpha-2 code

Available options:
AW,
AF,
AO,
AI,
AX,
AL,
AD,
AE,
AR,
AM,
AS,
AQ,
TF,
AG,
AU,
AT,
AZ,
BI,
BE,
BJ,
BQ,
BF,
BD,
BG,
BH,
BS,
BA,
BL,
BY,
BZ,
BM,
BO,
BR,
BB,
BN,
BT,
BV,
BW,
CF,
CA,
CC,
CH,
CL,
CN,
CI,
CM,
CD,
CG,
CK,
CO,
KM,
CV,
CR,
CU,
CW,
CX,
KY,
CY,
CZ,
DE,
DJ,
DM,
DK,
DO,
DZ,
EC,
EG,
ER,
EH,
ES,
EE,
ET,
FI,
FJ,
FK,
FR,
FO,
FM,
GA,
GB,
GE,
GG,
GH,
GI,
GN,
GP,
GM,
GW,
GQ,
GR,
GD,
GL,
GT,
GF,
GU,
GY,
HK,
HM,
HN,
HR,
HT,
HU,
ID,
IM,
IN,
IO,
IE,
IR,
IQ,
IS,
IL,
IT,
JM,
JE,
JO,
JP,
KZ,
KE,
KG,
KH,
KI,
KN,
KR,
KW,
LA,
LB,
LR,
LY,
LC,
LI,
LK,
LS,
LT,
LU,
LV,
MO,
MF,
MA,
MC,
MD,
MG,
MV,
MX,
MH,
MK,
ML,
MT,
MM,
ME,
MN,
MP,
MZ,
MR,
MS,
MQ,
MU,
MW,
MY,
YT,
NA,
NC,
NE,
NF,
NG,
NI,
NU,
NL,
NO,
NP,
NR,
NZ,
OM,
PK,
PA,
PN,
PE,
PH,
PW,
PG,
PL,
PR,
KP,
PT,
PY,
PS,
PF,
QA,
RE,
RO,
RU,
RW,
SA,
SD,
SN,
SG,
GS,
SH,
SJ,
SB,
SL,
SV,
SM,
SO,
PM,
RS,
SS,
ST,
SR,
SK,
SI,
SE,
SZ,
SX,
SC,
SY,
TC,
TD,
TG,
TH,
TJ,
TK,
TM,
TL,
TO,
TT,
TN,
TR,
TV,
TW,
TZ,
UG,
UA,
UM,
UY,
US,
UZ,
VA,
VC,
VE,
VG,
VI,
VN,
VU,
WF,
WS,
YE,
ZA,
ZM,
ZW,
IC,
XK
Example:

"NL"

to_country
enum<string>
required

The receiver country of the shipment, as an ISO 3166-1 alpha-2. A country represented by its ISO 3166-1 alpha-2 code

Available options:
AW,
AF,
AO,
AI,
AX,
AL,
AD,
AE,
AR,
AM,
AS,
AQ,
TF,
AG,
AU,
AT,
AZ,
BI,
BE,
BJ,
BQ,
BF,
BD,
BG,
BH,
BS,
BA,
BL,
BY,
BZ,
BM,
BO,
BR,
BB,
BN,
BT,
BV,
BW,
CF,
CA,
CC,
CH,
CL,
CN,
CI,
CM,
CD,
CG,
CK,
CO,
KM,
CV,
CR,
CU,
CW,
CX,
KY,
CY,
CZ,
DE,
DJ,
DM,
DK,
DO,
DZ,
EC,
EG,
ER,
EH,
ES,
EE,
ET,
FI,
FJ,
FK,
FR,
FO,
FM,
GA,
GB,
GE,
GG,
GH,
GI,
GN,
GP,
GM,
GW,
GQ,
GR,
GD,
GL,
GT,
GF,
GU,
GY,
HK,
HM,
HN,
HR,
HT,
HU,
ID,
IM,
IN,
IO,
IE,
IR,
IQ,
IS,
IL,
IT,
JM,
JE,
JO,
JP,
KZ,
KE,
KG,
KH,
KI,
KN,
KR,
KW,
LA,
LB,
LR,
LY,
LC,
LI,
LK,
LS,
LT,
LU,
LV,
MO,
MF,
MA,
MC,
MD,
MG,
MV,
MX,
MH,
MK,
ML,
MT,
MM,
ME,
MN,
MP,
MZ,
MR,
MS,
MQ,
MU,
MW,
MY,
YT,
NA,
NC,
NE,
NF,
NG,
NI,
NU,
NL,
NO,
NP,
NR,
NZ,
OM,
PK,
PA,
PN,
PE,
PH,
PW,
PG,
PL,
PR,
KP,
PT,
PY,
PS,
PF,
QA,
RE,
RO,
RU,
RW,
SA,
SD,
SN,
SG,
GS,
SH,
SJ,
SB,
SL,
SV,
SM,
SO,
PM,
RS,
SS,
ST,
SR,
SK,
SI,
SE,
SZ,
SX,
SC,
SY,
TC,
TD,
TG,
TH,
TJ,
TK,
TM,
TL,
TO,
TT,
TN,
TR,
TV,
TW,
TZ,
UG,
UA,
UM,
UY,
US,
UZ,
VA,
VC,
VE,
VG,
VI,
VN,
VU,
WF,
WS,
YE,
ZA,
ZM,
ZW,
IC,
XK
Example:

"NL"

checkout_identifier_type
enum<string>
default:method_id

Defines 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 in the Create a parcel or parcels and to retrieve the shipping label.

Available options:
method_id
to_postal_code
string

Postal code of the recipient. This field can be used in combination with Checkout Rules to show or hide delivery options in certain locations.

Maximum string length: 15
Example:

"5611EM"

parcel_length
number

Parcel length in centimeters. Examples: "48" or "52.3"

Example:

48

parcel_width
number

Parcel width in centimeters. Examples: "48" or "52.3"

Example:

48

parcel_height
number

Parcel height in centimeters. Examples: "48" or "52.3"

Example:

48

checkout_metadata
string

Arbitrary 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

Maximum string length: 128
Example:

"demo_sku_12345"

Response

Successful Response

A delivery options response

configuration_id
string<uuid>
required

Checkout configuration id from which delivery options will be processed and retrieved

Example:

"bae462c1-d659-48d0-aacd-fb7e3550de14"

delivery_options
Delivery Option · object[]
required

List of available delivery options based on the current cart/order information provided at the time of the request

Example:
[
{
"id": "ec9ce3b9-7d3f-4298-bc1c-8f3aaa8d27e9",
"title": "Trunkrs Delivery - Sameday",
"internal_title": "trunkrs delivery",
"description": "Order now and get your delivery today!",
"delivery_method_type": "same_day_delivery",
"cut_off_time": "2022-08-08T15:00:00+01:00",
"checkout_identifier": { "type": "method_id", "value": 123 },
"shipping_rate": { "value": "8", "currency": "GBP" },
"carrier": {
"code": "trunkrs",
"name": "Trunkrs",
"logo_url": "https://sendcloud-prod-scp-static-files.s3.amazonaws.com/trunkrs/img/logo.svg"
},
"delivery_dates": [
{
"delivery_date": "2022-08-08T20:00:00+01:00",
"parcel_handover_date": "2022-08-08T16:00:00+01:00"
}
],
"lead_time_hours": {
"p10": 0,
"p20": 0,
"p30": 0,
"p40": 0,
"p50": 0,
"p60": 0,
"p70": 0,
"p80": 24,
"p90": 24,
"p95": 24
},
"sustainability_rating": "low",
"is_order_overweight": false,
"allowed_weight": {
"min": { "value": "0.001", "unit": "kg" },
"max": { "value": "23.001", "unit": "kg" }
}
}
]
is_delivery_zone_configured
boolean
required

Indicates whether the selected delivery country corresponds to a configured delivery zone in the checkout configuration

Example:

true

is_delivery_zone_excluded
boolean
required

Indicates whether the matched delivery zone is explicitly excluded by exclusion rules in the checkout settings. For instance, a specific location or an entire region can be excluded based on postal code exclusion rules, resulting in an empty list of delivery options

Example:

false