shiphero-webhooks

Installation
SKILL.md

ShipHero Webhooks

When to Use This Skill

  • How do I receive ShipHero webhooks?
  • How do I verify ShipHero webhook signatures?
  • How do I handle Order Allocated, Shipment Update, or Inventory Update events?
  • Why is my ShipHero webhook signature verification failing?
  • How do I register a ShipHero webhook with the webhook_create mutation?

Verification (core)

ShipHero signs each webhook with HMAC-SHA256 over the raw JSON request body, base64-encoded, sent in the x-shiphero-hmac-sha256 header. The key is the app's shared_signature_secret, returned once by the webhook_create mutation. Verify by recomputing base64(HMAC-SHA256(rawBody, secret)) and comparing timing-safe against the header. Pass the raw body — parsing JSON first will break the signature. This is a plain HMAC of the raw body (NOT payload-concatenated-with-account-id, NOT Standard Webhooks).

There is no topic header — dispatch on the webhook_type field inside the (verified) payload. X-Shiphero-Message-ID is a unique per-delivery id for deduplication.

Node:

Installs
10
GitHub Stars
81
First Seen
Jul 25, 2026
shiphero-webhooks — hookdeck/webhook-skills