The 3PL API supports sending multiple packages back to Fulfil for a shipment
When calling the mark done endpoint, you can send multiple packages per shipment.
Each with its own tracking number and associated packed items. Additionally, you can send a master tracking number if supported by the carrier which Fulfil will then export to the marketplace.
To send back a multi-package shipment, you will need to specify the list of items
packed within each package:
{
"shipments": [
{
"id": 536,
"carrier_identifier": "ups",
"tracking_number": "1Z9999999999999988",
"override_sscc": "00012345678912345678",
"cost": "23.89",
"packages": [
{
"reference": "PKG9",
"dimensions": {
"length": 10,
"width": 10,
"height": 10,
"uom": "in"
},
"medium": "CTN",
"material": "05",
"weight": 10.0,
"weight_uom": "lb",
"tracking_number": "1Z9999999999999999",
"override_sscc": "00012345678912345676",
"bill_of_lading": "123455678",
"seal_number": "ABC1234XYZ",
"carrier_identifier": "ups",
"items": [
{
"product_code": "CONT-TIRE-001",
"quantity": 1
}
]
},
{
"reference": "PKG10",
"dimensions": {
"length": 10,
"width": 10,
"height": 10,
"uom": "in"
},
"medium": "CTN",
"material": "05",
"weight": 10.0,
"weight_uom": "lb",
"tracking_number": "1Z9999999999999998",
"override_sscc": "00012345678912345675",
"carrier_identifier": "ups",
"items": [
{
"product_code": "CONT-TIRE-002",
"quantity": 1,
"lot": {
"number": "LOT-1"
}
}
]
}
]
}
]
}
Package object
-
reference
(optional) - The package reference number. This is useful for EDI integrations to allow passing custom values as needed -
dimensions
(optional) - Custom package dimensions can be specified in this object -
medium
(optional) - This is the Fulfil package type code for the box type used (see below for a list of codes and descriptions) -
material
(optional) - This is the Fulfil package type material code (see below for list of codes) -
weight
(optional) - Float type value of the package weight -
weight_uom
(optional) - Weight UOM code -
tracking_number
(optional) - Package level tracking number -
override_sscc
(optional) - Package level SSCC override value. Fulfil can automatically generate an SSCC, however, if you would like to override the SSCC set by Fulfil then this value can be sent back. -
carrier_identifier
(optional) - Fulfil carrier identifier code - see here for a full list of supported carrier codes -
bill_of_lading
(optional) - An identifier that is a legally binding document that tracks and confirms the receipt, carriage, and delivery of cargo. -
seal_number
(optional) - A seal number is a unique identifier assigned to secure cargo containers during FTL shipments. Used to detect tampering, this number should match at pickup and delivery. -
items[]
(required) - List of products that are fulfilled in the specified packageproduct_code
- Fulfil product code (can also be the UPC/EAN/GTIN)quantity
- Quantity of the item in the packagelot.number
(optional) If the 3PL warehouse tracks lots, the same can be communicated back to Fulfil on shipment confirmation
Splitting multi-quantity lines
If you have a multi-quantity line that is fulfilled in multiple different packages the request schema will be the same and Fulfil will handle splitting the moves into the respective package.
For example - if we have a shipment with "Item A" with a quantity of 10 to be fulfilled shipped in two packages:
{
"shipments": [
{
"id": 537,
"carrier_identifier": "ups",
"tracking_number": "1Z9999999999999988",
"cost": "23.89",
"packages": [
{
"reference": "PKG99",
"dimensions": {
"length": 10,
"width": 10,
"height": 10,
"uom": "in"
},
"medium": "CTN",
"material": "05",
"weight": 10,
"weight_uom": "lb",
"tracking_number": "1Z9999999999999999",
"carrier_identifier": "ups",
"items": [
{
"product_code": "Item A",
"quantity": 5
}
]
},
{
"reference": "PKG910",
"dimensions": {
"length": 10,
"width": 10,
"height": 10,
"uom": "in"
},
"medium": "CTN",
"material": "05",
"weight": 10,
"weight_uom": "lb",
"tracking_number": "1Z9999999999999998",
"carrier_identifier": "ups",
"items": [
{
"product_code": "Item A",
"quantity": 5
}
]
}
]
}
]
}
Fulfil will then mark the shipment as 'done', creating two packages each with a quantity of 5 for "Item A"
List of package mediums
Fulfil medium code | Medium description |
---|---|
BAG | Bag |
BAL | Bale |
BBL | Barrel |
BOX | Box |
CTN | Carton |
PLT | Pallet |
SKD | Skid |
List of materials
Fulfil material code | Material description |
---|---|
01 | Aluminium |
03 | Hard Wood |
05 | Soft Wood |
25 | Corrugated or Solid |
31 | Fibre |
43 | Glass |
58 | Metal |
76 | Paper |
79 | Plastic |
91 | Stainless Steel |