Aller au contenu

Les webhooks : prévenir un outil du cabinet

Envoyer à une adresse de votre choix, signé, chaque dossier créé, facture émise ou paiement reçu d'un espace.

Où dans l'application :Réglages › Mon compte / Sécurité et données
Accès :Associés de l'espace
Compte, sécurité et intégrationsAutres guides de cette rubrique

Un webhook prévient un outil du cabinet (comptabilité, CRM, automatisation) dès qu'un événement a lieu dans un espace : Diligence envoie une requête POST à l'adresse que vous avez déclarée. Les webhooks s'ouvrent espace par espace : tant qu'ils ne sont pas ouverts pour le vôtre, la carte « Webhooks » n'apparaît pas.

Déclarer une destination

  1. Dans Réglages, ouvrez l'espace puis l'onglet « Sécurité et données ». Seul un associé voit la carte « Webhooks ».
  2. Cliquez sur « Ajouter une destination », collez l'adresse fournie par l'outil (https:// obligatoire, sans identifiant ni port particulier) et cochez les événements : dossier créé, facture émise, paiement reçu.
  3. Copiez le secret de signature affiché (whsec_…) et collez-le dans l'outil : il ne sera plus jamais affiché. Perdu, il se remplace en supprimant la destination et en la recréant.

Chaque envoi contient des données de l'espace (nom et référence du dossier, numéro et montants de la facture, montant du paiement). Ne déclarez qu'une adresse d'un outil de confiance. Cinq destinations au plus par espace ; une adresse qui mène à un réseau privé est refusée.

Ce que reçoit l'outil

  • un corps JSON { "id", "type", "cree_le", "espace_id", "donnees" } ; type vaut dossier.cree, facture.emise ou paiement.recu ;
  • dossier.cree : id, ref, nom, matiere, ouvert_le, created_at ;
  • facture.emise : id, numero, dossier_id, date_emission, total_ht, total_ttc ;
  • paiement.recu : id, facture_id, montant, recu_le, mode ;
  • les dates en ISO 8601 (UTC), les montants en texte ("1210.00"), jamais en nombre à virgule ;
  • les en-têtes Diligence-Evenement (le type), Diligence-Evenement-Id (l'identifiant de l'événement) et Diligence-Signature.

Vérifier la signature

L'en-tête Diligence-Signature vaut « t=<horodatage Unix>,v1=<signature> ». La signature est le HMAC-SHA256, en hexadécimal, de « <t>.<corps brut> » avec le secret. Refusez un envoi dont la signature diffère ou dont l'horodatage a plus de 5 minutes.

Exemple en Node : const [t, v1] = entete.split(",").map((p) => p.split("=")[1]); const attendu = crypto.createHmac("sha256", secret).update(`${t}.${corpsBrut}`).digest("hex"); const valide = crypto.timingSafeEqual(Buffer.from(v1, "hex"), Buffer.from(attendu, "hex")) && Math.abs(Date.now() / 1000 - Number(t)) < 300;

Réponses, rejeux et doublons

  • répondez par un code 2xx en moins de 10 secondes : l'envoi est livré ;
  • toute autre réponse, une redirection ou un délai dépassé est un échec : l'envoi est rejoué 1 minute, 5 minutes, 30 minutes, 2 heures puis 12 heures après, soit 6 essais au plus, puis il passe « En échec » ;
  • la livraison est « au moins une fois » : un même événement peut arriver deux fois. Dédoublonnez avec Diligence-Evenement-Id, identique pour tous les essais et pour « Renvoyer » ;
  • une destination désactivée ne reçoit plus rien ; la supprimer efface aussi son journal.

Le journal des envois, sous la liste des destinations, montre les 50 derniers envois avec leur statut, le nombre d'essais et la dernière erreur. « Renvoyer » remet un envoi livré ou en échec dans la file : il part au prochain passage, dans 5 minutes au plus.

Tous les articles

© 2026 DiligenceHébergé dans l'Union européenne.En français. Nederlands et English : bientôt disponibles.