Webhooks
You can use a webhook to provide real time updates on order status for your customers. Shippit sends a POST request to a specified URL whenever there’s a change in an order’s status. This eliminates the need for constant polling and ensures you’re always up-to-date.
To set up your webhook, you need to configure a webhook URL in your Shippit account settings. The webhook payload contains detailed information about the order and the specific event that triggered the webhook.
There are two types of webhook available, one which maps status information from the carrier to the standard Shippit statuses, and returns them in JSON format, or one which returns the raw data without mapping:
- Use the mapped data webhook for offering your customers a method to track most orders.
- Use the raw data webhook for internal business alerts, or on demand orders. Currently, the raw data is only available from Uber.
Only the mapped data webhook has endpoints available for you to query directly.
For more information about declaring the URL to use for your webhook, and other webhook settings, see the Configuring a webhook article on the Shippit help centre.
Mapped data webhook
The mapped data webhook provides standardised information related to the tracking information across all carriers. The primary use case for this webhook is to provide recipient tracking notifications.
Your webhook implementation should be configured to action only the types of events required by your integration.
Webhook endpoints might occasionally receive the same event more than once. You can guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events.
For more information about the mapped data webhook endpoints, see the API Guide. For more information about configuring the webhook in your Shippit account, see the Configuring a webhook article on the Shippit help centre.
Raw data webhook
The raw data webhook passes through all information from the carrier to the merchant in its original format, without standardising the data. Currently, this raw data is only available from Uber.
This is a company level setting, so all webhooks across all merchants return data to the endpoint they register.
When you enable the webhook and place an order, tracking updates flow to the configured URL, and you can use that data how you choose. For example, you can use the data internally to support your own operational workflows and processes. Or, you can provide additional content for on demand orders, such as driver tracking with GPS.
For on demand orders, a store or warehouse can have multiple drivers picking up many parcels over the course of the day, rather than a more traditional flow with standard carriers where one daily pick up happens with a truck. This allows merchants to receive alerts that on demand drivers are approaching a store to pick up a parcel.
Uber provide a dispatch ID which groups a number of orders together. You can use this information for hyperbatching, which allows you to batch orders together, and have them picked up all at once, for multiple delivery addresses. The raw data webhook can pass this data through to your internal systems for planning batches. Additionally, this eliminates the need for you to integrate with Uber directly.
For more information about configuring the webhook in your Shippit account, see the Configuring a webhook article on the Shippit help centre.
IP allow list
Configure your firewall so that it only allows requests from legitimate Shippit IP addresses. Shippit webhooks originate from one of these IP addresses:
- 13.210.185.17
- 54.153.239.182
- 54.66.78.172
- 13.237.179.89
- 13.239.82.79
- 54.66.178.150