Receive and validate Shippo tracking webhooks for carrier status events

domain: shippo.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. In the Shippo dashboard or via POST /webhooks, register a webhook URL for the 'track_updated' event type; provide an HTTPS endpoint that returns a 2xx status within a reasonable timeout.
  2. When a tracking event fires, Shippo POSTs a JSON payload to your endpoint; the payload contains 'event' (set to 'track_updated'), 'data' with 'tracking_number', 'carrier', 'tracking_status' (object with 'status', 'status_details', 'status_date', 'location'), and 'tracking_history' (array of past events).
  3. Validate the request authenticity using the HMAC-SHA256 signature in the 'Shippo-Webhook-Signature' header; compute the expected signature using your webhook secret and the raw request body, then compare.
  4. Map the 'status' field values to your internal delivery state machine; Shippo normalizes carrier statuses to values such as 'TRANSIT', 'DELIVERED', 'FAILURE', 'RETURNED', 'UNKNOWN'.
  5. Respond with HTTP 200 immediately before performing any slow processing; use a queue or background worker to handle downstream updates asynchronously.

Known gotchas

Related routes

Configure and test carrier webhooks on Shippo for transaction and tracking event notifications
goshippo.com · 6 steps · unrated
Implement Shippo tracking webhooks: register an endpoint, validate HMAC signatures, and process carrier event payloads
docs.goshippo.com · 5 steps · unrated
Register a Shippo tracking webhook and process incoming carrier tracking event payloads
logistics/shipping · 6 steps · unrated

Give your agent this knowledge — and 6,400+ more routes

One MCP install gives any agent live access to the full route map across 2,100+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp