Notifications en temps réel
Le canal SignalR qui pousse les notifications de l’utilisateur connecté vers l’interface.
L’interface reçoit les notifications de l’utilisateur en temps réel par un hub SignalR (ASP.NET Core). Une intégration peut s’y abonner avec un client SignalR (JavaScript, .NET, Java…). Ce canal ne remplace pas des webhooks : il exige une connexion ouverte au nom d’un utilisateur et ne transporte que ses notifications.
Connexion
| Adresse | https://api.conformitly.fr/hubs/notifications |
| Authentification | le jeton d’accès, dans l’en-tête Authorization: Bearer … ou, pour les transports qui ne permettent pas d’en-tête (WebSocket depuis un navigateur), dans le paramètre access_token de l’URL |
Le hub applique les mêmes contrôles que l’API : compte actif, session ouverte, liste d’adresses IP autorisées. Il n’expose aucune méthode appelable par le client : il ne fait qu’envoyer.
Le jeton est vérifié à l’ouverture de la connexion, avec sa session (voir Sessions), et le hub ferme la connexion quand ce jeton expire (15 minutes au plus) : à chaque reconnexion, fournissez un jeton valide, renouvelé si besoin. Une connexion ouverte ne compte pas comme une activité de la session : garder un onglet connecté au hub ne la prolonge pas. Une session fermée (déconnexion, révocation) n’interrompt pas une connexion déjà établie, qui se ferme à l’expiration de son jeton, et la reconnexion est alors refusée.
Messages reçus
| Méthode | Contenu |
|---|---|
ReceiveNotification | une notification : id, type, priority, category, title, body, resourceType, resourceId, resourceUrl, readAt, createdAt |
UpdateUnreadCount | le nombre de notifications non lues de l’utilisateur (entier) |
Les notifications sont aussi consultables par l’API REST (GET /api/v1/notifications) ; elles sont supprimées au bout de 30 jours.
À noter : sur ce canal, les champs type, priority et category sont sérialisés avec les réglages par défaut de SignalR, qui écrivent les énumérations sous forme de nombres, alors que l’API REST les écrit par leur nom. Pour un traitement fiable, servez-vous du message comme d’un signal et relisez les notifications par l’API REST (GET /api/v1/notifications).
Mise à jour : 10 octobre 2026. Signaler une inexactitude