Échecs de webhook
Symptôme A : L'endpoint webhook retourne 4xx/5xx
Comment vérifier : Tableau de bord → Propriété → Webhooks → Journal de livraison — affiche les codes de statut et les corps de réponse.
Causes et corrections :
| Code de statut | Cause probable | Correction |
|---|---|---|
401 | Vérification de signature échouée | Vérifiez votre code de vérification — consultez Sécurité des webhooks |
400 | Votre endpoint rejette le format de charge utile | Journalisez le corps brut et comparez au schéma de charge utile |
404 | L'URL de l'endpoint a changé | Mettez à jour l'URL du webhook dans Propriété → Webhooks → [Webhook] → Modifier |
500 | Bug dans votre gestionnaire webhook | Vérifiez les journaux de votre serveur pour l'erreur |
timeout | Votre endpoint met trop de temps à répondre | Répondez immédiatement avec 200, traitez de manière asynchrone |
Symptôme B : La vérification de signature webhook échoue
Cause : Raisons les plus courantes :
- Chaîne de signature construite incorrectement — doit être
{timestamp}.{raw_body}(pas JSON analysé) - Utilisation d'un secret différent de celui affiché dans le tableau de bord
- Lecture d'un corps tamponné/modifié au lieu des octets bruts
Correction : Assurez-vous de lire le corps de requête brut avant tout analyse JSON. Dans Express :
// DOIT utiliser le middleware de corps brut
app.use('/webhooks', express.raw({ type: '*/*' }));
Symptôme C : Les livraisons webhook sont retardées
Cause : ConsentForge retente les livraisons échouées avec backoff exponentiel — les retards sont attendus après des échecs initiaux.
Correction : Corrigez l'erreur sous-jacente (voir Symptôme A). Une fois que votre endpoint retourne 2xx, les livraisons futures seront immédiates.
Symptôme D : Livraisons manquantes — événements non reçus
Comment vérifier : Comparez le nombre de livraisons dans le journal du tableau de bord avec le nombre reçu sur votre serveur.
Cause : Certains événements peuvent avoir épuisé toutes les tentatives de répétition (5 tentatives sur ~2 heures).
Correction : Propriété → Webhooks → Journal de livraison → Filtre : Échoué — utilisez le bouton Rejouer pour renvoyer les livraisons échouées.