Connecteur appelé par le module notifications. Il devra permettre et donc proposer des routes pour les actions suivantes :
Enregistrement du token FCM de l’utilisateur
Paramètres d'appels
URL en méthode POST
<host>/<uri>/register
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, token: String, platform: String, ip: String }
- username : Login de l'utilisateur (obligatoire)
- token : Token FCM retourné par Firebase (obligatoire)
- platform : Plateforme du périphérique (iOS, Android, Web, AmazonFire) (obligatoire)
- ip : IP depuis laquelle le périphérique s'enregistre
Format de retour
Format attendu
HTTP 201
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Suppression du token FCM de l’utilisateur (lors du logout)
Paramètres d'appels
URL en méthode POST
<host>/<uri>/unregister
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, token: String }
- username : Login de l'utilisateur (obligatoire)
- token : Token FCM retourné par Firebase (obligatoire)
Format de retour
Format attendu
HTTP 200
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Récupération des notifications de l’utilisateur
Paramètres d'appels
URL en méthode GET
<host>/<uri>/notifications/<username> <host>/<uri>/notifications/<username>?offset=0&length=10
- host : adresse du serveur
- uri : chemin éventuel vers le service
- username : Login de l'utilisateur (obligatoire)
- offset : offset de la prochaine notification à récupérer. Les notifications seront triées de la plus récente à la plus ancienne.
- length : nombre de notifications à récupérer à partir de l’offset
Par défaut, si les paramètres offset et length ne sont pas renseignés, l’API retournera les 20 notifications les plus récentes.
Format de retour
Format attendu
HTTP 200
{ id: String, // id de la notif en base author: String, // auteur de la notif (Nom prénom). Default = '@system' channel: String, // canal de diffusion title: String, // titre de la notification message: String, // message de la notification state: String, // état de la notification (READ, UNREAD) url: String, // lien de la page externe vers laquelle rediriger le user creationDate: Datetime, // date de la notification }
- id : Id de la notification en base
- author : Auteur de la notification (Nom prénom). Par défaut @system
- channel : Canal de diffusion
- title : Titre de la notification
- message : Message de la notification
- state : État de la notification (READ, UNREAD)
- url : Lien vers une page externe
- creationDate : Date d'emission de la notification
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Marquer une ou plusieurs notifications comme lues
Paramètres d'appels
URL en méthode POST
<host>/<uri>/notifications/read
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, notificationIds: [String] }
- username : Login de l'utilisateur (obligatoire)
- notificationId : tableau des Id de notification à passer comme "lues"
Format de retour
Format attendu
HTTP 200
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Marquer une ou plusieurs notifications comme non lues (pas utilisée)
Paramètres d'appels
URL en méthode POST
<host>/<uri>/notifications/unread
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, notificationId: [String] }
- username : Login de l'utilisateur (obligatoire)
- notificationId : tableau des Id de notification à passer comme "lues"
Format de retour
Format attendu
HTTP 200
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Récupérer la liste des canaux pour lesquels l’utilisateur a désactivé les notifications
Paramètres d'appels
URL en méthode GET
<host>/<uri>/channels/{username}
- host : adresse du serveur
- uri : chemin éventuel vers le service
- username : Login de l'utilisateur (obligatoire)
Format de retour
Format attendu
HTTP 200
{ channels: [String] }
- channels : Liste des canaux pour lesquels l'utilisateur s'est désabonné
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Gérer les abonnements de l’utilisateur au canaux
Paramètres d'appels
URL en méthode PATCH
<host>/<uri>/channels
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, channels: [String], }
- username : Login de l'utilisateur (obligatoire)
- channels : Liste des canaux pour lesquels l'utilisateur s'est désabonné
Format de retour
Format attendu
HTTP 200
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur
Supprimer une notification
Paramètres d'appels
URL en méthode DELETE
<host>/<uri>/notifications
- host : adresse du serveur
- uri : chemin éventuel vers le service
Body de la requête :
{ username: String, notificationId: String }
- username : Login de l'utilisateur (obligatoire)
- notificationId : Id de la notification à supprimer (obligatoire)
Format de retour
Format attendu
HTTP 200
Cas d'erreur
HTTP 4xx ou 5xx : En cas de problème ou erreur