Skip to main content
storekit-webhooks worden bezorgd met “at least once”-semantiek. Dit betekent dat een webhook af en toe meer dan één keer bezorgd kan worden bij bezorgproblemen (zoals netwerkproblemen).

De svix-id-header

Elke webhook bevat een svix-id-header. Deze ID is:
  • Uniek per bericht - Elk afzonderlijk event krijgt een unieke ID
  • Consistent tussen retries - Bij het opnieuw bezorgen van een mislukte levering wordt dezelfde ID gebruikt

Deduplicatie implementeren

Om er zeker van te zijn dat je elk event maar één keer verwerkt, sla je de svix-id op en controleer je deze vóór verwerking:

Wanneer deduplicatie gebruiken

Deduplicatie is vooral belangrijk bij:
  • Betalingsverwerking - Voorkom dat klanten dubbel worden belast
  • Bestellingen aanmaken - Voorkom dubbele bestellingen
  • Voorraadupdates - Zorg voor kloppende voorraadstanden
  • Notificaties versturen - Spam gebruikers niet met dubbele berichten

Opslagopties

Je kunt verwerkte webhook-ID’s opslaan in:
Stel een houdbaarheidstijd van minstens 72 uur (3 dagen) in op opgeslagen webhook-ID’s. Retries kunnen ongeveer 3 dagen aanhouden volgens het retry-schema.
Ook zonder deduplicatie is het een goede gewoonte om je webhook-handlers idempotent te ontwerpen (zodat ze bij meerdere aanroepen hetzelfde resultaat opleveren).