Skip to main content

What is multicollo?

Multicollo is a feature that allows sending multiple parcels to be shipped and delivered simultaneously at a higher chance of lower costs by supported carriers. It is handy for merchants who usually send bulky items (e.g. bicycles, gym stations) or different items purchased together that do not fit in one parcel. In this context, a shipment is a group of parcels that are announced together, and each parcel has its own items and shipping label. All multicollo parcels must be sent from the same sender address to the same destination address.

How to create multicollo shipments

We offer three ways to announce multicollo shipments:
  1. Using the Shipments API, part of API v3 (recommended)
  2. Using the Parcels API, part of API v2
  3. Creating them manually in the Sendcloud panel. Learn more in our help center.
The new Shipments API has improved multicollo functionality, allowing you to specify weight, dimensions, and items per parcel in a multicollo shipment. Providing more accurate details of the parcels ensures a smoother shipping process, reduces the chance of unexpected carrier surcharges, and might reduce your shipping costs, depending on your carrier contract and rates. Note that we currently support fewer carriers for multicollo with the Shipments APIm compared to the Parcels API and the Sendcloud panel.

Comparison between the Shipments API and the Parcels API

Advantages of the Shipments API:
  • Reduces your shipping costs, depending on your carrier contract and rates.
  • Ensures a smoother shipping process, because it allows sending more accurate details of the parcels.
  • Reduces the chance of unexpected carrier surcharges.
  • Supports international multicollo shipments.
Advantages of the Parcels API:
  • Allows you to specify a return shipment in the same endpoint
  • Allows you to create an order on the Sendcloud panel to manually edit it before announcing it

Supported carriers

Not all carriers support multicollo shipments. To check which carriers support multicollo and how to ship with them, refer to the appropriate API version below:
  • API v3: use the Shipping options API and make a POST request with {"functionalities": {"multicollo": true}} in the body. This will return shipping options that support the multicollo functionality.
  • API v2: Use the Shipping products API and make a GET request including the query parameter multicollo=true. This will return a list of shipping methods that support multicollo.
Currently international multicollo shipments are only supported in API v3.
Some restrictions apply to multicollo shipments. See our help center for more information.

How to create multicollo shipments via the API

With the Shipments API

Use the Create and announce a shipment asynchronously endpoint to create and announce a multicollo shipment asynchronously. For each parcel in a multicollo shipment, you can provide its details by adding it to the parcels array in your request.
We recommend providing weight and dimensions info per parcel to avoid potential carrier surcharges.
You can check the results of the announcement by using the Retrieve a shipment endpoint. Use the Retrieve a parcel document endpoint to retrieve the labels.

Avoid being charged for unused multicollo shipments

If you create a shipment using this API but decide not to ship it, you can avoid being charged by using the Cancel a shipment endpoint. When a multicollo shipment is canceled, all labels from that shipment become canceled.

With the Parcels API

To create a multicollo shipment, include the number of parcels you wish to ship in the quantity field under the parcel object and make a POST request to the Create a parcel or parcels endpoint. The maximum number of parcels you can create under quantity is 20.
  • If the value of the request_label field in the request body is true, then the parcels will be announced together, and the response will include the URL to download each shipping label.
  • If the value of the request_label field in the request body is false, the parcel object will be created with a quantity matching the value you specified in your request. The parcel will appear in the Incoming order overview in the Sendcloud panel with the status Ready to process. When the parcel is processed, the correct number of shipping labels will be created.

Multicollo labels

The shipping label will reflect the total number of parcels in the consignment, and (depending on the carrier) each parcel’s position, e.g. packages 1/3, 2/3, 3/3, etc. Each parcel will have a unique tracking number, but the customer will only receive one tracking email for all of the parcels in the consignment. Example of a multicollo label for DPD. The label says 'Packages 1 of 5'.

Migrating from the Parcels API (v2) to the Shipments API (v3)

If you use the old Parcels API (v2) for multicollo shipments and want to migrate to the Shipment API (v3) to benefit from the improved multicollo functionality:
  1. Use the Create and announce a shipment asynchronously endpoint instead of the Create a parcel or parcels endpoint
  2. To find a shipping_option_code for use in the ship_with field for the Shipments API, you can use the Create a list of shipping options endpoint
    • Also, if you have a direct contract with the carrier, you can add the contract_id to the request body (the id can be obtained through the Retrieve a list of contracts endpoint)
  3. Update your payload to match the expected request body in the Create and announce a shipment asynchronously endpoint
    • For multicollo, the main change is that instead of specifying a quantity when creating a parcel, you can now specify each parcel’s details by adding a separate parcel object in the parcels array for each parcel in your multicollo shipment.

How to find the shipping_option_code

Make a request to the Create a list of shipping options endpoint. The top-level code field in each shipping option object is the shipping_option_code to be used with the Shipments API. In the example response below, the code is dpd:home.
Response body
{
  "data": [
    {
      "code": "dpd:home", // This is the shipping_option_code
      "carrier": {
        "code": "dpd",
        "name": "DPD"
      },
      "product": {
        "code": "dpd:home",
        "name": "DPD Home"
      },
      "functionalities": {
        // ... trimmed for brevity
      },
      "contract": null,
      "weight": {
        "min": {
          "value": "0.001",
          "unit": "kg"
        },
        "max": {
          "value": "31.501",
          "unit": "kg"
        }
      },
      "max_dimensions": {
        "length": "175.00",
        "width": "0.00",
        "height": "0.00",
        "unit": "cm"
      },
      "billed_weight": {
        "unit": "kg",
        "value": "1.320",
        "volumetric": false
      },
      "requirements": {
        "fields": [],
        "export_documents": false
      },
      "quotes": null
    }
    // ... other shipping options
  ]
}