Aller au contenu

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

GET /rest/doctypes

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

GET /rest/doctypes/types

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
{"new_type_id": 4}
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.

Initialiser le formulaire d'administration

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