Integrations · Practical guide
Zintara webhook duplicate handling without a stable event ID
Design downstream actions to be repeat-safe while acknowledging that the current webhook envelope cannot uniquely identify every event.
Reviewed · Examples are illustrative
Who this helps: Developers integrating Zintara data and signed webhook notifications.
Define the decision
The reviewed envelope includes event, data and a second-resolution timestamp, but no stable event ID. A lead can reply more than once with the same subject. Deduplicating forever by leadId or subject would discard legitimate activity.
Work through the procedure
- Verify the raw-body signature before admitting the notification.
- Store a receiver-generated receipt ID and raw-body digest for diagnostics.
- Make state-setting actions, such as marking an address suppressed, safe to repeat.
- For nonrepeatable actions, use reconciliation or manual review instead of a guessed uniqueness key.
Worked example
The following is a synthetic example for this procedure, not a customer result or performance benchmark.
Receipt A: reply.received, lead X, subject "Re: question"
Receipt B: another genuine reply from lead X with the same subject
Unsafe key: event + leadId + subject
Safer business action: update a review-needed state without creating an unbounded duplicate taskRead the result
A raw-body digest can identify identical received bytes, but it is not a provider-issued event identity and can still collapse indistinguishable events. Treat it as a bounded operational aid, not an exactly-once guarantee.
Check before moving on
- Test two legitimate same-subject replies.
- Test repeated delivery against each downstream side effect.
Limits and next action
If the business process requires exact event identity and complete replay, the current webhook contract needs additional support. Keep that requirement explicit before production adoption.
Source: Zintara product context
Source references
Worked examples are illustrative. Editorial procedures are suggested methods, not measured performance claims or promises of additional product features.
Related guides
- Webhook: an event notification with a receiver you must operate →
- Zintara webhook event schema and signature reference →
- Zintara webhook delivery failures: best-effort dispatch and recovery boundaries →