> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evocrawl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tests

> Tester et déboguer des webhooks

Vérifiez que votre intégration de webhook fonctionne avant de la déployer en production. Cette page explique comment recevoir des webhooks sur votre machine locale et comment diagnostiquer les échecs courants de livraison et de vérification.

<div id="local-development">
  ## Développement local
</div>

Comme les webhooks nécessitent une URL accessible publiquement, vous devez exposer votre serveur local à Internet pendant le développement.

<div id="using-cloudflare-tunnels">
  ### Utiliser Cloudflare Tunnels
</div>

[Cloudflare Tunnels](https://github.com/cloudflare/cloudflared/releases) offre un moyen gratuit d’exposer votre serveur local sans ouvrir de ports sur le pare-feu :

```bash theme={null}
cloudflared tunnel --url localhost:3000
```

Vous obtiendrez une URL publique de la forme `https://abc123.trycloudflare.com`. Utilisez-la dans la configuration de votre webhook :

```json theme={null}
{
  "url": "https://abc123.trycloudflare.com/webhook"
}
```

<div id="troubleshooting">
  ## Résolution des problèmes
</div>

<div id="webhooks-not-arriving">
  ### Les webhooks n'arrivent pas
</div>

* **Endpoint inaccessible** - Vérifiez que votre serveur est accessible publiquement et que les pare-feu autorisent les connexions entrantes
* **Utilisation de HTTP** - Les URL de webhook doivent utiliser HTTPS
* **Mauvais types d'événements** - Vérifiez le filtre `events` dans la configuration de votre webhook

<div id="signature-verification-failing">
  ### Échec de la vérification de la signature
</div>

La cause la plus fréquente est l’utilisation du corps JSON parsé au lieu du corps brut de la requête.

```javascript theme={null}
// ❌ Incorrect — utilisation du corps parsé
const signature = crypto
  .createHmac('sha256', secret)
  .update(JSON.stringify(req.body))
  .digest('hex');

// ✅ Correct — utilisation du corps brut
app.use('/webhook', express.raw({ type: 'application/json' }));
app.post('/webhook', (req, res) => {
  const signature = crypto
    .createHmac('sha256', secret)
    .update(req.body) // Buffer brut
    .digest('hex');
});
```

<div id="other-issues">
  ### Autres problèmes
</div>

* **Mauvais secret** - Vérifiez que vous utilisez le bon secret depuis vos [paramètres de compte](https://www.evocrawl.com/app/settings?tab=advanced)
* **Erreurs de délai d’attente** - Assurez-vous que votre endpoint répond en moins de 10 secondes
