Bookitive
Developers

Webhooks

Get your systems pushed to when things happen — the subscribable events, the signed request format, the retry ladder and auto-disable, and the test event.

Not verified yet

Webhooks push events to your own systems the moment they happen — no polling. Configure endpoints under Settings → Webhooks.

Subscribable events

EventFires when
order.paidAn order is confirmed paid.
order.cancelledAn order is cancelled.
ticket.checked_inA ticket is admitted at the door.

Each endpoint subscribes to the events it cares about, so your CRM can listen only for order.paid while your access system listens for ticket.checked_in.

Configuring an endpoint

  • URL — your HTTPS receiver.
  • Events — which of the three to send.
  • Custom headers — encrypted headers (e.g. an auth token for your receiver).
  • Signing secret — shown once at creation; use it to verify signatures.

Verifying signatures

Every delivery carries a Bookitive-Signature header, Stripe-shaped — an HMAC of the payload with your endpoint's signing secret. Verify it on receipt to be sure the request really came from Bookitive and wasn't tampered with. Reject anything that doesn't match.

Reliability

Deliveries are emitted from the same transaction as the change that caused them — so an event can't be lost because the database committed but the webhook didn't fire. If your endpoint is down, Bookitive retries on a backoff ladder:

after the first attempt it waits 1 min → 10 min → 1 hour → 6 hours between the next four tries — up to 5 attempts in total.

After persistent failure an endpoint is auto-disabled and owners and admins are emailed, so a dead receiver doesn't retry forever in silence. A delivery log shows recent attempts and their results.

Testing

Send test delivers a test.ping event to your endpoint regardless of its subscriptions — verify your receiver and signature check end to end before relying on real events.

Design your receiver to be idempotent: a retry (or a rare duplicate) means your handler may see the same event more than once. Key on the event's id and ignore repeats — the golden rule of any webhook consumer.

On this page