Webhooks
IdCanopy sends real-time updates about customer journeys to your webhook endpoint. This page covers how delivery works (configuration, security, retries) and the payload schema you’ll receive.Configure
- Webhook URL — Your HTTPS endpoint that accepts
POST. - Events — Choose which journey events you want (e.g., journey completed, fraud alert).
- Secret — We sign each request body with a shared secret so you can verify integrity.
Endpoint requirements
- TLS: 1.2+
- HTTP:
POST - Body:
application/json(default) ortext/plainwhen an encrypted payload is used - Timeout/Response: Return HTTP 2xx within 10 seconds
Delivery & retries
If we don’t receive 2xx (or your endpoint times out), we retry for ~24 hours:- Up to 6 additional attempts
- Increasing backoff (≈10s, 100s, 1000s, 10000s)
Security
We add aSignature header containing an HMAC-SHA256 of the raw request body, keyed with your Webhook Secret.User-Agent:
signteq.io API.
Use a constant-time comparison to prevent timing attacks.
Verify (PHP example)
Testing
- Use webhook.site to inspect incoming requests.
- Use ngrok (or similar) to forward callbacks to a local environment.
Example payload
Example payload
Example payload
Payload reference
Payload reference
Payload reference
Tips
- Treat
transactionIdand artifact links as sensitive; avoid logging them on the client. - Consider adding your own idempotency handling on receipt to avoid double-processing retries.
- If you consume payloads in multiple systems, keep a small payload changelog in this page to track field additions.