What is a Webhook?
A webhook is a simple way for one application to automatically send real-time data to another when a specific event happens. Think of it as an automatic notification β when something important occurs (like a ticket purchase, a payment, or a new user registration), Tikkl can instantly send the details to your system without you having to ask for it.
Unlike traditional APIs, where your system would have to keep checking for updates, webhooks push the information to you as soon as the event occurs, making your workflows faster and more efficient.
Step 1: Set up Webhook at the Organization Level
- Navigate to the Organization Settings > Webhook section.
- Check the box labelled "Enable webhook".
- Fill in the following required fields:
- Webhook URL
Enter the public endpoint where your server can receive POST requests.
Example:https://yourdomain.com/webhook/tikkl - Webhook Secret
Enter a secure secret string that will be used to generate a signature to help you verify the authenticity of the webhook requests.
- Webhook URL
- Click the "Save" button to confirm your settings.
π‘οΈ Security Tip: Use the Webhook Secret to verify payloads on your server using HMAC (SHA-256). Each event will include a signature header for validation.
Step 2: Enable Webhook for Specific Campaigns
Webhook delivery is campaign-specific. This gives you control over which events should trigger notifications.
- Go to the Campaign Settings page of the desired event campaign.
- Scroll down to the Webhook Notifications section.
- Check the box labelled "Enable Webhook notifications for this campaign."
- Select the webhook events you want to listen for:
βNew sales transactionβTicket purchase
Only the selected events will trigger webhook posts.
π€ Webhook Request Format
- HTTP Method:
POST - Content-Type:
application/json - Headers:
X-Tikkl-Signature: HMAC SHA-256 signature of the JSON body using your webhook secret
π¦ Webhook Payload Details
Tikkl sends JSON payloads in the request body when a webhook event is triggered. The structure of this data depends on the event type you selected.
1. New sales transaction Payload
This event is triggered when a new transaction is created (e.g., someone places an order with one or more tickets).
Payload Example:
{
"objectType": "transaction",
"orderId": "123-45678901-2345678",
"orgName": "Awesome Org",
"orgSubdomain": "awesomeorg",
"campaignName": "Tech Conference 2025",
"campaignUrl": "https://tikkl.com/awesomeorg/c/tech-conf",
"orderUrl": "https://tikkl.com/awesomeorg/admin/c/tech-conf/participation/123-45678901-2345678",
"orderTimeUtc": "2025-06-22T14:45:30Z",
"ticketCount": 2,
"userName": "Jane Doe",
"userEmail": "jane@example.com",
"userPhone": "+14088881234"
} 2. Ticket purchase (Product Sale) Payload
This event is triggered when an individual ticket is issued (useful for tracking registrant-level activity).
Payload Example:
{
"objectType": "ticket",
"ticketId": "123-45678901-2345678-001",
"orderId": "123-45678901-2345678",
"orgName": "Awesome Org",
"orgSubdomain": "awesomeorg",
"campaignName": "My Tech Conference",
"campaignUrl": "https://tikkl.com/awesomeorg/c/tech-conf",
"orderUrl": "https://tikkl.com/awesomeorg/admin/c/tech-conf/participation/123-45678901-2345678",
"eventName": "My Tech Conference",
"orderTimeUtc": "2025-06-22T14:45:30Z",
"registrantName": "John Smith",
"registrantEmail": "john@example.com"
}
Comments
0 comments
Article is closed for comments.