Skip to content

Webhook Integrations

Webhooks are event-triggered HTTPS requests sent from the Quiddly Platform to your external integrations or systems. Instead of continuously polling our API for updates, you can configure the Quiddly Platform to automatically notify your application the moment a specific event occurs, allowing you to build real-time, automated workflows.

A webhook listens for a dedicated event type—such as when an invoice has been successfully financed—and triggers instantly every time that event takes place.

To set this up, administrators can use the Operations Portal to define the HTTPS request specifications (the HTTP method and target URI) for the receiving resource. You will also configure a secure secret key, which is used to sign the outbound payload so your application can verify the authenticity of each request.

Webhooks can be managed in the Operations Portal or via API.

Requires rights that can be manages by a system super users. Rights are CRUD:

Webhook body payloads are now serialized as Canonical JSON (sorted keys, no whitespace separators) and encoded strictly as UTF-8 (without ASCII escaping).

Please review your verification logic to ensure compatibility with consistent key ordering and raw UTF-8 byte matching.

An example implementation of a webhook receiver

Use these exact practices in production:

  1. Always verify the RAW body bytes before json.loads().
  2. Keep one secret per webhook endpoint/subscription.
  3. Support secret rotation by trying current + previous secret.
  4. Reject timestamps older than ~5 minutes.
  5. Store webhook event IDs for idempotency / replay suppression.
  6. Send only over HTTPS.
  7. Log verification failures, but never log secrets or full sensitive payloads.
  8. Use short request timeouts and retry safely on sender side.

Headers:

Signed content:

This is a python FastAPI example implementation of a Webhook receiver.