Python SDK
philiprehberger-webhook-relay-client
Generated client + hand-written signature verifier. View source on GitHub.
Install
shell
pip install philiprehberger-webhook-relay-clientSend an event
python
from philiprehberger_webhook_relay_client import WebhookRelayClient
relay = WebhookRelayClient(api_key=os.environ["WEBHOOK_RELAY_KEY"])
event = relay.ingest(
event_type="order.created",
payload={"order_id": 42},
idempotency_key="order-42-created",
)
print(event["id"], event["deliveries_summary"])Verify on the receiver
python
from philiprehberger_webhook_relay_client import verify_signature
def webhook_handler(request):
raw = request.body # bytes — DO NOT json.loads + re-dumps
if not verify_signature(
secret=os.environ["WEBHOOK_SECRET"],
body=raw,
header=request.headers.get("X-Webhook-Signature"),
):
return Response("Bad signature", status=400)
event = json.loads(raw)
# ... handle event