Skip to main content
Webhooks let Drumtix push data to your server when something happens — a ticket is sold, an order is refunded, an attendee is checked in, etc.

Setting up a webhook

  1. Go to Settings → Webhooks in your dashboard
  2. Click Add Endpoint
  3. Enter your endpoint URL (must be HTTPS)
  4. Select the events you want to receive
  5. Save — Drumtix will start sending notifications to your endpoint immediately

Webhook events

EventTriggered when
order.createdA ticket order is completed
order.refundedAn order is refunded
checkin.completedA ticket is scanned in at the door
event.publishedAn event is published
event.cancelledAn event is cancelled

Payload format

Drumtix sends a POST request to your endpoint with a JSON body:
{
  "event": "order.created",
  "timestamp": "2025-01-15T20:30:00Z",
  "data": {
    "orderId": "ord_abc123",
    "eventId": "evt_xyz456",
    "buyerEmail": "buyer@example.com",
    "total": 1500
  }
}

Verifying webhook signatures

Each webhook request includes a Drumtix-Signature header. Verify this signature to ensure the request genuinely came from Drumtix:
const crypto = require('crypto')

function verifySignature(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex')
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  )
}
Your webhook secret is shown when you create the endpoint in the dashboard. Reject requests where the signature does not match.

Retries

If your endpoint returns a non-2xx status code, Drumtix will retry delivery up to 3 times with exponential backoff. After 3 failures, the delivery is marked as failed.

Zapier & Make.com

If you use Zapier or Make.com, go to Settings → Integrations to connect them. These integrations use a simplified webhook setup managed within those platforms.