Configuration dynors-webhooks — librairie vs applications
dynors-webhooks (com.dynors:dynors-webhooks, dépôt dynors-extensions) est une bibliothèque : signature HMAC des payloads et envoi HTTP (WebhookSender). Il n’y a pas de service webhooks centralisé DYNORS : chaque app gère ses URL enregistrées, ses secrets par endpoint / tenant et sa politique de retry.
!!! note "Source et dépôt principal"
Contenu aligné sur le dépôt agrégé dynors : docs/CONFIGURATION_DYNORS_WEBHOOKS.md.
Résolution Maven / registry : Versions et dépendances (core) ; accès token : CONFIGURATION_ACCES_DEPENDANCES.md.
SLY (SelebeYone) et applications tierces
- Inter-app DYNORS →
InterAppCallService→ SLY (headers / transit) — voir Gateway SelebeYone.WebhookSender= HTTP sortant vers l’URL enregistrée ; pas de headers de transit SLY imposés par ce module. - App tierce ou URL derrière chaîne lente (CDN, gateway partenaire) : augmenter
dynors.webhooks.connect-timeoutetread-timeout; détail dansCONFIGURATION_DYNORS_WEBHOOKS.md.
1. Rôles
| Couche | Responsabilité |
|---|---|
| dynors-webhooks | WebhookPayload, WebhookEndpoint, WebhookSignature (header X-Dynors-Signature), WebhookSender. Auto-config : bean WebhookSender + RestTemplate. |
| Chaque application | Persistance des endpoints (souvent table métier), API « enregistrer un webhook », timeouts HTTP, retry, secrets whsec_… par enregistrement. |
| Client intégrateur | Vérifier la signature côté réception (WebhookSignature.verify). |
2. Propriétés Spring (dynors.webhooks.*)
| Clé | Rôle |
|---|---|
dynors.webhooks.connect-timeout |
Connexion TCP vers l’URL du webhook (défaut 5s). |
dynors.webhooks.read-timeout |
Lecture de la réponse HTTP (défaut 30s). |
dynors.webhooks.require-https |
true : uniquement des URL https://. Défaut false. Recommandé true en prod (banque, etc.). |
Secrets d’endpoint (whsec_…) : base ou Vault — pas le GITLAB_TOKEN (registry Maven uniquement). Pour un WebhookSender entièrement sur mesure, déclarer votre propre bean (l’auto-config est en @ConditionalOnMissingBean).
3. Intégrations type Stripe & événements internes
- Contrat d’API, idempotence, bonnes pratiques : Intégrations façon Stripe (dépôt dynors).
- dynors-events (bus inter-apps) ≠ webhooks vers systèmes clients : NOTIFY vs events….
4. Références code
| Élément | Lien |
|---|---|
| README module | packages/extensions/webhooks/README.md |
Dernière mise à jour : 2026-04-12.