Webhooks (Global Postbacks)
Get notified in real time when transactions or campaigns change. Instead of polling the API, register a webhook URL and Cuelinks will POST (or GET) event data to your endpoint automatically. Configure up to 10 webhooks per event type from your publisher dashboard.
read/write:webhooks) is on the roadmap. This page documents the event types, payloads, and behavior so you can build your receiving endpoint.
Fired when a transaction's status changes. You choose which statuses trigger the webhook: pending, validated, payable, rejected, paid.
Fired when a campaign's status changes or a new campaign is created. You choose which events to subscribe to:
1. Register — Go to Global Postback in your dashboard. Choose Transaction Update or Campaign Update. Set your URL and select which events to subscribe to.
2. Map fields — Configure which macros map to which parameter names. Add constant parameters (like an auth secret) that are always included.
3. Test — Use the TEST button to send a sample payload to your URL before going live. Verify your endpoint returns 200.
4. Go live — Save the webhook. Events are delivered in real time via Sidekiq background jobs.
POST https://your-app.com/webhooks/cuelinks { "txn_id": 1234567, "campaign": "Flipkart", "status": "validated", "amount": "1500.00", "commission": "67.50", "sub_id": "user_7", "secret": "your-constant-param" }
GET https://your-app.com/webhooks/campaigns ?id=4821 &name=Flipkart &event=live &type=CPS
{transaction_id} or {update_timestamp} for deduplication.Respond with 200 quickly — do heavy processing asynchronously. Use a constant parameter as a shared secret to verify requests are from Cuelinks. Store the
{transaction_id} to deduplicate retries.