commercehook
v0.3.0
Published
Inspect, tail and replay webhook deliveries from your terminal.
Maintainers
Readme
commercehook
Inspect, tail and replay webhook deliveries from your terminal.
CommerceHook is a webhook inspector for ecommerce platforms: point BigCommerce (Shopify soon) at an endpoint, watch deliveries arrive, inspect every header and payload, and replay them at your handler while you fix it.
npx commercehook --helpSign in
npx commercehook loginYour browser opens on the same consent screen any connected app gets;
approve it and the terminal is signed in. The CLI then appears under
Connected apps in your dashboard settings, where it can be disconnected
like anything else. commercehook logout does the same from this end,
revoking the grant rather than just forgetting it.
No browser on the machine? commercehook login --with-api-key stores an
API key instead, or set CH_API_KEY in the environment and store
nothing, which is what CI wants.
Commands
| Command | What it does |
| --- | --- |
| login | Sign in through your browser (or --with-api-key) |
| logout | Sign out and revoke this CLI in Connected apps |
| whoami | Which account this terminal acts as |
| endpoints | List endpoints; create, rename, delete |
| events <endpoint> | List deliveries; --search, --tail for live |
| event <id> | Inspect one delivery, signature verdict included; --raw for the exact body |
| listen <endpoint> --forward-to <url> | Stream deliveries into a local handler |
| replay <id> --to <url> | Re-send a delivery to your handler |
| version | CLI version and the API version it talks to |
| upgrade | How to update this install, whichever way it arrived |
Endpoints are referenced by id or by any unambiguous name prefix:
commercehook events prod works until you also have prod-eu, at
which point the CLI lists both and asks rather than guessing.
The one to try first:
npx commercehook listen my-endpoint --forward-to http://localhost:3000/webhooksRegister the CommerceHook URL with your platform once, then every delivery streams into the handler on your laptop (original method, headers and body) while also being captured for inspection. The ngrok part of the webhook loop, without the tunnel.
--tail does the same without forwarding: one line per delivery as it
arrives. With --json each line is the delivery as JSON, ready for jq.
Flags every command takes
| Flag | What it does |
| --- | --- |
| --json | Machine-readable output, one JSON document per line |
| --api-url <url> | Talk to a different CommerceHook instance |
| --help, -h | Help for the command |
| --version, -v | CLI and API versions |
CH_API_KEY and CH_API_URL environment variables override the stored
config, which is what CI wants.
Update checks
Once a day, after a command finishes, the CLI checks npm for a newer
release and mentions it on stderr. It never runs in CI, never delays a
command, and never touches stdout. Set CH_NO_UPDATE_NOTIFIER=1 to
turn it off entirely.
