TypeScript SDK
@philiprehberger/webhook-relay-client
Generated client + hand-written signature verifier. View source on GitHub.
Install
shell
npm i @philiprehberger/webhook-relay-clientSend an event
typescript
import { WebhookRelayClient } from "@philiprehberger/webhook-relay-client";
const relay = new WebhookRelayClient({
apiKey: process.env.WEBHOOK_RELAY_KEY!, // whk_live_... / whk_test_... / whk_sandbox_...
});
const event = await relay.ingest({
type: "order.created",
payload: { orderId: 42 },
idempotencyKey: "order-42-created",
});
console.log(event.id, event.deliveries_summary);Verify on the receiver
typescript
import { verifySignature } from "@philiprehberger/webhook-relay-client";
const body = await request.text(); // raw bytes — DO NOT JSON.parse first
const ok = verifySignature(
process.env.WEBHOOK_SECRET!,
body,
request.headers.get("x-webhook-signature"),
);
if (!ok) return new Response("Bad signature", { status: 400 });