Manifest Complete
Notify WMS when a manifest has been completed in the WCS.
Direction WCS → WMS
HTTP Method POST
Path /manifest/manifestComplete
Request Body
Section titled “Request Body”Field notes:
| Field Name | Data Type | Description | Notes |
|---|---|---|---|
| manifestId | String | A unique identifier that can be used to link the imported manifest to the relevant data in the connected WMS, frequently populated with a UUID | Must not be null and contain at least 1 non-whitespace character |
| operator | String | The operative at the port | Can be null |
| port | String | The port station identifier | Port numbers are numeric, so “1”, “2”, “3” etc |
| status | String | The status of the manifest on completion | SUCCESS / FAILURE / CANCELLED. SUCCESS if for all lines line.quantity() <= line.placedQuantity(). FAILED if at least one line has line.quantity() > line.placedQuantity(). CANCELLED when the manifest is cancelled from the administrative UI or due to refill rejection reasons |
| scanCode | String | The identifier that will be used by workflow to identify the manifest prior to putaway, example a TSU id | |
| refill | boolean | Indicates whether the Manifest is a refill manifest | If enabled, products are refilled into bins that already contain matching stock; otherwise, they are placed into empty bins. |
| refillRejectionReason | String | Indicates the refill rejection reason for a refill manifest | Can be null. For a refill manifest, reasons can be: No Matching Stock in AS, Insufficient space of %s units across all available subbins |
| lines | Object Array | A line represents a product within the manifest, this list contains all of the expected products and quantities | |
| lines.productId | String | The product ID that was requested for ingestion | |
| lines.externalReference | String | A unique identifier that can be used to link the individual line within this manifest to the relevant data in the connected WMS, frequently populated with a UUID | |
| lines.batchId | String | The batch identifier for a specific batch-managed product that was placed into the sub-bin | Can be null |
| lines.expiry | String | The expiry date for a specific date-managed product that was placed into the sub-bin | Can be null |
| lines.stockOwner | String | The stock owner identifier for a specific owner-managed product that is placed into the sub-bin | |
| lines.quantity | Double | The expected product quantity that was supposed to be placed into the sub-bin | |
| lines.placedQuantity | Double | The actual product quantity that was placed into the sub-bin | |
| lineComplete | boolean | Indicates whether the required quantity for the product line is complete. | |
| cancelled | boolean | Indicates whether the product line was cancelled. | The product line can be cancelled due to a refill rejection reason or when the entire manifest is cancelled |
Example Request Body
{ "manifestId": "MAN-123", "refillRejectReason": "REFILL_MANIFEST_LIMIT_EXCEEDED", "scanCode": "SCAN-123", "refill": false, "operator": "User1", "port": "1", "status": "Success", "lines": [ { "externalReference": "f7f70baf-1d08-4752-bf8b-f317dd421689", "productId": "PROD12345", "batchId": "BATCH-2024-11", "expiry": "2025-06-01", "stockOwner": "OWNER12345", "quantity": 2.0, "placedQuantity": 2.0, "lineComplete": true, "cancelled": false } ]}Expected Responses
Section titled “Expected Responses”200: Manifest complete accepted
{ "message": "Success"}400: Manifest complete rejected
{ "message": "Bad Request"}401: Authentication failed
{ "message": "Unauthorized"}