Webhooks
Send signed JSON events to your own endpoints — enrollment, order, completion, certificate, and more.
Why this matters
Custom integrations (data warehouses, internal CRM, analytics pipelines) need to react to LMS events in near-real time. Polling the REST API every five minutes works but is fragile — webhooks push, polling pulls.
What you get
- Configure as many webhook endpoints as you need; each subscribes to selected events.
- Outbound payloads signed with HMAC-SHA256 + timestamp — receivers can verify and replay-protect.
- Automatic retry with exponential backoff on 5xx/timeout/network failure.
- Delivery log + admin view of every attempt, including failed ones.
What it unlocks
-
Signed JSON events
Sikshya POSTs structured JSON to your endpoint on enrollment, order, completion, and certificate events. HMAC-SHA256 signature + timestamp let you verify and replay-protect.
-
Retry with backoff
Failed deliveries (5xx, timeout, network) retry automatically on an exponential backoff. Your receiver can be down for a moment without losing events.
-
Delivery log
Every attempt is recorded — payload, response code, latency, retry count. Audit failures and replay specific events from the admin.
How it works
-
1
Register an endpoint
In Webhooks settings, add the URL Sikshya should POST to. Pick which events the endpoint subscribes to.
-
2
Verify the signature
Your receiver checks the HMAC-SHA256 signature against the shared secret. Reject any request that doesn't verify.
-
3
React to events
On enrollment, completion, or order events, Sikshya pushes a signed JSON payload. Your service reacts — sync a warehouse, post to Slack, trigger automation.
Frequently asked
What happens if my endpoint is down?
Sikshya retries with exponential backoff on 5xx, timeout, and network failure. The delivery log shows every attempt so you can replay missed events once the endpoint recovers.
How do I verify the signature?
Compute HMAC-SHA256 of the raw request body using your shared secret, then compare to the signature header Sikshya sends. The timestamp header lets you reject replays older than your tolerance window.
Is this different from Zapier?
Webhooks point at any endpoint you control — your own backend. Zapier is a hosted layer for connecting to apps without writing code. Both use the same underlying event system.
Keep exploring
Ready to ship Webhooks?
Activate the Sikshya Pro Scale tier to unlock this feature. The free plugin handles everything else.