Subscriptions
Version 2.1 adds the Subscription endpoint which is part of the Webhooks feature. The feature helps create a more dynamic, coordinated messaging between Pacejet and ERP, WMS and Ecommerce systems. External systems can subscribe to Pacejet events via Webhooks and are then notified as events occur rather than spending time requesting the event when needed.
What Is a Webhook?
A Webhook is a way for an application (like Pacejet) to provide other applications (like an ERP) with real-time information — meaning you get data immediately. With typical APIs, your ERP will POLL other applications for data on a very frequent basis — even when the application has no information to share. This requires more resources and processing time. Webhooks, however, are more efficient for both the ERP and for Pacejet.
Advantages:
No polling is required from the ERP, so resources are tapped only when they are needed
Faster response times
Better user experience
Who Should Use Webhooks and Why?
Who should Use Webhooks |
Why |
Any Company That Wants Save Money |
It’s all about the transactions… Many ERPs charge by the number of digital transactions made between the ERP and other systems. For those companies whose ERP charges by transaction, anytime their ERP POLLS another system through its API, they are charged for the transaction. Other types of data exchanges are also considered transactions, too. And having the ability to eliminate polling could drastically reduce cost. Pacejet’s Webhooks eliminate polling and drive down cost because there are fewer transactions that happen between Pacejet and the ERP. |
Any Company That Wants To Reduce the Data Load On Their ERP |
Think of polling like that telemarketer that keeps calling your cell phone… You don’t want or need to hear from him, but he keeps calling just in case you want to talk with him. Polling works the same way in an ERP (and all other systems), it uses the API to reach out and communicate with other systems even if those other systems don’t want or need to hear from the ERP. Pacejet’s Webhooks take the “Don’t call me. I’ll call you,” approach, and they will communicate with the ERP only when needed — thus reducing the data that your ERP has to process. |
Any Company That Has Time Sensitive Shipping Requirements |
For customers who request tracking numbers… If your company has very tight shipping requirements, you won’t need to wait for your ERP to POLL your shipping platform to retrieve tracking numbers and other shipping information. Webhooks alert the ERP as soon as the information is available so you can inform customers of their shipment status. |
Types of Webhooks
Webhook |
What it does |
quoteconfirms.update |
After a quote occurs, it will send info on that quote. |
shipmentconfirms.update |
After a shipment occurs, it will send info on that shipment to whatever the URL it is set too. |
voidconfirms.update |
After a void occurs, it will post a void after a void has been done on a shipment. |
loadstatus.update |
After a transaction occurs with a given load, it will trigger this Webhook and return a status. |
shipmentstatus.update |
After a shipment status occurs, this Webhook will send a shipment status when the shipment is delivered. |
Which API Verbs Do We Support?
Pacejet supports the following verbs:
Verb |
Function |
GET |
A GET retrieves information from the ERP but does not modify any of its resources. |
POST |
A POST sends data to the ERP to create or update its resources. |
PUT |
The PUT method completely replaces whatever currently exists at the target URL with something else. With this method, you can create a new resource or overwrite an existing one if you know the exact Request-URI. |
DELETE |
The DELETE method completely deletes a given set of data on an ERP. |
More information on each of the commands is provided below.
Get
The GET verb has three different options to retrieve Webhooks: SubscriptionID from the APIEventSubscription table, the event name, or with the event name and the operation being performed on it.

Post
A POST requests that the resource at the URI does something with the provided entity. Often POST is used to create a new entity, but it can also be used to update an entity.
What is an entity? An entity is any singular, identifiable and separate data object. It can refer to individuals, organizations, systems, or even distinct system components that are considered significant in and of themselves.
Put
The PUT is similar to POST, except the SubscriptionID from the APIEventSubscription table is needed.
Delete
Delete also needs the SubscriptionID.
There is also an option to enable authentication between Pacejet and external systems using the following fields: CallbackAuthenticationType, CallBackUsername, and CallBackPassword.
Data When Pacejet Calls a Customer Endpoint
Below is an example of what data appears when Pacejet calls a customer endpoint.
{“EventType”:”shipmentconfirms.update”,”ExternalTransactionID”:””,”LicenseID”:”a4c947bc-2efd—650b-bcb1-b86d54e1778d”,”Location”:”QAtestRom”,”TransactionID”:”D002389”}How To Make a Webhook Subscription Through the API
Pacejet provides a way to subscribe to a Webhook with line code instead of using the GUI. Below are the directions.
Select Tools at the top of the screen. Then select API, Samples.
Select Version 2.1 or higher from the Version dropdown menu at the top left of your screen.
Click Subscription from the column at the left of your screen.
The API Samples appear on your screen.
Select the desired verb from the top of the screen: GET, POST, PUT, or DELETE.
Enter the desired Subscription code at the lower left of your screen. Below is an example of a Webhook subscription.
Click Run It.
{
"LicenseID": "a51660b1-7b85-3acb-e47f-507510fef11e",
"Event": "shipmentconfirms.update",
"CallbackURL": "https://call.me/incoming/data",
"CallbackMethod": "POST",
"CallbackContentType": "application/json",
"CallbackAuthenticationType": "Basic",
"CallbackUsername": "myusername",
"CallbackPassword": "mypassword"
}Manually Setting Up Webhooks in Pacejet
From the Tools menu, click API.
Select Webhooks.
Then select Subscriptions.
Click Add.
Select the desired Event and Method.
Enter the desired URL and click Done.
Field |
Definition |
Event |
The list of events your Webhook can subscribe to. |
Method |
The method in which Pacejet will interact with the ERP.
|
Content Type |
The content type (JSON or XML) is the type of content used for the Webhook (usually JSON). |
URL |
This is the base URL (universal resource locator) for the ERP. |
Authentication |
There are two types of authentication: Basic and Token.
|
You return to the Webhook Event Subscriptions page.
Making Subscriptions Inactive:
Pacejet enables you to make subscriptions inactive so you don’t have to delete the subscription entirely. See the example below.
1. Select the desired event
2. Select Inactive from the Status Dropdown menu.
3. Click Done.