ShipStation Webhook Configuration
This page explains how to configure ShipStation to send webhook events to the Middleware Platform.
Webhook Endpoints
| Event | Middleware Endpoint |
|---|---|
ORDER_NOTIFY | POST /api/webhooks/shipstation/order-notify |
SHIP_NOTIFY | POST /api/webhooks/shipstation/ship-notify |
Setting Up Webhooks in ShipStation
- Log in to ShipStation.
- Navigate to Account Settings → Webhooks (or via the API).
- Create two webhooks:
ORDER_NOTIFY Webhook
| Field | Value |
|---|---|
| Name | CertiLock — Order Notify |
| Event | ORDER_NOTIFY |
| Target URL | https://dash.scottsdalemint.com/api/webhooks/shipstation/order-notify |
SHIP_NOTIFY Webhook
| Field | Value |
|---|---|
| Name | CertiLock — Ship Notify |
| Event | SHIP_NOTIFY |
| Target URL | https://dash.scottsdalemint.com/api/webhooks/shipstation/ship-notify |
Payload Structure
ShipStation sends a minimal notification payload:
{
"resource_url": "https://ssapi.shipstation.com/orders?...",
"resource_type": "ORDERS"
}
The resource_url is used by ShipStationService::fetchFromUrl() to retrieve the full order/shipment data from ShipStation's REST API.
Local Testing
To test webhooks locally, expose your local server with ngrok and temporarily point the ShipStation webhook target URL at your ngrok tunnel:
ngrok http --host-header=rewrite certilock-storage.test:443
Use the ngrok URL as the target in ShipStation during development. Remember to revert to the production URL when done.