Skip to main content
Les webhooks storekit sont livrés avec une sémantique « au moins une fois ». Cela signifie qu’en cas de problèmes de livraison (par ex. problèmes réseau), un webhook peut occasionnellement être livré plusieurs fois.

L’en-tête svix-id

Chaque requête webhook inclut un en-tête svix-id. Cet ID est :
  • Unique par message - Chaque événement distinct reçoit un ID unique
  • Cohérent lors des nouvelles tentatives - Le même ID est utilisé lorsqu’on retente une livraison échouée

Implémenter la déduplication

Pour vous assurer de ne traiter chaque événement qu’une seule fois, stockez le svix-id et vérifiez-le avant traitement :

Quand utiliser la déduplication

La déduplication est particulièrement importante pour :
  • Le traitement des paiements - Éviter de facturer les clients deux fois
  • La création de commandes - Empêcher les commandes en doublon
  • Les mises à jour d’inventaire - Garantir des niveaux de stock précis
  • L’envoi de notifications - Ne pas spammer les utilisateurs avec des messages en doublon

Options de stockage

Vous pouvez stocker les IDs de webhooks traités dans :
Définissez une expiration d’au moins 72 heures (3 jours) sur les IDs de webhook stockés. Les nouvelles tentatives peuvent se produire sur environ 3 jours selon le calendrier de retry.
Même sans déduplication, concevoir vos gestionnaires de webhooks pour qu’ils soient idempotents (produisant le même résultat lorsqu’ils sont appelés plusieurs fois) est une bonne pratique.