Administration¶
Cette section décrit les contrats REST utilisés pour administrer les référentiels techniques de Maarch Courrier. Elle inclut les contrats destinés aux intégrateurs ainsi que, lorsqu'elles sont utiles pour comprendre le périmètre technique, des routes privées d'interface, d'installation ou de callback. Le niveau d'exposition est indiqué pour chaque route concernée.
Les conventions générales d’URL, d’authentification et de disponibilité sont présentées dans la description des webservices.
Références disponibles¶
| Ressource | Contenu |
|---|---|
| Configurations | Lecture et modification des configurations protégées par un privilège |
| Filigrane | Configuration des filigranes des courriers, pièces jointes et signatures |
| SEDA | Configuration de l'export vers Maarch RM ou un SAE externe |
| Paramètres | Paramètres généraux stockés en base |
| Docservers | Zones de stockage, types de docservers et initialisation de leur arborescence |
| Types de pièces jointes | Référentiel des types de pièces jointes |
| Champs personnalisés | Référentiel des champs personnalisés des courriers |
| Priorités | Référentiel et ordre des priorités |
| Statuts | Référentiel des statuts et données d'initialisation de l'interface |
| Notifications | Définitions, planification technique et callback Maileva des notifications |
| Historiques | Historique général et historique des traitements par lots |
Niveaux d'exposition¶
| Niveau | Signification |
|---|---|
| Contrat intégrateur | Route d'administration utilisable par un intégrateur ou un administrateur technique, sous réserve des privilèges indiqués |
| Route privée d'interface | Route consommée par le frontend Maarch Courrier, sans garantie de compatibilité pour un consommateur externe |
| Route technique | Route qui agit sur le système d'exploitation, un script ou un callback, elle ne constitue pas une API métier publique |
| Route d'installation | Route utilisable pendant l'initialisation d'une instance, elle n'est pas destinée à l'exploitation courante |
Contrôle d’accès commun¶
Le middleware REST attend un en-tête Authorization. Une authentification absente ou invalide renvoie :
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
401 |
object | Échec de l’authentification | {"errors":"Authentication Failed"} |
403 |
object | Route ou privilège indisponible pour l’utilisateur authentifié | {"errors":"Service forbidden"} |
Les valeurs attendues renvoient à la correspondance complète des privilèges depuis chaque page. Les routes privées et techniques restent documentées pour référence, mais ne doivent pas être considérées comme des contrats publics supportés.
Les routes d'installation peuvent être accessibles sans authentification tant que l'installation n'est pas terminée. Le callback Maileva utilise son propre jeton JWT et n'attend pas l'en-tête Authorization habituel.
Compter les objets administrés¶
Route privée d'interface
Cette route alimente le tableau de bord d'administration. Elle est documentée sans garantie de compatibilité pour un consommateur externe.
Route¶
Authentification, privilège et périmètre¶
L'authentification REST est obligatoire. La réponse est construite selon les privilèges de l'utilisateur :
| Donnée | Privilège | Périmètre |
|---|---|---|
users |
admin_users |
Pour un utilisateur non root, utilisateurs de ses entités et utilisateurs sans entité pour root, tous les utilisateurs non supprimés |
groups |
admin_groups |
Tous les groupes de l'instance |
entities |
manage_entities |
Entités actives non orphelines |
Une propriété est omise lorsque l'utilisateur ne possède pas le privilège correspondant.
Retour¶
| Code HTTP | Type | Description | Exemple |
|---|---|---|---|
200 |
object | Compteurs autorisés pour l'utilisateur | {"count":{"users":12,"groups":3,"entities":5}} |
401 |
object | Authentification absente ou invalide | {"errors":"Authentication Failed"} |
Données sensibles¶
Les contrats de configuration et de docservers peuvent exposer des secrets, des chemins de stockage ou des informations d’infrastructure. Ils doivent être appelés uniquement depuis un canal HTTPS et avec un compte technique limité aux privilèges nécessaires. Les exemples de cette section utilisent exclusivement des valeurs fictives.