Skip to main content

How to integrate your webhook on Uniqode?

Learn how to create, manage, and monitor webhook integrations via the Developer section of the platform

Bidisha Sinha avatar
Written by Bidisha Sinha
Updated yesterday

Uniqode now supports webhook integrations to send real-time data to another application when a specific event occurs. View current supported events

Prerequisites

Creating a new webhook

  1. Click on Webhooks under Developer on the left-side menu

  2. Click the "Add" button to create a new webhook

  3. Provide the following details:

    • Webhook URL: The endpoint where you want to receive event data.

    • Trigger Events: Select one or more events that will trigger the webhook.

Currently supported events:

  • QR Code Created

  • QR Code Viewed

  • QR Code Updated

  • QR Code Deleted

  • DBC Lead Created

  • Form Response Submitted

Viewing your webhooks activity

Once a webhook is created:

  • Go to the Webhooks page under the Developer section to view a list of all configured webhooks.

  • For each webhook, you can see:

    • URL: The configured end point where you want to receive the data

    • Event Type: All the events that trigger the webhooks

    • Error Rate: Percentage of errors occurring while triggering the events.
      This calculates the error rate for the past 7 days. If the webhook is newer, it uses all available data. If there are no events, it shows "N/A."

    • Status: Displays whether the webhook is Active or Inactive

Viewing your event records

  • Click on the webhook URL you want to view the event history for

  • Click on any item from the EVENT TYPE list to view its details

  • For each event record:

    • You can see detailed event data, including request and response information.

    • You can retrigger the event manually any number of times by clicking on Resend. You cannot take this action if the webhook is Inactive.

    • Events can be filtered by status:

      • All – Shows all events regardless of their status

      • Success – Event was delivered successfully

      • Failed – Event delivery failed, even after multiple attempts

      • Processing – Event is still retrying and hasn’t been marked as failed yet

Understanding webhook event status

  • Success

    This means your event was sent and acknowledged successfully by the target URL (your webhook endpoint). No further action is needed.

  • Failed

    An event is marked as Failed when:

    • You manually trigger a Resend but it fails

    • The system automatically retries the event (using exponential backoff) for up to 3 days, but all attempts fail

    After this period, the system stops retrying and marks the event as Failed.

  • Processing

    This means the event is currently being retried. The webhook delivery failed initially, but our system is still trying to deliver it.

    We use exponential backoff—this means the time between retries increases gradually to avoid overloading your servers.

    When you click on the event, you'll also see:

    • Next Retry Time – The scheduled time for the next attempt to trigger the event.

    • Attempt Count – The number of times we've tried to send the event. Each event is retried up to 10 times.

    After 3 days of retries, the event moves to the Failed state.

Note: Events are listed in descending order, with the most recent at the top and older ones below.

Editing a webhook

  • To update the webhook’s endpoint or trigger settings, click on Edit on the top right corner in the webhook detail view.

Note: If the webhook endpoint is updated, all past events (including retries) will be sent to the new endpoint—not the original one.

Enabling or disabling a webhook

Users can enable or disable a webhook by toggling the Active setting in the webhook edit dashboard. When disabled, the webhook won't receive any events.

This helps control and limit the number of triggers sent to their platform.

Active status

Inactive status

Note: If a webhook has a 100% error rate over the past 7 days (i.e., all events failed), it will be automatically disabled. An email notification will be sent to the webhook creator and the account owner informing them of the same.

Verifying a webhook signature

When we send a webhook request, we include two custom headers:

  • X-Beaconstac-Webhook-Signature

  • X-Uniqode-Webhook-Signature

Note: Both headers contain the same HMAC signature value.

This signature is used to validate the authenticity of the webhook request. It is generated using:

  • A timestamp

  • The event payload

  • The webhook shared secret assigned to your integration

The HMAC is calculated as follows:

HMAC_SHA256(timestamp + payload, shared_secret) Format would be "t={timestamp},s={hex_hmac_obj}"

To verify the webhook:

  1. Extract the timestamp and payload from the request.

  2. Recompute the HMAC using your shared secret. You can find the shared secret in the webhook edit dashboard by clicking on Reveal for the respective webhook

    Signing secret with reveal button

    Exposed signing secret

  3. Compare it to the signature in the headers.

    Please process the webhook events within 30 minutes of their trigger to ensure data integrity. Verifying the webhook signature confirms that the webhook came from us and the data hasn’t been altered.

Did this answer your question?