Delivery Groups

Delivery Checkout API supports split shipments for merchants. Additionally, it can serve marketplace platforms (also ones with per vendor configurations). Both mentioned use cases can be materialised with use of groups. Group is a set of items that can differ from other groups by having different field value or condition met, like different shipping dates.

Delivery Group concept is flexible enough to handle a myriad of situations, like shipping items from different warehouses, stores or applying custom splitting logic on integrator side to group items into sets.

If you don't want to use neither split shipment nor you are a marketplace, your integration needs to handle only one group.

Configuring split shipment logic

Splitting logic of cart items into delivery groups can be done manually by integrator. Splitting is done over the cart items based on the previously defined condition during session create and updates.

Each group will be mapped to a separate order.

Handling the split shipments manually

Splitting cart items into delivery groups can be handled manually by the integrator. In order to perform the splitting, one has to define the cart.groups field in create/update session requests to Delivery Checkout API. This powerful feature is a great fit for integrators wanting to have full control over the delivery groups and split shipments or wanting to keep the split shipment logic on their side.

Example create session request with cart items split into delivery groups can look as follows.

"cart": {
"cart_id": "cart-identifier",
"items": [
"sku": "sku-1",
"name": "Item name 1",
"price": 900,
"quantity": 2
"sku": "sku-2",
"name": "Item name 2",
"price": 100,
"quantity": 2
"groups": [
"group_id": "group-1",
"header": "Delivery 1",
"contents": [{ "sku": "sku-1", "quantity": 1 }]
"group_id": "group-2",
"header": "Delivery 2",
"contents": [
{ "sku": "sku-1", "quantity": 1 },
{ "sku": "sku-2", "quantity": 2 }
"total_value": 2000
"locales": ["en-US"],
"purchase_country": "SE",
"purchase_currency": "SEK",
"search_address": {
"country": "SE",
"postal_code": "11151"

There are some assumptions, that should be kept in mind when using the split feature:

Last updated: Mon, Apr 15, 06:15 AM