Skip to main content
In Sparqle, every order is exactly one physical parcel (a collo). When a single shipment needs to travel as more than one parcel, you create one order per parcel and group them into a delivery bundle. The bundle keeps the parcels together through routing and lets you fetch all their labels in a single call. Each order in a bundle keeps its own orderRef, dimensions, and weight — bundling doesn’t merge them, it links them.

How bundling works

You bundle orders by referencing a shared bundle on create. The first order creates the bundle; every following order joins it by passing its bundleId as orderBundleId.
1

Create the first order without a bundle

Call POST /orders as usual, leaving orderBundleId out. The response includes an orderBundle object — note its bundleId.
2

Create the next orders with orderBundleId

Call POST /orders again for each additional parcel, this time passing the bundleId from the first response as orderBundleId. Each order joins the same bundle.
3

Fetch the labels together

Retrieve every label in the bundle at once with GET /orders/label/bundle/{orderBundleId}. See Labels.

1. Create the first order

Leave orderBundleId out. Sparqle creates a new bundle and returns it as orderBundle:

2. Create the next orders in the bundle

Use the bundleId from the first response as orderBundleId on every additional parcel. Give each order its own orderRef and its own dimensions:
Repeat for each remaining parcel, reusing the same orderBundleId.
orderBundleId is the bundle’s bundleId (the string), not its numeric id. Only pass it on orders that join an existing bundle — never on the first order, which creates the bundle.
Fetch all labels for a bundle in one request with GET /orders/label/bundle/{orderBundleId}, and print them in a single pass.