Biqli signs every request with HMAC-SHA256 using the endpoint’s whsec_... secret.
Verify the signature before parsing or processing the JSON. JSON parsing and re-encoding can change whitespace or escaping and produce a different digest.
Node.js example
PHP example
Prevent duplicate processing
Signature verification proves the body was signed with your endpoint secret. It does not make delivery exactly once.
Store the envelope id in a table with a unique constraint before applying side effects. If the same ID arrives again, return 2xx without repeating the work.
After signature verification, you may confirm:
Biqli-Event-Id equals the body id.
Biqli-Event equals the body event.
Content-Type is application/json.
Use the signed body as the authoritative event content.
Never expose the signing secret in a browser, response, client bundle, URL, or application log.