Manifest shipments asychronously

An asynchronous (async) process enables the system to perform tasks in the background without requiring the user to wait for the completion of those tasks.

Manifesting shipments via asynchronous process

In the context of the shipment manifesting process, this means that when you submit a manifest request with a large volume of shipments, you will receive an immediate confirmation that their request has been received, while the actual processing of that manifest occurs in the background. You can continue using the system without interruption, improving overall efficiency.

This section provides detailed instructions and information regarding the asynchronous shipment manifesting process for customers using the shipment manifest API or by setting up the manifest webhook in SAPIENT.

🚧

Important

We recommend using the Manifest Shipments Async API endpoint to manifest your shipments. However, if you are manifesting more than 20k shipments, then you must only use this endpoint to ensures that requests are processed through the new asynchronous queue, enabling better system performance and improved tracking.


Key benefits

Enhanced Performance

By processing manifest requests in the background, the system avoids performance bottlenecks, especially when handling large volumes of shipments simultaneously.

Improved User Experience

Submit requests without waiting for long processing times and continue performing other tasks while shipments are being manifested.

Reliable Queueing System

Requests are managed through a queueing system to ensure they are processed sequentially without overwhelming the system.


Manifesting via API

To manifest the shipments in an asynchronous manner via the API, you can use the following endpoints introduced in our core Manifests API endpoint:

Manifesting via API

Use the following endpoints introduced in our core Manifests API to manifest shipments asynchronously:

Manifest Shipments Async

Submit manifest requests to be processed asynchronously. This endpoint accepts the same parameters as the existing Manifests endpoint, excluding the async parameter.

A successful async manifest response returns the following parameters:

  • ManifestRequestID: GUID to uniquely identify the manifest request.
  • ManifestStatus: Status of the request, defaults to PENDING.
  • ManifestCount: Number of manifests created, which will be 0 when initially set to PENDING.

Example request with service code parameter

{  
 "ShippingLocationId": "16f91589-cb07-430f-aed8-6c0c025bdc32",  
 "ShippingAccountId": "24a8da75-a148-415c-802e-e37a72acfa7f",  
 "ServiceCode": "CRL1"  
} 

Example response (🟢200 - Successful)

{  
 "ManifestRequestId": "3a0c17c5-0ca4-455c-ac65-a20d95e656bc",  
 "ManifestRequestStatus": "PENDING",  
 "ManifestCount": 0  
}

Get Manifest Request Status

Check the status of a submitted manifest request using the following parameters:

  • manifestDetail: An optional parameter that controls the response detail level:

    → If set to false or not populated: Returns basic information (manifestId, manifestStatus, manifestCount)

    → If set to true and status is COMPLETE: Returns full manifest information including manifest images

    → If set to true and status is FAILED: Returns error information in the response

Example request

{
"ManifestRequestId": "3a0c17c5-0ca4-455c-ac65-a20d95e656bc",
"ManifestDetail": "true"
}  

Example response (🟢200 - Successful)

{  
 "ManifestRequestId": "3a0c17c5-0ca4-455c-ac65-a20d95e656bc",  
 "ManifestRequestStatus": "IN PROGRESS",
 "ManifestCount": 0  
}