Shipment usage

Some best practices can help you make the most of you tracking with the smallest shipment number possible.

Understand Shipment Billing

A shipment is a unique shipmentNumber tracked over the course of one month.

  • if you track the same shipment with Webhooks and Container Tracking, you are billed for one shipment
  • if you track the same shipment but you specify different shipmentType or sealines, you are billed for one shipment
  • if you track one Bill of Lading number and the 5 containers bellonging to it, you will be billed for 6 shipments
  • if you track 1 container on May 29th and the same on June 1rst, you will be billed twice

Because our Webhook monitoring system automatically tracks your shipments as soon as you add them to your endpoint and continues until you remove them. We recommend that you regularly check the monitored shipment list to avoid overcharging. Below are listed a few good practices to help you.

Removing Old shipments

You should monitor shipments as long as you need updates for them. Depending on your use case, this could be:

  • After arrival at Port of Discharge
  • After Gate Out
  • When you are certain that no further movement will occur...

We automatically remove shipments that have been in the "delivered" state for more than 2 days (except when there is no POD detected). If you wish to remove them sooner, you can use the DELETE /easy-shipment API endpoint.

Removing Useless Shipments

When you add a shipment to an endpoint, we begin monitoring it. Upon receiving the first tracking information, we send the "shipment.added.to.endpoint" webhook event.
In some cases, we may never receive information for a shipment due to reasons such as the inability to autodetect the sealine (in which case you should retry and specify the sealine), incorrect numbers, or unsupported sealines. If these shipments remain in your endpoint list, we will continue attempting to monitor them, resulting in charges.

We send a "shipment.in.error" webhook event when we haven't been able to retrieve information from a shipment after trying for 24h.

📘

Monitor the "shipment.in.error" event.

When you receive such an event, look for the error message and decide whether you wish to:

  • keep monitoring it via webhook (not recommended, there is a strong risk that this shipment can never be found nor auto-removed)
  • delete the shipment
  • delete the shipment AND recreate it with added or corrected data (correcting the shipment number, adding the sealine...)

Shipment validity check

Shipment numbers can be reused periodically. When they are reused, the tracking information you receive may correspond to a new voyage instead of the initial one, potentially resulting in misleading or useless data.

📘

Specifying the sealine will ensure that the data you get comes from the correct data source.

To ensure the data is accurate, verify the details when you receive the shipment.added event. Possible checks include confirming the correct sealine, ensuring the first event date matches your internal records, and verifying the expected port of delivery.

Monthly clean up

Another way to ensure you are charged only for valuable data is to perform a monthly check. Since we charge shipments by the calendar month, you can conduct a security check at the end of each month:

  • Retrieve all shipments from all your endpoints using GET /easy-shipments.
  • Send a container tracking request for each shipment (this incurs no extra charge). If an error occurs, remove the shipment.
  • Verify that the received shipment data is still accurate (e.g., compare the first event date or Proof of Delivery (POD) location), and remove it if not.