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

# Troubleshooting

> Diagnostiquer et corriger les problemes courants de livraison des webhooks

<AccordionGroup>
  <Accordion title="Mon endpoint a ete automatiquement desactive">
    Allo desactive les endpoints qui echouent de maniere continue pendant 5 jours. Pour corriger :

    1. Verifiez l'historique des livraisons dans [Parametres > Webhooks](https://web.withallo.com/settings/webhooks) pour comprendre pourquoi les livraisons ont echoue.
    2. Corrigez le probleme sous-jacent (URL modifiee, serveur en panne, erreur d'authentification, etc.).
    3. Reactivez le webhook depuis [Parametres > Webhooks](https://web.withallo.com/settings/webhooks).
    4. Utilisez l'option **Recover** pour rejouer les evenements manques.
  </Accordion>

  <Accordion title="Les livraisons affichent des erreurs 4xx ou 5xx">
    Verifiez ces causes courantes :

    * **401/403** : Votre endpoint necessite une authentification. Les requetes webhook n'incluent pas votre cle API -- elles utilisent la [verification de signature](/fr/v2/api-reference/webhooks/verifying-signatures) a la place.
    * **404** : L'URL du webhook est incorrecte ou le routage de votre serveur ne correspond pas.
    * **500** : Votre handler genere une erreur. Verifiez les logs de votre serveur.
    * **Pare-feu/WAF** : Votre pare-feu ou votre WAF (Web Application Firewall) bloque peut-etre les requetes. Autorisez les requetes POST entrantes vers le chemin de votre webhook.
  </Accordion>

  <Accordion title="La verification de signature echoue">
    Causes courantes :

    * **Corps parse** : Vous devez utiliser le **corps brut de la requete** pour la verification. Si votre framework parse automatiquement le JSON et que vous le re-serialisez, les differences d'espacement invalideront la signature. Utilisez `express.raw()` en Node.js ou `request.get_data()` en Flask.
    * **Mauvais secret** : Assurez-vous d'utiliser le bon secret de signature `whsec_...` pour cet endpoint specifique.
    * **Decalage d'horloge** : L'horloge de votre serveur doit etre a moins de 5 minutes de l'heure reelle. Verifiez que NTP fonctionne sur votre serveur.
    * **Modification par un middleware** : Les proxies ou middlewares qui modifient les en-tetes ou le corps de la requete invalideront la signature.
  </Accordion>

  <Accordion title="Je ne recois pas d'evenements">
    Verifiez les points suivants :

    1. **Le webhook est active** : Rendez-vous dans [Parametres > Webhooks](https://web.withallo.com/settings/webhooks) et verifiez que le webhook est active.
    2. **Les topics correspondent** : Verifiez que les types d'evenements attendus sont selectionnes dans la configuration du webhook.
    3. **Historique des livraisons** : Consultez l'historique des livraisons dans les parametres de votre webhook -- les evenements echouent peut-etre silencieusement.
    4. **L'URL est accessible** : Assurez-vous que votre endpoint est accessible publiquement via HTTPS. Utilisez la [fonctionnalite de test](/fr/v2/api-reference/webhooks/testing) pour verifier.
  </Accordion>

  <Accordion title="Je recois des evenements en double">
    C'est un comportement attendu. Allo utilise une livraison at-least-once (au moins une fois), les evenements peuvent donc etre livres plus d'une fois.

    Implementez l'idempotence en utilisant l'en-tete `webhook-id` comme cle de deduplication. Voir [Bonnes pratiques](/fr/v2/api-reference/webhooks/best-practices#implementer-lidempotence).
  </Accordion>

  <Accordion title="Les livraisons expirent (timeout)">
    Votre endpoint doit repondre dans les 20 secondes. Si votre traitement prend plus de temps :

    1. Retournez `200` immediatement a la reception de la requete.
    2. Mettez l'evenement en file d'attente pour un traitement en arriere-plan.
    3. Traitez l'evenement de maniere asynchrone (par ex., en utilisant une file de messages ou un job en arriere-plan).

    Voir [Bonnes pratiques -- Repondre rapidement](/fr/v2/api-reference/webhooks/best-practices#repondre-rapidement).
  </Accordion>
</AccordionGroup>

## Besoin d'aide ?

<CardGroup cols={2}>
  <Card title="Contacter le support" icon="headset" href="mailto:support@withallo.com">
    Contactez notre equipe de support
  </Card>

  <Card title="Reference API" icon="book" href="/fr/v2/api-reference/webhooks/overview">
    Parcourez la documentation complete des webhooks
  </Card>
</CardGroup>
