Courriers suivis¶
Ces routes permettent à l'utilisateur connecté de suivre des courriers, de retirer leur suivi et de consulter la liste ainsi constituée.
La présentation de la liste dépend de la configuration d'affichage des courriers suivis.
Authentification, privilège et périmètre¶
Les quatre routes exigent l'authentification REST et l'autorisation d'accès à la route. Le contrôleur ne vérifie aucun privilège fonctionnel supplémentaire.
Le suivi est propre à l'utilisateur connecté : un utilisateur ne peut ni créer ni supprimer le suivi d'un autre utilisateur. Une authentification absente ou invalide renvoie 401 avec {"errors":"Authentication Failed"}. Une route indisponible pour l'utilisateur renvoie 403 avec {"errors":"Service forbidden"}.
Suivre des courriers¶
Cette route ajoute les courriers à la liste de suivi de l'utilisateur connecté. Un courrier déjà suivi est ignoré.
Route¶
Paramètres¶
Body¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
resources |
array d'integer | Oui | Identifiants des courriers à suivre. |
Tous les courriers transmis doivent appartenir au périmètre de l'utilisateur. Si un seul courrier est hors périmètre, aucun suivi n'est créé pour la requête.
Retour¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Nombre de nouveaux suivis créés dans followed. |
{"followed":2} |
200 |
object | Tous les courriers étaient déjà suivis. | {"followed":0} |
401 |
object | Authentification absente ou invalide. | {"errors":"Authentication Failed"} |
403 |
object | Au moins un courrier est hors du périmètre utilisateur. | {"errors":"Document out of perimeter"} |
403 |
object | Route indisponible pour l'utilisateur authentifié. | {"errors":"Service forbidden"} |
Ne plus suivre des courriers¶
Cette route supprime les suivis appartenant à l'utilisateur connecté. Un identifiant non suivi par cet utilisateur est ignoré.
Route¶
Paramètres¶
Body¶
| Valeur | Type | Obligatoire | Description |
|---|---|---|---|
resources |
array d'integer | Oui | Identifiants des courriers à ne plus suivre. |
Retour¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Nombre de suivis supprimés dans unFollowed. |
{"unFollowed":2} |
200 |
object | Aucun identifiant n'était suivi par l'utilisateur courant. | {"unFollowed":0} |
401 |
object | Authentification absente ou invalide. | {"errors":"Authentication Failed"} |
403 |
object | Route indisponible pour l'utilisateur authentifié. | {"errors":"Service forbidden"} |
Lister les courriers suivis¶
Cette route retourne la liste paginée et filtrée des courriers suivis par l'utilisateur connecté.
Route¶
Paramètres¶
Query string¶
| Valeur | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
offset |
integer | Non | 0 |
Position du premier courrier retourné. Une valeur non numérique est remplacée par la valeur par défaut. |
limit |
integer | Non | 10 |
Nombre maximal de courriers retournés. Une valeur non numérique est remplacée par la valeur par défaut. |
delayed |
string | Non | La valeur true conserve uniquement les courriers dont la date limite de traitement est dépassée. |
|
search |
string | Non | Recherche sur le numéro chrono et le sujet. Une recherche de moins de deux caractères est ignorée. | |
priorities |
string | Non | Identifiants de priorités séparés par des virgules. | |
categories |
string | Non | Identifiants de catégories séparés par des virgules. | |
statuses |
string | Non | Identifiants de statuts séparés par des virgules. | |
entities |
string | Non | Identifiants des entités traitantes séparés par des virgules. | |
entitiesChildren |
string | Non | Identifiants des entités dont les sous-entités sont incluses, séparés par des virgules. | |
doctypes |
string | Non | Identifiants de types de courrier séparés par des virgules. | |
folders |
string | Non | Identifiants de dossiers séparés par des virgules. | |
order |
string | Non | creation_date |
Champ et direction du tri, par exemple creation_date DESC. |
Les champs de tri pris en charge sont dest_user, category_id, creation_date, process_limit_date, entity_label, res_id, alt_identifier, subject, priority, status et type_label. Un champ personnalisé d'indexation peut également être utilisé avec son identifiant technique.
Exemple¶
Périmètre¶
La liste est construite à partir des suivis de l'utilisateur. Un courrier qui a quitté son périmètre peut donc rester présent dans la liste :
- Si l'utilisateur possède le privilège
include_folders_and_followed_resources_perimeter,allowedvauttrue - Sinon,
allowedindique si le courrier appartient encore à son périmètre
Retour¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Liste paginée des courriers suivis. | Voir l'exemple ci-dessous. |
401 |
object | Authentification absente ou invalide. | {"errors":"Authentication Failed"} |
403 |
object | Route indisponible pour l'utilisateur authentifié. | {"errors":"Service forbidden"} |
{
"resources": [
{
"resId": 124,
"chrono": "MAARCH/2026/124",
"subject": "Demande de renseignement",
"statusLabel": "Nouveau courrier pour le service",
"statusImage": "fm-letter-status-new",
"priorityColor": "#009dc5",
"countAttachments": 1,
"hasDocument": true,
"mailTracking": true,
"allowed": true
}
],
"countResources": 1,
"allResources": [124],
"templateColumns": 7
}
Données¶
| Valeur | Type | Description |
|---|---|---|
resources |
array | Courriers de la page courante, enrichis selon la configuration d'affichage. |
resources[].resId |
integer | Identifiant du courrier. |
resources[].chrono |
string ou null | Numéro chrono du courrier. |
resources[].subject |
string ou null | Objet du courrier. |
resources[].statusLabel |
string | Libellé du statut. |
resources[].statusImage |
string | Icône associée au statut. |
resources[].priorityColor |
string ou null | Couleur associée à la priorité. |
resources[].countAttachments |
integer | Nombre de pièces jointes visibles comptabilisées. |
resources[].hasDocument |
boolean | Indique si le courrier possède un document principal. |
resources[].mailTracking |
boolean | Vaut true pour un courrier suivi. |
resources[].allowed |
boolean | Indique si le courrier est accessible selon le périmètre ou le privilège dédié. |
countResources |
integer | Nombre total de courriers suivis correspondant aux filtres, avant pagination. |
allResources |
array d'integer | Identifiants de tous les courriers correspondant aux filtres, avant pagination. |
templateColumns |
integer | Nombre de colonnes principales défini par admin_followed_mail, ou 0 sans configuration exploitable. |
Lister les filtres des courriers suivis¶
Cette route retourne les valeurs de filtre disponibles parmi les courriers suivis. Les paramètres de recherche et de filtre de la route précédente peuvent être transmis pour recalculer les valeurs proposées.
Route¶
Paramètres¶
Query string¶
La route accepte delayed, search, priorities, categories, statuses, entities, entitiesChildren, doctypes et folders, avec les mêmes formats que GET /rest/followedResources.
Pour chaque famille, le calcul applique les autres filtres actifs sans appliquer la sélection de la famille elle-même. Une famille contenant moins de deux valeurs distinctes est retournée sous la forme d'un tableau vide.
Retour¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Valeurs de filtre disponibles et nombre de courriers associés. | Voir l'exemple ci-dessous. |
200 |
object | Aucun courrier suivi : toutes les familles sont des tableaux vides. | Voir l'exemple ci-dessous. |
401 |
object | Authentification absente ou invalide. | {"errors":"Authentication Failed"} |
403 |
object | Route indisponible pour l'utilisateur authentifié. | {"errors":"Service forbidden"} |
{
"entities": [],
"priorities": [],
"categories": [],
"statuses": [
{
"id": "NEW",
"label": "Nouveau courrier pour le service",
"count": 2
},
{
"id": "A_TRA",
"label": "PJ à traiter",
"count": 1
}
],
"entitiesChildren": [],
"doctypes": [],
"folders": []
}
Données¶
| Valeur | Type | Description |
|---|---|---|
entities |
array | Entités traitantes disponibles. Chaque élément contient entityId, label et count. |
priorities |
array | Priorités disponibles. Chaque élément contient id, label et count. |
categories |
array | Catégories disponibles. Chaque élément contient id, label et count. |
statuses |
array | Statuts disponibles. Chaque élément contient id, label et count. |
entitiesChildren |
array | Entités avec un compteur incluant leurs sous-entités. |
doctypes |
array | Types de courrier disponibles. Chaque élément contient id, label et count. |
folders |
array | Dossiers visibles disponibles. Chaque élément contient id, label et count. |