Skip to main content

ShipStation Webhook Configuration

This page explains how to configure ShipStation to send webhook events to the Middleware Platform.


Webhook Endpoints

EventMiddleware Endpoint
ORDER_NOTIFYPOST /api/webhooks/shipstation/order-notify
SHIP_NOTIFYPOST /api/webhooks/shipstation/ship-notify

Setting Up Webhooks in ShipStation

  1. Log in to ShipStation.
  2. Navigate to Account Settings → Webhooks (or via the API).
  3. Create two webhooks:

ORDER_NOTIFY Webhook

FieldValue
NameCertiLock — Order Notify
EventORDER_NOTIFY
Target URLhttps://dash.scottsdalemint.com/api/webhooks/shipstation/order-notify

SHIP_NOTIFY Webhook

FieldValue
NameCertiLock — Ship Notify
EventSHIP_NOTIFY
Target URLhttps://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.