Types de courrier
Toutes les routes exigent une authentification. Les opérations d'écriture sont des contrats d'administration destinés aux intégrateurs et nécessitent le privilège admin_architecture .
Arborescence complète des typologies de courrier
Route
Retour
Code Http
Type
Description
Exemple
200
array
Informations liées aux types de courrier
Voir l'exemple ci-dessous
Données
Valeur
Type
Description
structure
array
Arborescence des types de courriers
Données structure
Valeur
Type
Description
doctypes_first_level_id
int
Identifiant du premier niveau
doctypes_first_level_label
string
Label du premier niveau
doctypes_second_level_id
int
Identifiant du second niveau
doctypes_second_level_label
string
Label du second niveau
type_id
int
Identifiant du type de courrier
description
string
description du type de courrier
Exemple
{
"structure" : [
{
"doctypes_first_level_id" : 1 ,
"doctypes_first_level_label" : "COURRIERS" ,
"css_style" : "#000000" ,
"enabled" : "Y" ,
"id" : "firstlevel_1" ,
"text" : "COURRIERS" ,
"parent" : "#" ,
"state" : {
"opened" : true
}
},
{
"doctypes_second_level_id" : 2 ,
"doctypes_second_level_label" : "02. Cabinet" ,
"doctypes_first_level_id" : 1 ,
"css_style" : "#000000" ,
"enabled" : "Y" ,
"id" : "secondlevel_2" ,
"text" : "02. Cabinet" ,
"parent" : "firstlevel_1"
},
{
"coll_id" : "letterbox_coll" ,
"type_id" : 101 ,
"description" : "Abonnements – documentation – archives" ,
"enabled" : "Y" ,
"doctypes_first_level_id" : 1 ,
"doctypes_second_level_id" : 1 ,
"retention_final_disposition" : "destruction" ,
"retention_rule" : "compta_3_03" ,
"action_current_use" : "transfer" ,
"duration_current_use" : 12 ,
"id" : 101 ,
"text" : "Abonnements – documentation – archives" ,
"parent" : "secondlevel_1" ,
"icon" : "fa fa-copy"
},
{
"type_id" : 102 ,
"description" : "<autre-libellé-type>" ,
"parent" : "secondlevel_1"
}
]
}
Liste des types de courrier
Route
Retour
Code Http
Type
Description
Exemple
200
array
Informations liées aux types de courrier
Voir l'exemple ci-dessous
Données
Valeur
Type
Description
doctypes
array
Arborescence des types de courriers
Données doctypes
Valeur
Type
Description
type_id
int
Identifiant du type de courrier
description
string
Label du type de courrier
doctypes_first_level_id
int
Identifiant du premier niveau auquel est rattaché le type de courrier
doctypes_second_level_id
int
Identifiant du second niveau auquel est rattaché le type de courrier
retention_final_disposition
string
Sort final des courriers ayant ce type de document
duration_current_use
string
Durée d'utilité courante
action_current_use
string
Action finale
retention_rule
string
Règle de conservation
Exemple
{
"doctypes" : [
{
"type_id" : 1792 ,
"description" : "sdf" ,
"enabled" : "Y" ,
"doctypes_first_level_id" : 141 ,
"doctypes_second_level_id" : 124 ,
"retention_final_disposition" : "conservation" ,
"retention_rule" : "test" ,
"duration_current_use" : 1 ,
"process_delay" : 1 ,
"delay1" : 1 ,
"delay2" : 1 ,
"process_mode" : "NORMAL" ,
"action_current_use" : "destruction"
},
{
"type_id" : 4 ,
"description" : "<autre-libellé-type>" ,
"enabled" : "Y"
}
]
}
Création d'un type de courrier
Route
POST /rest/doctypes/types
Paramètres
Body
Valeur
Type
Obligatoire
valeur par défaut
Description
description
string
Oui
Description
doctypes_second_level_id
int
Oui
Sous-chemise
process_delay
int
Oui
Délai de traitement
delay1
int
Oui
Delai relance 1
delay2
int
Oui
Delai relance 2
process_mode
string
Oui
Mode de traitement
duration_current_use
int
Non
Durée d'utilité courante
action_current_use
string
Non
Action finale
retention_final_disposition
string
Non
Sort final des courriers ayant ce type de document
retention_rule
string
Non
Règle de conservation
Exemple
{
"description" : "Convocation" ,
"doctypes_second_level_id" : 1 ,
"process_delay" : 30 ,
"delay1" : 2 ,
"delay2" : 10 ,
"process_mode" : "NORMAL"
}
Retour
Code Http
Type
Description
Exemple
200
object
Le type de courrier a bien été créé
{"doctypeId": 21, "doctypeTree": []}
403
object
Droits insuffisants pour cette action
{"errors": "Service forbidden"}
500
object
Erreur de validation
{"errors": ["Invalid description"]}
Modification d'un type de courrier
Route
PUT /rest/doctypes/types/{id}
Le paramètre id correspond à l'identifiant technique (doctypes.type_id ) du type de courrier.
Paramètres
Body
Valeur
Type
Obligatoire
valeur par défaut
Description
description
string
Oui
Description
doctypes_second_level_id
int
Oui
Sous-chemise
process_delay
int
Oui
Délai de traitement
delay1
int
Oui
Delai relance 1
delay2
int
Oui
Delai relance 2
process_mode
string
Oui
Mode de traitement
duration_current_use
int
Non
Durée d'utilité courante
action_current_use
string
Non
Action finale
retention_final_disposition
string
Non
Sort final des courriers ayant ce type de document
retention_rule
string
Non
Règle de conservation
Exemple
{
"description" : "Convocation" ,
"doctypes_second_level_id" : 1 ,
"process_delay" : 30 ,
"delay1" : 2 ,
"delay2" : 10 ,
"process_mode" : "NORMAL"
}
Retour
Code Http
Type
Description
Exemple
200
object
Le type de courrier a bien été modifié
Voir le body et l'arborescence retournés
403
object
Droits insuffisants pour cette action
{"errors": "Service forbidden"}
500
object
Erreur de validation
{"errors": ["Invalid description"]}
Suppression d'un type de courrier
Route
DELETE /rest/doctypes/types/{id}
Le paramètre id correspond à l'identifiant technique (doctypes.type_id ) du type de courrier.
Retour
Code Http
Type
Description
Exemple
200
object
deleted indique une suppression immédiate ou le nombre de courriers à rediriger
{"deleted": 0, "doctypeTree": [], "doctypes": null}
403
object
Droits insuffisants pour cette action
{"errors": "Service forbidden"}
500
object
Identifiant invalide
{"errors": "Id is not a numeric"}
Création d'une chemise
Route
POST /rest/doctypes/firstLevel
Paramètres
Body
Valeur
Type
Obligatoire
valeur par défaut
Description
doctypes_first_level_label
string
Oui
Nom de la chemise
enabled
boolean
Non
true
Indique si la chemise est activée
Exemple
{
"doctypes_first_level_label" : "Courriers"
}
Retour
Code Http
Type
Description
Exemple
200
object
La chemise a bien été créée
{"firstLevelId": 21, "doctypeTree": []}
403
object
Droits insuffisants pour cette action
{"errors": "Service forbidden"}
500
object
Erreur de validation
{"errors": ["Invalid doctypes_first_level_label"]}
Création d'une sous-chemise
Route
POST /rest/doctypes/secondLevel
Paramètres
Body
Valeur
Type
Obligatoire
valeur par défaut
Description
doctypes_second_level_label
string
Oui
Nom de la sous-chemise
doctypes_first_level_id
int
Oui
Identifiant technique de la chemise
enabled
boolean
Non
true
Indique si la sous-chemise est activée
Exemple
{
"doctypes_second_level_label" : "Correspondances" ,
"doctypes_first_level_id" : 21
}
Retour
Code Http
Type
Description
Exemple
200
object
La sous-chemise a bien été créée
{"secondLevelId": 31, "doctypeTree": []}
403
object
Droits insuffisants pour cette action
{"errors": "Service forbidden"}
500
object
Erreur de validation
{"errors": ["Invalid doctypes_second_level_label"]}
Consultation d'une chemise
GET /rest/doctypes/firstLevel/{id}
{ "firstLevel" : { "doctypes_first_level_id" : 1 , "doctypes_first_level_label" : "<libellé-chemise>" , "enabled" : true , "hasChildren" : false }}
Le paramètre URL id est l'identifiant integer de la chemise. La réponse 200 contient firstLevel, avec notamment doctypes_first_level_id, doctypes_first_level_label, enabled (boolean) et hasChildren (boolean). Un identifiant invalide renvoie 500 avec le message wrong format for id.
Modification d'une chemise
PUT /rest/doctypes/firstLevel/{id}
{ "doctypes_first_level_label" : "<nouveau-libellé>" , "enabled" : true }
Le privilège admin_architecture est obligatoire. Le body reprend doctypes_first_level_label (string de 1 à 255 caractères) et, facultativement, enabled (boolean). La réponse 200 contient firstLevelId et doctypeTree.
Code HTTP
Type
Description ou message confirmé
200
object
Chemise et arborescence mises à jour
403
object
Service forbidden
500
object
Tableau contenant notamment Id is not a numeric, Id <id> does not exists ou Invalid doctypes_first_level_label
Désactivation d'une chemise
DELETE /rest/doctypes/firstLevel/{id}
Le privilège admin_architecture est obligatoire. Cette suppression est logique et désactive aussi les sous-chemises et types rattachés. La réponse 200 contient firstLevelDeleted et doctypeTree. Un identifiant invalide renvoie 500 avec Id is not a numeric et un privilège absent renvoie 403 avec Service forbidden.
Consultation d'une sous-chemise
GET /rest/doctypes/secondLevel/{id}
{ "secondLevel" : { "doctypes_second_level_id" : 2 , "doctypes_second_level_label" : "<libellé-sous-chemise>" , "enabled" : true , "hasChildren" : false }, "firstLevel" : []}
Le paramètre URL id est l'identifiant integer de la sous-chemise. La réponse 200 contient secondLevel, avec enabled et hasChildren, ainsi que la liste firstLevel. Un identifiant invalide renvoie 500 avec wrong format for id.
Modification d'une sous-chemise
PUT /rest/doctypes/secondLevel/{id}
{ "doctypes_second_level_label" : "<nouveau-libellé>" , "doctypes_first_level_id" : 1 , "enabled" : true }
Le privilège admin_architecture est obligatoire.
Champ JSON
Type
Obligatoire
Description
doctypes_second_level_label
string
Oui
Libellé de 1 à 255 caractères
doctypes_first_level_id
integer
Oui
Chemise parente
enabled
boolean
Non
État de la sous-chemise
La réponse 200 contient secondLevelId et doctypeTree. Un privilège absent renvoie 403 avec Service forbidden, les erreurs de validation sont retournées avec le statut 500.
Désactivation d'une sous-chemise
DELETE /rest/doctypes/secondLevel/{id}
Le privilège admin_architecture est obligatoire. Cette suppression est logique et désactive aussi les types rattachés. La réponse 200 contient secondLevelDeleted et doctypeTree. Un identifiant invalide renvoie 500 avec Id is not a numeric.
Consultation d'un type de courrier
GET /rest/doctypes/types/{id}
{ "doctype" : { "type_id" : 3 , "description" : "<libellé-type>" , "enabled" : true }, "secondLevel" : [], "models" : []}
Le paramètre URL id est l'identifiant integer du type. La réponse 200 contient doctype, la liste secondLevel et les modèles models ciblant les typologies. Un identifiant invalide renvoie 500 avec wrong format for id.
Redirection puis suppression d'un type de courrier
PUT /rest/doctypes/types/{id}/redirect
Le privilège admin_architecture est obligatoire. Tous les courriers du type source id sont rattachés au type cible avant suppression du type source.
Élément
Type
Obligatoire
Description
URL id
integer
Oui
Identifiant du type source
Body new_type_id
integer
Oui
Type cible existant et différent du type source
Code HTTP
Type
Description ou message confirmé
200
object
doctypeTree mis à jour
403
object
Service forbidden
500
object
Id is not a numeric
500
object
wrong format for new_type_id
500
object
new_type_id does not exists
500
object
new_type_id is the same as type_id
Initialisation publique de l'administration
Cette route fait partie de l'API publique. Elle nécessite une authentification et prépare le formulaire d'administration des typologies.
Méthode et route
Authentification ou privilège
Consommateur connu
Motif
GET /rest/administration/doctypes/new
Utilisateur authentifié, autorisation de route
Formulaire d'administration des typologies
Assemble firstLevel, secondLevel et indexes pour initialiser l'écran
Cette route est aussi recensée dans l'inventaire du domaine .
GET /rest/administration/doctypes/new
Aucun privilège métier supplémentaire n'est contrôlé dans cette méthode, l'autorisation de route et l'authentification restent applicables.
Code HTTP
Type
Description
200
object
Listes nécessaires à l'initialisation du formulaire
Donnée
Type
Description
firstLevel
array
Chemises actives, avec doctypes_first_level_id et doctypes_first_level_label
secondLevel
array
Sous-chemises actives, avec doctypes_second_level_id et doctypes_second_level_label
indexes
array
Tableau actuellement retourné vide
1 septembre 2026
6 mars 2026