Uniqode now supports webhook integrations to send real-time data to another application when a specific event occurs. View current supported events
Prerequisites
Uniqode Pro plan or above with admin privileges
Creating a new webhook
Click on Webhooks under Developer on the left-side menu
Click the "Add" button to create a new webhook
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.
Supported events:
QR Code Events
qr_code_created – Triggered when a new QR Code is created
qr_code_view – Triggered when a QR Code is scanned
qr_code_update – Triggered when a QR Code is updated
qr_code_delete – Triggered when a QR Code is permanently deleted
qr_code_soft_delete – Triggered when a QR Code is moved to trash
qr_code_restore – Triggered when a QR Code is restored from trash
DBC Contact Lead Events
dbc_leads_create – Triggered when a new DBC contact lead is created
dbc_leads_update – Triggered when a DBC contact lead is updated
dbc_leads_delete – Triggered when a DBC contact lead is deleted
Form Events
form_response_submitted – Triggered when a new form response is submitted
Digital Business Card (DBC) Events
digital_business_card_create – Triggered when a new Digital Business Card is created
digital_business_card_update – Triggered when a Digital Business Card is updated
digital_business_card_delete – Triggered when a Digital Business Card is deleted
Digital Business Card Template Events
digital_business_card_template_create – Triggered when a new Cards template is created
digital_business_card_template_update – Triggered when a Cards template is updated
digital_business_card_template_delete – Triggered when a Cards template is deleted
Linkpage Events
link_page_create – Triggered when a new Link page is created
link_page_update – Triggered when a Linkpage is updated
link_page_delete – Triggered when a Linkpage is deleted
Linkpage Template Events
link_page_template_create – Triggered when a new Linkpage template is created
link_page_template_update – Triggered when a Linkage template is updated
link_page_template_delete – Triggered when a Linkpage template is deleted
Landing Page Template Events
landing_page_template_create – Triggered when a new Landing Page template is created
landing_page_template_update – Triggered when a Landing Page template is updated
landing_page_template_delete – Triggered when a Landing Page template is deleted
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 the following signature as the custom header:
X-Uniqode-Webhook-Signature
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:
Extract the timestamp and payload from the request.
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
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.