Receive Shipment Created Webhook
POST/api/webhooks/bc-webhook/:integration_instance/shipment-created
Receives BigCommerce's store/shipment/created webhook, which BigCommerce sends when a shipment is created for an order. This endpoint is called by BigCommerce, not by API clients: SKU.io registers it automatically (see Enable BigCommerce Webhook / Create All BigCommerce Webhooks), using the callback URL shown in List BigCommerce Webhook Configurations.
Authentication: none (no Bearer token). Each delivery must carry the X-Webhook-Secret header with the per-instance shared secret SKU.io gave BigCommerce at registration; a missing or wrong secret, or an unknown integration instance, returns 401. An empty body returns 400.
The route accepts any HTTP method; BigCommerce delivers with POST. The body is BigCommerce's lightweight event envelope (scope, store_id, data with the resource type and id, hash, created_at as a Unix timestamp, producer); SKU.io then fetches the full record from the BigCommerce API itself. Processing records the shipment against the synced order.
The event is recorded and processed in the background, so the endpoint replies 200 {"status":"success"} straight away. Received events, including any that fail processing, appear in List BigCommerce Webhook Events.
Request
Responses
- 200
- 400
- 401
- 404
- 422
- 429
OK
Response Headers
Bad Request
Response Headers
Unauthorized
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.