Statuts
Les statuts constituent un référentiel global des courriers. Toutes les routes sont authentifiées. La liste est accessible sans privilège fonctionnel supplémentaire, la lecture d’administration et les mutations exigent admin_status .
Authentification, privilège et périmètre
Toutes les actions exigent une authentification et portent sur le référentiel global de l’instance. GET /rest/statuses et GET /rest/autocomplete/statuses n’ajoutent aucun contrôle de privilège dans leur api. Les autres actions décrites dans cette page exigent admin_status .
Structure d’un statut
Valeur
Type
Description
identifier
integer
Identifiant technique généré en base
id
string
Identifiant fonctionnel, de 1 à 10 caractères parmi lettres, chiffres, _, . et -
label_status
string
Libellé, de 1 à 50 caractères
is_system
string
Y ou N, une création force N
img_filename
string
Identifiant de l’icône, de 1 à 255 caractères
maarch_module
string
Module, 255 caractères au maximum
can_be_searched
string
Y ou N
can_be_modified
string
Y ou N
Lister les statuts
Route
Retour
Code HTTP
Type
Description
Exemple
200
object
Statuts triés par libellé
{"statuses":[{"identifier":1,"id":"NEW","label_status":"Nouveau","is_system":"Y","img_filename":"fm-letter","maarch_module":"apps","can_be_searched":"Y","can_be_modified":"Y"}]}
Lire un statut pour l’administration
Route
GET /rest/statuses/{identifier}
Paramètres d’URL
Valeur
Type
Obligatoire
Description
identifier
integer
Oui
Identifiant technique
Retour
Code HTTP
Type
Description
Exemple
200
object
Statut et catalogue d’icônes
{"status":[{"identifier":1,"id":"NEW","label_status":"Nouveau"}],"statusImages":["fm-letter"]}
404
object
Identifiant absent
{"errors":"identifier not found"}
500
object
Identifiant non numérique
{"errors":"identifier not valid"}
403
object
Privilège absent
{"errors":"Service forbidden"}
Créer un statut
Route
Body
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant fonctionnel unique
label_status
string
Oui
Libellé
img_filename
string
Oui
Identifiant de l’icône
maarch_module
string
Non
Module, le modèle peut appliquer sa valeur par défaut
can_be_searched
mixed
Non
Convertie en Y si non vide, sinon N
can_be_modified
mixed
Non
Convertie en Y si non vide, sinon N
{
"id" : "EXEMPLE" ,
"label_status" : "Statut d'exemple" ,
"img_filename" : "fm-letter" ,
"can_be_searched" : true ,
"can_be_modified" : false
}
Retour
Code HTTP
Type
Description
Exemple
200
object
Statut créé
{"status":{"identifier":12,"id":"EXEMPLE","label_status":"Statut d'exemple","is_system":"N","img_filename":"fm-letter","can_be_searched":"Y","can_be_modified":"N"}}
500
object
Erreurs de validation
{"errors":["Invalid label_status value"]}
403
object
Privilège absent
{"errors":"Service forbidden"}
Modifier un statut
Route
PUT /rest/statuses/{identifier}
Paramètres d’URL
Valeur
Type
Obligatoire
Description
identifier
integer
Oui
Identifiant technique
Body
Le body reprend les propriétés de création. L'api force is_system à N dans les données transmises au modèle.
{
"id" : "EXEMPLE" ,
"label_status" : "Statut modifié" ,
"img_filename" : "fm-letter" ,
"can_be_searched" : true ,
"can_be_modified" : false
}
Retour
Code HTTP
Type
Description
Exemple
200
object
Statut modifié
{"status":{"identifier":12,"id":"EXEMPLE","label_status":"Statut modifié"}}
500
object
Statut absent ou données invalides
{"errors":["12 n'existe pas"]}
403
object
Privilège absent
{"errors":"Service forbidden"}
Supprimer un statut
Route
DELETE /rest/statuses/{identifier}
Paramètres d’URL
Valeur
Type
Obligatoire
Description
identifier
integer
Oui
Identifiant technique existant
Retour
Code HTTP
Type
Description
Exemple
200
object
Statut supprimé et référentiel restant
{"statuses":[]}
500
object
Identifiant invalide ou absent
{"errors":"identifier not valid"}
403
object
Privilège absent
{"errors":"Service forbidden"}
Lire un statut par son identifiant fonctionnel
Route
Paramètres d'URL
Valeur
Type
Obligatoire
Description
id
string
Oui
Identifiant fonctionnel du statut, par exemple NEW
Authentification, privilège et périmètre
L'authentification et le privilège admin_status sont obligatoires. La recherche porte sur le référentiel global.
Retour
Code HTTP
Type
Description
Exemple
200
object
Statut correspondant
{"status":{"identifier":1,"id":"NEW","label_status":"Nouveau","img_filename":"fm-letter"}}
404
object
Identifiant fonctionnel absent
{"errors":"id not found"}
403
object
Privilège absent
{"errors":"Service forbidden"}
Initialiser l'écran de création d'un statut
Route privée d'interface
Cette route fournit les icônes au formulaire de création de l'interface d'administration.
Route
GET /rest/administration/statuses/new
Authentification, privilège et périmètre
L'authentification et le privilège admin_status sont obligatoires. Aucun paramètre ni body n'est attendu.
Retour
Code HTTP
Type
Description
Exemple
200
object
Identifiants des icônes disponibles
{"statusImages":["fm-letter"]}
403
object
Privilège absent
{"errors":"Service forbidden"}
Lister les statuts pour l'autocomplétion
Route privée d'interface
Cette représentation est propre aux composants d'autocomplétion du frontend.
Route
GET /rest/autocomplete/statuses
Authentification, privilège et périmètre
L'authentification REST est obligatoire. L'api n'ajoute pas de contrôle de privilège ni de filtre par entité.
Retour
Code HTTP
Type
Description
Exemple
200
array
Statuts au format d'autocomplétion
[{"type":"status","id":"NEW","idToDisplay":"Nouveau","otherInfo":"fm-letter"}]
Données
Valeur
Type
Description
type
string
Valeur constante status
id
string
Identifiant fonctionnel du statut
idToDisplay
string
Libellé affiché
otherInfo
string
Identifiant de l'icône
1 septembre 2026
7 août 2026