This API allows bulk packing of multiple shipments for an order in a single request.
This API is used by the External Fulfillment System (EFS) to pack multiple shipments for a single order. It supports batch-based inventory allocation where each shipment item can specify batch details including batch code, manufacturing date, expiry date, and supplier code.
The API supports:
{
"orderCode": "ORD-2024-001",
"locationCode": "LOC-001",
"channelName": "USP-Channel",
"shipments": [
{
"efsShipmentCode": "EFS-SHIP-001",
"packageSku": "PKG-SKU-001",
"dimensions": {
"length": "30.5",
"breadth": "20",
"height": "15",
"weight": "2.5"
},
"shipmentItems": [
{
"channelSkuCode": "CHANNEL-SKU-001",
"quantityToPack": 5,
"batchShipmentItems": [
{
"supplierCode": "SUPPLIER-001",
"batchCode": "BATCH-001",
"expiryDate": "2025-12-31T23:59:59Z",
"manufacturingDate": "2024-01-01T00:00:00Z",
"quantity": 5
}
],
"externalSerialCodes": ["SER-001", "SER-002"]
}
],
"packBoxes": [
{
"externalBoxCode": "BOX-EXT-001",
"packageSku": "BOX-PKG-001",
"dimensions": {
"length": "25",
"breadth": "15",
"height": "10",
"weight": "1.5"
},
"packBoxSku": [
{
"channelSkuCode": "CHANNEL-SKU-001",
"quantity": 3,
"batchId": 12345,
"clientSkuId": "CLIENT-SKU-001",
"externalBatchId": "BATCH-001",
"mfgDate": "2024-01-01T00:00:00Z",
"expiryDate": "2025-12-31T23:59:59Z"
}
]
}
]
}
]
}
| Parameter Name | Data Type | Description | Mandatory |
|---|---|---|---|
orderCode |
String | Unique order code identifier | Yes |
locationCode |
String | Identifier of the fulfillment location | Yes |
channelName |
String | Channel name of the marketplace | Yes |
shipments |
Array | List of shipments to pack | Yes |
shipments.efsShipmentCode |
String | EFS shipment code identifier | No |
shipments.packageSku |
String | SKU code of the package material | No |
shipments.dimensions |
Object | Dimensions of the shipment | No |
shipments.dimensions.length |
String | Length of the shipment package | Yes (if dimensions provided) |
shipments.dimensions.breadth |
String | Breadth of the shipment package | Yes (if dimensions provided) |
shipments.dimensions.height |
String | Height of the shipment package | Yes (if dimensions provided) |
shipments.dimensions.weight |
String | Weight of the shipment package | Yes (if dimensions provided) |
shipments.shipmentItems |
Array | List of items in the shipment | Yes |
shipments.shipmentItems.channelSkuCode |
String | Channel SKU code of the item | Yes |
shipments.shipmentItems.quantityToPack |
Integer | Quantity to pack (minimum 1) | Yes |
shipments.shipmentItems.batchShipmentItems |
Array | Batch-level details for perishable items | No |
shipments.shipmentItems.batchShipmentItems.supplierCode |
String | Supplier code for the batch | No |
shipments.shipmentItems.batchShipmentItems.batchCode |
String | External batch code | No |
shipments.shipmentItems.batchShipmentItems.expiryDate |
ZonedDateTime | Expiry date of the batch | No |
shipments.shipmentItems.batchShipmentItems.manufacturingDate |
ZonedDateTime | Manufacturing date of the batch | No |
shipments.shipmentItems.batchShipmentItems.quantity |
Integer | Quantity from this batch | No |
shipments.shipmentItems.externalSerialCodes |
Array[String] | List of external serial codes for serialized items | No |
shipments.packBoxes |
Array | List of pack boxes in the shipment | No |
shipments.packBoxes.externalBoxCode |
String | External box code identifier | No |
shipments.packBoxes.packageSku |
String | SKU code of the box package material | No |
shipments.packBoxes.dimensions |
Object | Dimensions of the pack box | No |
shipments.packBoxes.dimensions.length |
String | Length of the pack box | Yes (if dimensions provided) |
shipments.packBoxes.dimensions.breadth |
String | Breadth of the pack box | Yes (if dimensions provided) |
shipments.packBoxes.dimensions.height |
String | Height of the pack box | Yes (if dimensions provided) |
shipments.packBoxes.dimensions.weight |
String | Weight of the pack box | Yes (if dimensions provided) |
shipments.packBoxes.packBoxSku |
Array | List of SKUs in the pack box | Yes |
shipments.packBoxes.packBoxSku.channelSkuCode |
String | Channel SKU code of the item | Yes |
shipments.packBoxes.packBoxSku.quantity |
Integer | Quantity of the SKU in the box | Yes |
shipments.packBoxes.packBoxSku.batchId |
Integer | Internal batch ID | No |
shipments.packBoxes.packBoxSku.clientSkuId |
String | Scannable barcode on the product | No |
shipments.packBoxes.packBoxSku.externalBatchId |
String | External batch code | No |
shipments.packBoxes.packBoxSku.mfgDate |
ZonedDateTime | Manufacturing date of the batch | No |
shipments.packBoxes.packBoxSku.expiryDate |
ZonedDateTime | Expiry date of the batch | No |
{
"orderCode": "ORD-2024-001",
"locationCode": "LOC-001",
"channelName": "USP-Channel",
"shipments": [
{
"efsShipmentCode": "EFS-SHIP-001",
"shipmentId": 12345,
"channelShipmentCode": "CHANNEL-SHIP-001",
"invoiceCode": "INV-001",
"invoiceUrl": "<https://example.com/invoices/inv-001.pdf>",
"invoiceDate": "2024-01-15T10:30:00Z",
"invoice": "base64-encoded-invoice-content",
"invoiceDetails": [
{
"channelSkuCode": "CHANNEL-SKU-001",
"netTaxAmountPerUnit": 18.0,
"netTaxAmountTotal": 90.0,
"baseSellingPricePerUnit": 100.0,
"baseSellingPriceTotal": 500.0,
"actualSellingPricePerUnit": 90.0,
"actualSellingPriceTotal": 450.0,
"quantity": 5,
"taxItems": [
{
"type": "GST",
"rate": 18.0,
"taxPerUnit": 16.2,
"taxTotal": 81.0
}
]
}
],
"shippingLabel": {
"shippingLabelUrl": "<https://example.com/labels/shipping-label-001.pdf>",
"awbNumber": "AWB123456789",
"shippingLabel": "base64-encoded-label-content",
"transporter": "BlueDart"
}
}
]
}
HttpStatus: 200