Using Custom Packages
Once you have defined your custom packages, you can then use either the package_id
or the package_code
in the shipments
object when creating your shipment or purchasing a label.
`package_id` vs `package_code`
When creating or updating shipments, you can provide either package_code
or package_id
. If both are included, package_code
will take precedence. When getting rates or labels, only package_code
is supported.
Sample Request & Response
In this example, we replace the dimensions
object with the package_code
property in the packages
object.
POST /v2/shipments
POST /v2/shipments HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"shipments": [
{
"service_code": "usps_priority_mail",
"shipment_status": "pending",
"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"
},
"ship_from": {
"company_name": "Example Corp.",
"name": "John Doe",
"phone": "111-111-1111",
"address_line1": "4009 Marathon Blvd",
"address_line2": "Suite 300",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78756",
"country_code": "US",
"address_residential_indicator": "no"
},
"confirmation": "none",
"advanced_options": {},
"insurance_provider": "none",
"tags": [],
"total_weight": {
"value": 10.0,
"unit": "ounce"
},
"packages": [
{
"package_code": "custom_laptop_box",
"weight": {
"value": 10.0,
"unit": "ounce"
}
}
]
}
]
}
Response
In the response, you'll see the package_code
property in the packages
object (in addition to all its included properties), which indicates that it worked!
{
"has_errors": false,
"shipments": [
{
"errors": null,
"address_validation": {
"status": "verified",
"original_address": {
"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"
},
"matched_address": {
"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"
},
"messages": []
},
"shipment_id": "se-41838065",
"carrier_id": "se-123890",
"service_code": "usps_priority_mail",
"external_shipment_id": null,
"ship_date": "2024-07-25T05:00:00.000Z",
"created_at": "2024-07-25T15:24:46.657Z",
"modified_at": "2024-07-25T15:24:46.657Z",
"shipment_status": "pending",
"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"
},
"ship_from": {
"company_name": "Example Corp.",
"name": "John Doe",
"phone": "111-111-1111",
"address_line1": "4009 Marathon Blvd",
"address_line2": "Suite 300",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78756",
"country_code": "US",
"address_residential_indicator": "no"
},
"warehouse_id": null,
"return_to": {
"company_name": "Example Corp.",
"name": "John Doe",
"phone": "111-111-1111",
"address_line1": "4009 Marathon Blvd",
"address_line2": "Suite 300",
"city_locality": "Austin",
"state_province": "TX",
"postal_code": "78756",
"country_code": "US",
"address_residential_indicator": "no"
},
"confirmation": "none",
"advanced_options": {
"bill_to_account": null,
"bill_to_country_code": null,
"bill_to_party": null,
"bill_to_postal_code": null,
"contains_alcohol": false,
"custom_field1": null,
"custom_field2": null,
"custom_field3": null,
"non_machinable": false,
"saturday_delivery": false
},
"insurance_provider": "none",
"tags": [],
"total_weight": {
"value": 10.0,
"unit": "ounce"
},
"packages": [
{
"package_code": "custom_laptop_box",
"weight": {
"value": 10.0,
"unit": "ounce"
},
"dimensions": {
"unit": "inch",
"length": 15.00,
"width": 20.00,
"height": 5.00
},
"insured_value": {
"currency": "usd",
"amount": 0.0
}
}
]
}
]
}