This guide demonstrates how to split ship a sales order by creating multiple shipments from a single order with multiple items.
The split shipping process involves:
- Retrieve the Sales Order with multiple items
- Create separate shipments for each item
- Generate labels for the individual shipments
GET /v-beta/sales_orders/0d3c142a-7516-5f5b-8a40-b437b5e01317 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__POST /v-beta/shipments HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json{
"shipments": [{
"validate_address": "validate_and_clean",
"carrier_id": "se-123890",
"service_code": "usps_priority_mail",
"warehouse_id": "se-241419",
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"packages": [{
"package_code": "package",
"weight": {
"value": 1.0,
"unit": "ounce"
}
}],
"items": [{
"sales_order_id": "0d3c142a-7516-5f5b-8a40-b437b5e01317",
"sales_order_item_id": "0399c595-774a-599b-a566-27ea86fec17d",
"quantity": 1
}]
}]
}The request structure is similar, but references a different sales_order_item_id:
{
"shipments": [{
"validate_address": "validate_and_clean",
"carrier_id": "se-123890",
"service_code": "usps_priority_mail",
"warehouse_id": "se-241419",
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"packages": [{
"package_code": "package",
"weight": {
"value": 1.0,
"unit": "ounce"
}
}],
"items": [{
"sales_order_id": "0d3c142a-7516-5f5b-8a40-b437b5e01317",
"sales_order_item_id": "4afd6df4-d679-51d7-a858-8aff7d6103c2",
"quantity": 1
}]
}]
}POST /v-beta/labels/shipment/se-201053690 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json{
"label_format": "pdf"
}- Split orders across multiple shipments
- Each shipment references specific order items
- Address validation included
- Support for various carriers and services
- Multiple label formats available