Your account

Webhooks

A signed HTTP POST to your server when things happen in this account.

Your accountSettings

What you can do here

go.tito.io/acme/admin/settings/webhooks

A webhook endpoint is your URL plus the event types you choose: orders created, paid, canceled or refunded, tickets issued, voided or checked in, an attendee's details changed, or a check-in recorded at the door. The check-in event carries the check-in list the ticket came through and the time, so a badge printer or an access system can act on the scan itself.

When one of those happens, Tito POSTs a JSON payload to the URL and signs it, so your server can check the delivery came from Tito. Add one from Add endpoint, and its Signing secret shows on the endpoint's own page. The payload has the ticket's id and any collected answers alongside the basics.

Checking that a receiver works

Send test delivery posts one signed event to your URL straight away and shows what your server answered. It changes nothing in your account, and it works while the endpoint is off, so you can check a repair before you turn deliveries back on.

When a delivery fails

Delivery is at-least-once with retries. A failed POST is retried on a backoff schedule for up to six attempts over about ten and a half hours. Recent deliveries shows each one with the attempt it's on, when the next attempt is due, and what your server answered. Open a row to see what Tito sent and what came back.

Send again queues a recorded event to go out a second time. Your server receives that event twice, so it needs to cope with a repeat.

When an endpoint switches off

Ten failed deliveries in a row switch an endpoint off, and the organizer contact gets an email. Deliveries that were already queued are held, and go out when you choose Enable. Events that happen while an endpoint is off aren't recorded, so fix the receiver and turn it back on.

Replacing the signing secret

Replace signing secret gives the endpoint a new one. The old secret stops working straight away, so every delivery fails its signature check until your server has the new one. You can't go back to the old secret.

Good to know

  • The signing secret shows in the admin only, and stays out of API responses. Treat it like a password, because anyone holding it can forge deliveries to your receiver.
  • A test delivery carries the type webhook.test, so your handler can tell it from a real event.
  • The receiver contract, covering the payload envelope, signature header and verification steps, is in the API reference on this account's own /docs/api page.
  • Delete endpoint removes the endpoint's delivery history too.

Still stuck?

You can let someone at Tito sign in to your account for a set time, and see every visit they made.

Let Tito support in →