json http rest api v1

What is a Shipment?

A shipment represents Packaly's commitment to deliver your package from the pick-up to drop-off regardless if this is a local delivery (last-mile) or we have to handle a more complex route that spans between multiple cities or even multiple countries.

For example, a shipment can have pickup from a warehouse in Warsaw, PL, and a drop-off in Utrecht, NL and that's perfectly fine.


What is a Manifest?

A manifest represents a call to action from the Company (you) to Packaly (us) to handle a delivery. It contains minimum amount of data we need to be able to accept and handle the delivery.


How manifests and shipments work together

  1. Client creates a manifest, by this letting us know that we have a new delivery to handle.
  2. Based on the manifest's drop-off and package size we decide upon a delivery strategy and create a Shipment. This is the first time a webhook update is sent back to the client. We will inform you about the successfully created shipment or rejection reasons.
  3. When the shipment is considered ready for the delivery to start, we will send a courier to pick it up.
  4. As soon as shipment changes its delivery status, we send delivery updates via webhooks to keep you informed.

How delivery process looks like from the tech side


Authentication and Authorisation for the Shipment API

To use this API, an API key will be needed. If you do not have one yet, please contact our sales team. We will make sure to offer you a great deal along with the API key for the shipments API.

Please make sure not to forget to send it with every request as a header named: API-Key and value: the key


Request/Response tracing

All API endpoints support request/response tracing with uuid v4 ids. If request is send with one of the headers ["X-Request-Id", "Request-Id", "X-Correlation-Id", "Correlation-Id"] and a valid uuid v4 as a value - the response will contain a header named: Correlation-Id and value equal to one received in request. I none of the above request headers are not set - the response will contain Correlation-Id set to a new uuid v4.