Manifesting is a crucial step in the shipping process that finalises a consignment in MachShip and transmits the consignment data to the transport provider. This guide explains how to manifest consignments programmatically using the MachShip API.
Manifesting in MachShip is a two-step process:
This two-step approach allows you to:
You have two options for grouping consignments:
Use this when you want to manifest specific consignments:
POST /apiv2/manifests/groupConsignmentsForManifest
Request body:
[
123456,
569836
]
This endpoint accepts an array of consignment IDs and groups them by:
Use this when you want to manifest all unmanifested consignments for a specific company:
POST /apiv2/manifests/groupAllUnmanifestedConsignmentsForManifest
Request body:
"123456" // Company ID
Need help finding your company ID? See our guide on Finding Company IDs.
Both grouping endpoints return the same response format:
{
"object": [
{
"consignmentIds": [
123456,
569836
],
"companyId": 0,
"pickupDateTime": "2021-02-05T07:15:19.337",
"palletSpaces": 0,
"pickupClosingTime": "2021-02-05T07:15:19.337",
"pickupSpecialInstructions": "string",
"pickupAlreadyBooked": true,
"carrierName": "string"
}
],
"errors": [
{
"validationType": 0,
"memberNames": [
"string"
],
"errorMessage": "string"
}
]
}
The response includes:
After grouping consignments, you can create manifests using:
POST /apiv2/manifests/manifest
[
{
"consignmentIds": [
123456,
569836
],
"companyId": 1,
"pickupDateTime": "2021-02-09T01:00:00.000Z",
"palletSpaces": 3,
"pickupClosingTime": "2021-02-09T04:00:00.000Z",
"pickupSpecialInstructions": "Driver Must Be Inducted to be on Site",
"pickupAlreadyBooked": false,
"carrierName": "string"
}
]
Key fields to configure:
{
"object": [
{
"id": 123456789,
"consignmentIds": [
123456,
569836
],
"companyId": 1,
"carrierReference": null,
"bookingSuccessful": true,
"errorMessage": null
}
],
"errors": null
}
The response includes:
Group specific consignments:
POST /apiv2/manifests/groupConsignmentsForManifest
[123456, 569836]
Review the grouping response and adjust pickup options as needed
Create manifest with adjusted options:
POST /apiv2/manifests/manifest
[
{
"consignmentIds": [123456, 569836],
"companyId": 1,
"pickupDateTime": "2021-02-09T01:00:00.000Z",
"palletSpaces": 3,
"pickupClosingTime": "2021-02-09T04:00:00.000Z",
"pickupSpecialInstructions": "Driver Must Be Inducted to be on Site",
"pickupAlreadyBooked": false,
"carrierName": "string"
}
]