This article reviews the most common questions we receive about webhooks.
What are webhooks?
Webhooks are HTTP-based notifications that leverage special purpose web infrastructure to queue and send messages about events related to transaction processing and inventory summary data from your 3PL Warehouse Manager instance. Once configured, you and/or your developer resource can leverage these event messages to feed transactional and inventory data into external systems.
How do webhooks work differently than other types of event notifications?
3PL Warehouse Manager currently supports three types of notifications, and they each have their own data protocols: Email uses SMTP, file transfer uses FTP, and with webhooks we're extending our capabilities to leverage HTTP as a notifications channel.
The main advantage of webhooks is it's near real-time delivery of notifications, as opposed to FTP and email-based notifications, which tend to have some delay because of the way in which they're processed. With webhooks, you get much more prompt updates, which make them more appropriate for direct system-to-system communications.
How do you configure a webhook in 3PL Warehouse Manager?
Anyone with access to Customers > Event Notifications in 3PL Warehouse Manager can configure a webhook. For detailed guidelines, see Configuring Webhooks.
Can I use regular HTTP for my webhooks connections?
No, you must use a secure HTTPS connection in order to connect to our webhooks.
What will webhooks cost me?
Webhooks is priced as an "add-on" to our regular Platform API pricing, which is based on data usage. Data usage is sold in tiers of monthly usage, and adding webhooks simply increases the cost of each tier slightly to support the infrastructure costs associated with providing the webhooks service.
Contact your Customer Success Manager (CSM) for the pricing specifics for different tiers of data usage.
Because of this, we recommend the following best practices to minimize your data usage:
- Configure webhooks for specific purposes rather than setting up webhooks for every possible event
- Carefully consider which events might require the full transaction resource along with the event message itself, as including these details will significantly increase data usage.
- Acknowledge receipt of the event message before processing the message content to prevent unnecessary timeouts and message retries, which utilize additional bandwidth.
What is the recommended process for implementing webhooks?
As a best practice, you should create webhooks for specific purposes and anyone implementing webhooks endpoints should use the following general process:
- Receive the incoming message
- Verify message validity
- Acknowledge receipt
- Asynchronously process the message content as needed
It is important to acknowledge receipt of the message before processing the message content to prevent unnecessary timeouts.
What does my developer resource need to know to implement webhooks?
We have outlined our recommendations for implementing webhooks in our article for Implementing Webhooks. Please send this link to your developer as needed.