Aller au contenu

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

GET /rest/statuses

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

POST /rest/statuses

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

GET /rest/status/{id}

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