Webhooks
Un webhook (littéralement « hameçon web ») permet à votre système de recevoir en temps réel les événements qui surviennent sur DPS77 (création, mise à jour, signalement d’une fiche) sans avoir à interroger l’API en permanence.
Principe
Vous déclarez un point de terminaison (URL) HTTPS dans votre espace administrateur. Dès qu’un événement survient sur une ressource qui vous concerne, DPS77 envoie une requête POST signée à cette URL.
Événements supportés
| Événement | Déclencheur |
|---|---|
professional.created | Nouvelle fiche professionnel publiée |
professional.updated | Fiche professionnel modifiée |
professional.deleted | Fiche professionnel retirée |
organization.created | Nouvelle structure publiée |
organization.updated | Structure modifiée |
signalement.received | Un signalement a été déposé sur une fiche |
Format de la charge utile
{
"event": "professional.updated",
"event_id": "evt_01HXYZ...",
"occurred_at": "2026-04-09T14:22:03Z",
"data": {
"national_id": "10000000001",
"changes": ["phone", "address"]
}
}Signature HMAC
Chaque requête contient un en-tête X-DPS77-Signature calculé avec HMAC-SHA256 et votre secret partagé. Votre point de terminaison doit vérifier cette signature avant de traiter la charge utile.
Sans vérification de signature, n’importe qui peut forger une charge utile et l’envoyer à votre URL. C’est une étape obligatoire, pas une option.
Idempotence et rejeu
DPS77 garantit l’ordre de livraison par ressource mais pas la livraison unique. Votre point de terminaison doit être idempotent : recevoir deux fois le même event_id ne doit pas produire deux effets.
En cas d’erreur (statut HTTP non 2xx), DPS77 rejoue la livraison avec un délai croissant (backoff exponentiel) : 1 min, 5 min, 30 min, 2 h, 6 h, 24 h, puis abandon. Un tableau de bord vous permet de voir les événements en échec et de les rejouer manuellement.
Tester en local
Pour développer en local, exposez votre URL via un tunnel (ngrok, cloudflared) et utilisez l’outil « Envoyer un événement test » depuis l’espace administrateur.
Pour aller plus loin
Besoin d’aide ? Contactez l’équipe DirectProSanté 77 : contact@directprosante.fr