# Pourquoi mes webhooks de rapport de livraison ne se déclenchent-ils pas ?

> Si les webhooks DLR de BroadNet n'atteignent pas votre serveur, la cause est presque toujours du côté du serveur de réception. En cause : absence d'URL de rappel configurée sur le compte, URL inaccessible publiquement via HTTPS ou point de terminaison ne renvoyant pas rapidement une réponse HTTP 200. La plateforme envoie un DLR au format JSON (MessageId, Status, BatchId, etc.) à votre URL à mesure que chaque message atteint son état final ; vérifiez d'abord l'URL, la réponse et votre pare-feu.

- URL canonique: https://www.broadnet.me/fr/developers/troubleshooting-webhooks-not-firing
- Langue: fr
- Dernière mise à jour: 2026-10-21
- Éditeur: BroadNet (https://www.broadnet.me)

## URL de rappel inexistante (ou incorrecte) configurée

Les webhooks DLR ne sont déclenchés que si une URL de rappel est configurée sur votre compte. Si aucune URL n'est configurée (ou si elle pointe vers un hôte obsolète ou incorrect), aucune notification n'est envoyée et aucune erreur n'est visible de votre côté. Vérifiez l'URL DLR/webhook sur votre compte. Si vous ne pouvez recevoir aucune notification push, récupérez l'état à la demande (via l'API HTTP historique : GET /websmpp/websmsstatus avec l'identifiant de réponse).

- Les webhooks nécessitent la configuration d'une URL de rappel sur le compte.
- Une URL manquante ou obsolète signifie une non-livraison silencieuse.
- Vérifiez que l'URL DLR configurée est à jour.
- Solution de repli : récupérer l'état à la demande (API HTTP historique : /websmpp/websmsstatus).

## Point de terminaison non accessible publiquement via HTTPS

La plateforme effectue des requêtes POST depuis Internet. Par conséquent, une connexion depuis localhost, une adresse IP privée, un certificat TLS non fiable ou auto-signé, ou une liste blanche d'adresses IP excluant nos expéditeurs empêchera la réception du rappel. Exposez un point de terminaison HTTPS public avec un certificat valide et, si vous utilisez une liste blanche, autorisez les adresses sortantes de BroadNet. Testez l'URL depuis l'extérieur de votre réseau avant d'incriminer la plateforme.

- Doit être une URL HTTPS publique avec un certificat valide.
- Les adresses IP locales, les adresses IP privées et les certificats auto-signés ne seront pas acceptés.
- Ajoutez les expéditeurs de BroadNet à la liste blanche si vous filtrez le trafic entrant.
- Effectuez une requête curl depuis l'extérieur de votre réseau pour confirmer l'accessibilité du point de terminaison.

## Le point de terminaison ne renvoie pas rapidement le code 200.

Votre point de terminaison doit répondre rapidement par un code HTTP 200. S'il renvoie une erreur 4xx/5xx, expire ou se bloque lors d'une opération complexe, la livraison est considérée comme ayant échoué et est relancée avec un délai exponentiel, ce qui peut donner l'impression que les webhooks sont « manquants » ou retardés. Veuillez renvoyer immédiatement un code 200 et traiter le DLR de manière asynchrone (mettez-le en file d'attente, puis effectuez les opérations).

- Accuser réception rapidement avec un code HTTP 200.
- 5xx/4xx/délai d'attente → nouvelles tentatives avec attente (ressemble à des abandons).
- Ne faites pas un travail lent avant de répondre.
- Renvoie 200, puis traite le DLR hors du chemin de la requête.

## Ce n'est pas un problème de webhook — le message n'est pas encore définitif

Un rapport DLR est déclenché uniquement lorsqu'un message atteint son état final (DELIVRD ou UNDELIV). Si un message est toujours en file d'attente ou planifié, aucun rapport n'est dû pour le moment ; ce comportement est normal et ne constitue pas un échec du webhook. Avant de conclure à une défaillance du webhook, veuillez vérifier l'état réel du message en récupérant son état (API HTTP historique : /websmpp/websmsstatus) et comparer les rapports par MessageId ou BatchId.

- Les DLR ne s'activent qu'à l'état final (DELIVRD / UNDELIV).
- Les messages en file d'attente ou programmés n'ont pas encore de DLR.
- Vérifiez l'état réel en le récupérant (API HTTP historique : /websmpp/websmsstatus) avant de poursuivre le débogage.
- Faites correspondre les rapports sur MessageId ou BatchId.

## Voir aussi

- [Référence de l'API SMS — rapports de livraison](https://www.broadnet.me/fr/developers/api)
- [Configuration du webhook](https://www.broadnet.me/fr/developers/webhooks)
- [Qu'est-ce qu'un DLR ?](https://www.broadnet.me/fr/answers/what-is-dlr)
