Aller au contenu principal

É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 statutCause probableCorrection
401Vérification de signature échouéeVérifiez votre code de vérification — consultez Sécurité des webhooks
400Votre endpoint rejette le format de charge utileJournalisez le corps brut et comparez au schéma de charge utile
404L'URL de l'endpoint a changéMettez à jour l'URL du webhook dans Propriété → Webhooks → [Webhook] → Modifier
500Bug dans votre gestionnaire webhookVérifiez les journaux de votre serveur pour l'erreur
timeoutVotre endpoint met trop de temps à répondreRé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 :

  1. Chaîne de signature construite incorrectement — doit être {timestamp}.{raw_body} (pas JSON analysé)
  2. Utilisation d'un secret différent de celui affiché dans le tableau de bord
  3. 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.