If you're using ShipStation's API to communicate order information, or if you're using a third-party system that wants to pull data from ShipStation, it may be beneficial for you to set up webhooks. After you set up webhooks, ShipStation can push alerts when certain events occur in your account. These alerts will help guide the system to an endpoint you can use to gather data from the ShipStation account.
For information about using V2 Webhooks, please see the V2 Developer Portal guide on Webhooks.
Webhooks allow ShipStation to automatically send data to an external application when specific events occur in your account. When a webhook is triggered, ShipStation sends a payload to the target URL you specify, allowing external systems to receive updates about orders, shipments, fulfillment activity, and tracking events.
Learn about the webhook types available in ShipStation and the events that trigger them.
Use the information below to determine which webhook best fits your integration needs.
|
Webhook |
Event ID |
Trigger |
|---|---|---|
|
On New Orders |
ORDER_NOTIFY |
New order created |
|
On New Items |
ITEM_ORDER_NOTIFY |
New order created |
|
Webhook |
Event ID |
Trigger |
|---|---|---|
|
On Orders Shipped |
SHIP_NOTIFY |
New order created |
|
On Items Shipped |
ITEM_SHIP_NOTIFY |
New order created |
|
Webhook |
Event ID |
Trigger |
|---|---|---|
|
On Items Shipped by Fulfillment Provider |
FULFILLMENT_SHIPPED |
Fulfillment provider ships order |
|
On Items Rejected by Fulfillment Provider |
FULFILLMENT_REJECTED |
Fulfillment provider rejects order |
|
Webhook |
Event ID |
Trigger |
|---|---|---|
|
(V2) On Batch Processed |
BATCH_PROCESSED_V2 |
Shipping batch completes processing |
|
(V2) On New Track Event |
TRACK_EVENT_V2 |
Tracking update received |
|
(V2) On New Order Created |
SHIPMENT_CREATED_V2 |
Order imported into ShipStation |
|
(V2) On New Label Created |
LABEL_CREATED_V2 |
Shipping or return label created |
|
(V2) On Fulfillment Shipped |
FULFILLMENT_SHIPPED_V2 |
Order marked as shipped or fulfilled |
|
(V2) On Fulfillment Rejected |
FULFILLMENT_REJECTED_V2 |
Fulfillment provider rejects order |
Review the webhook descriptions below to understand when each webhook is triggered and any behaviors or limitations that may apply.
On New Orders (ORDER_NOTIFY)
Triggers when a new order is created in ShipStation in any status other than Awaiting Payment, or when an order in Awaiting Payment is updated to any status other than Canceled.
Additional details:
-
A webhook payload is created for each import action that creates at least one new paid order.
-
Orders created at the same time are included in a single webhook payload.
On New Items (ITEM_ORDER_NOTIFY)
Triggers under the same conditions as the On New Orders webhook, but returns item-level data.
On Orders Shipped (SHIP_NOTIFY)
Triggers when a new outbound shipping label is created for an order.
Additional details:
-
Return shipments do not trigger this webhook.
-
Fulfillments created through a fulfillment provider do not trigger this webhook.
-
Orders marked as shipped using Mark as Shipped do not trigger this webhook.
-
Individual shipments create individual webhook events.
-
Batch shipments create a single webhook event.
On Items Shipped (ITEM_SHIP_NOTIFY)
Triggers when a new outbound shipping label is created for an order and returns item-level shipment data.
The same limitations and behaviors that apply to On Orders Shipped also apply to this webhook.
On Items Shipped by Fulfillment Provider (FULFILLMENT_SHIPPED)
Triggers when a delegated order moves from Pending Fulfillment to Shipped status.
Additional details:
-
Also triggers when using the Mark as Shipped action.
On Items Rejected by Fulfillment Provider (FULFILLMENT_REJECTED)
Triggers when a fulfillment provider rejects an order that has been delegated for fulfillment.
(V2) On Batch Processed (BATCH_PROCESSED_V2)
Triggers when a shipping batch finishes processing.
Common use cases:
-
Updating internal dashboards
-
Tracking shipping throughput
-
Triggering downstream fulfillment workflows
(V2) On New Track Event (TRACK_EVENT_V2)
Triggers when a new order is successfully imported into ShipStation.
Common use cases:
-
Reserving inventory in external systems
-
Initiating fulfillment workflows
-
Synchronizing order data with warehouse management systems (WMS)
(V2) On New Label Created (LABEL_CREATED_V2)
Triggers when a shipping or return label is created in ShipStation.
Common use cases:
-
Recording shipping costs in accounting systems
-
Tracking label creation activity
-
Retrieving label documents for external workflows
(V2) On Fulfillment Shipped (FULFILLMENT_SHIPPED_V2)
Triggers when an order is marked as shipped or fulfilled by a fulfillment provider.
Common use cases:
-
Triggering post-purchase communications
-
Synchronizing fulfillment data across systems
-
Tracking fulfillment activity performed outside of ShipStation
(V2) On Fulfillment Rejected (FULFILLMENT_REJECTED_V2)
Triggers when a fulfillment provider rejects an order.
Common use cases:
-
Alerting customer service teams
-
Initiating exception-handling workflows
-
Updating inventory and fulfillment systems
-
Notifying downstream systems that manual intervention may be required
You can create new webhooks in your ShipStation account in two different ways:
-
API calls
-
ShipStation account settings
This section explains how to create webhooks through the ShipStation Settings page. For information on using API calls, see our in-depth API documentation for more details on how to list webhook, subscribe to a webhook, and unsubscribe from webhooks.
To create a webhook within ShipStation:
-
Select webhooks from the set of options.
Webhook Option Greyed Out
If you do not already have any webhooks created, the option will be grey.
-
Click Add a Webhook.
-
Set the Name (100-character maximum), Type, whether the webhook applies to all stores or a specific store, and the target URL (200-character maximum).
-
Click Save to create the webhook after you have entered the details.
You can remove existing webhooks in your ShipStation account in two ways:
-
API calls
-
ShipStation account settings
This section explains how to remove webhooks through the ShipStation Settings page. For information on using API calls, see our in-depth API documentation for more details on removing webhooks.
To remove a webhook within ShipStation:
Regardless of how the webhook was created, you can only modify an existing webhook through your ShipStation account settings.
To modify an existing webhook:
When a webhook is triggered, ShipStation makes a POST call to the target URL.
This call includes a payload related to the action and newly created data:
-
resource_url: The endpoint that will need to be contacted to gather data related to the action that triggered the webhook. The resource_url contains several URL parameters:
-
storeId: ShipStation's internal identifier for the store.
storeIdwill not be included if the webhook affects all stores. -
importBatch or batchId: ShipStation's internal identifiers for the import action (for
ORDERwebhooks) or label creation action (forSHIPwebhooks). -
includeOrderItems or includeShipmentItems: Controls whether items are included in the response when contacting the resource_url. If using an
ITEMwebhook, this will be set to True.
-
-
resource_type: The type of webhook that triggered the payload.
To use the webhook payload, you must make a GET call to the ShipStation REST API that uses the resource_url as the endpoint. When performing this call, you must include an authentication header, just like other API calls made to ShipStation. See our in-depth API documentation for more details on API authentication.
When contacting the resource_url, the response will follow the same structure as the List Orders call (for ORDER webhooks) or List Shipments call (for SHIP webhooks.)
Here are some examples of webhook payloads:
|
On New Orders (ORDER_NOTIFY) {"resource_url":"https://ssapi.shipstation.com/orders?storeID=123456&importBatch=1ab23c4d-12ab-1abc-a1bc-a12b12cdabcd","resource_type":"ORDER_NOTIFY"}
|
|
On New Items (ITEM_ORDER_NOTIFY) {"resource_url":"https://ssapi.shipstation.com/orders?storeID=123456&importBatch=1ab23c4d-12ab-1abc-a1bc-a12b12cdabcd&includeOrderItems=True","resource_type":"ITEM_ORDER_NOTIFY"}
|
|
On Orders Shipped (SHIP_NOTIFY) {"resource_url":"https://ssapi.shipstation.com/shipments?storeID=123456&batchId=12345678","resource_type":"SHIP_NOTIFY"}
|
|
On Items Shipped (ITEM_SHIP_NOTIFY) {"resource_url":"https://ssapi.shipstation.com/shipments?storeID=123456&batchId=12345678&includeShipmentItems=True","resource_type":"ITEM_SHIP_NOTIFY"}
|