Dossiers
Récupération des dossiers
Route
Paramètres
Aucun paramètre n'est nécessaire.
Retour
L'ensemble des dossiers du périmètre de l'utilisateur sont retournés :
{
"folders" : [
{
"name" : "Compétences fonctionnelles" ,
"id" : 1 ,
"label" : "Compétences fonctionnelles" ,
"public" : true ,
"user_id" : 21 ,
"parent_id" : null ,
"level" : 0 ,
"countResources" : 0 ,
"pinned" : true ,
"canEdit" : true
},
{
"name" : "Administration municipale" ,
"id" : 4 ,
"label" : "Administration municipale" ,
"public" : true ,
"user_id" : 21 ,
"parent_id" : 1 ,
"level" : 1 ,
"countResources" : 0 ,
"pinned" : false ,
"canEdit" : true
}
]
}
Code Http
Type
Description
Exemple
200
array
Les dossiers ont bien été trouvés
Voir résultat requête juste au dessus
Récupération d'un dossier
Route
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Retour
Exemple de retour :
{
"folder" : {
"id" : 4 ,
"label" : "Administration municipale" ,
"public" : true ,
"user_id" : 21 ,
"parent_id" : 1 ,
"level" : 1 ,
"ownerDisplayName" : "Bernard BLIER" ,
"sharing" : {
"entities" : [
{
"entity_id" : 1 ,
"edition" : false ,
"canDelete" : false ,
"label" : "Ville de Maarch-les-Bains"
},
{
"entity_id" : 2 ,
"edition" : false ,
"canDelete" : false ,
"label" : "Cabinet du Maire"
}
]
},
"pinned" : false
}
}
Code Http
Type
Description
Exemple
200
array
Le dossier a bien été trouvé
Voir résultat requête juste au dessus
400
array
Le paramètre id envoyé n'est pas de type integer
{"errors": "Route id is not an integer"}
400
array
Une erreur s'est produite
{"errors": "Le dossier recherché est introuvable ou est en dehors du périmètre de l'utilisateur connecté"}
Création d'un dossier
Route
Paramètres
Body
Valeur
Type
Obligatoire
Description
label
string
Oui
Nom du dossier
parent_id
integer
Non
Identifiant du dossier parent
Exemple
Enregistrement d'un dossier ayant pour sujet "Un dossier à enregistrer" :
{
"label" : "Un dossier à enregistrer"
}
Retour
Code Http
Type
Description
Exemple
200
array
Le dossier a bien été créé
{ "folder": 40 }
400
array
Le champ label n'est pas de type string
{"errors": "Body label is empty or not a string"}
400
array
Le champ parent_id n'est pas de type integer
{"errors": "Body parent_id is not an integer"}
400
array
Le dossier parent est introuvable ou en dehors de l'utilisateur connecté
{"errors": "Parent Folder not found or out of your perimeter"}
Modification d'un dossier
Route
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Body
Valeur
Type
Obligatoire
Description
label
string
Oui
Nom du dossier
parent_id
integer
Non
Identifiant du dossier parent
Exemple
Modification d'un dossier ayant pour sujet "Un dossier à modifier" :
{
"label" : "Un dossier à modifier"
}
Retour
Code Http
Type
Description
Exemple
200
array
Le dossier a bien été modifié
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": "Query id is empty or not an integer"}
400
array
Le champ label est absent ou n'est pas de type string
{"errors": Body label is empty or not a string"}
400
array
Le champ parent_id n'est pas de type integer
{"errors": Body parent_id is not an integer"}
400
array
Le champ parent_id et le paramètre id ne peuvent pas être de la même valeur
{"errors": Parent_id and id can not be the same"}
400
array
Le champ parent_id n'existe pas ou est un parent de parent_id
{"errors": parent_id does not exist or Id is a parent of parent_id"}
400
array
Le dossier n'a pas été trouvé ou est en dehors du périmètre de l'utilisateur connecté
{"errors": Folder not found or out of your perimeter"}
400
array
Le dossier parent n'a pas été trouvé ou est en dehors de votre périmètre
{"errors": Parent Folder not found or out of your perimeter"}
400
array
Impossible de déplacer ce dossier car au moins un dossier est en dehors du périmètre de l'utilisateur connecté
{"errors": Cannot move folder because at least one folder is out of your perimeter"}
400
array
Impossible de partager/départager le dossier car au moins un dossier est en dehors du périmètre de l'utilisateur connecté
{"errors": Cannot share/unshare folder because at least one folder is out of your perimeter"}
Suppression d'un dossier
Route
DELETE /rest/folders/{id}
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
user_id
integer
Oui
Identifiant de l'utilsateur
Retour
Code Http
Type
Description
Exemple
204
array
Le dossier a bien été supprimé
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": Query id is empty or not an integer"}
500
array
Impossible de supprimer le dossier car au moins un dossier est en dehors du périmètre de l'utilisateur connecté
{"errors": Cannot delete because at least one folder is out of your perimeter"}
Partage du dossier aux entités
Route
PUT /rest/folders/{id}/sharing
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Body
Valeur
Type
Obligatoire
Description
public
boolean
Oui
Confidentialité du dossier
sharing.entities.entity_id
integer
Oui
Identifiant technique de l'entité
sharing.entities.edition
boolean
Oui
Droit de l'entité sur la modification des paramètres du dossier
{
"public" : true ,
"sharing" : {
"entities" : [
{
"entity_id" : 4 ,
"edition" : false
},
{
"entity_id" : 3 ,
"edition" : false
}]
}
}
Retour
Code Http
Type
Description
Exemple
204
array
Les entités ayant accès à ce dossier ont bien été mises à jour
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": Query id is empty or not an integer"}
400
array
Le paramètre public envoyé est absent ou n'est pas de type boolean
{"errors": Body public is empty or not a boolean"}
400
array
Il n'y a pas de champ entities dans l'objet sharing
{"errors": Body sharing/entities does not exists"}
Portée d'un dossier
Route
GET /rest/folders/{id}/filters
Paramètres
L'identifiant du dossier : {id} dans les paramètres de l'url
Retour
Code Http
Type
Description
Exemple
200
array
Le dossier a bien été trouvé
400
array
Le paramètre id n'est pas de type integer
{"errors": "Route id is not an integer"}
400
array
Le dossier est en dehors de la portée de l'utilisateur connecté
{"errors": "Folder out of perimeter"}
Exemple de retour :
{
"entities" : [
{
"entityId" : "COR" ,
"label" : "Correspondants Archive" ,
"count" : 1
},
{
"entityId" : "DGA" ,
"label" : "Direction Générale Adjointe" ,
"count" : 1
}
],
"priorities" : [],
"categories" : [],
"statuses" : [
{
"id" : "EXP_SEDA" ,
"label" : "A archiver" ,
"count" : 1
},
{
"id" : "EVIS" ,
"label" : "A e-viser" ,
"count" : 1
},
],
"entitiesChildren" : [
{
"entityId" : "COR" ,
"label" : "Correspondants Archive" ,
"count" : 1
},
{
"entityId" : "DGA" ,
"label" : "Direction Générale Adjointe" ,
"count" : 4
},
],
"doctypes" : [
{
"id" : 101 ,
"label" : "Abonnements – documentation – archives" ,
"count" : 3
},
{
"id" : 102 ,
"label" : "Convocation" ,
"count" : 1
}
],
"folders" : []
}
Récupération des ressources d'un dossier
Route
GET /rest/folders/{id}/resources
Paramètres
Body
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Retour
{
"resources" : [
{
"resId" : 107 ,
"chrono" : "MAARCH/2021A/11" ,
"barcode" : null ,
"subject" : "salut" ,
"confidentiality" : null ,
"statusLabel" : "A archiver" ,
"statusImage" : "fm-letter-status-acla" ,
"priorityColor" : "#009dc5" ,
"closing_date" : null ,
"countAttachments" : 0 ,
"hasDocument" : true ,
"mailTracking" : true ,
"integrations" : null ,
"retentionFrozen" : false ,
"binding" : null ,
"countNotes" : 76 ,
"folders" : [
{
"id" : 1 ,
"label" : "Compétences fonctionnelles"
}
],
"display" : [],
"allowed" : true
},
{
"resId" : 108 ,
"chrono" : "MAARCH/2021A/12" ,
"barcode" : null ,
"subject" : "fffffff" ,
"confidentiality" : null ,
"statusLabel" : "A e-viser" ,
"statusImage" : "fm-letter-status-aval" ,
"priorityColor" : "#009dc5" ,
"closing_date" : null ,
"countAttachments" : 0 ,
"hasDocument" : true ,
"mailTracking" : false ,
"integrations" : null ,
"retentionFrozen" : false ,
"binding" : null ,
"countNotes" : 1 ,
"folders" : [
{
"id" : 1 ,
"label" : "Compétences fonctionnelles"
}
],
"display" : [],
"allowed" : true
}
],
"countResources" : 2 ,
"allResources" : [
107 ,
108
]
}
Code Http
Type
Description
Exemple
̀200
array
Les ressources ont bien été retournées
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": "Route id is not an integer"}
400
array
Le dossier est en dehors de la portée de l'utilisateur connecté
{"errors": "Folder out of perimeter"}
Ajout de ressources par id
Route
POST /rest/folders/{id}/resources
Paramètres
Body
Valeur
Type
Obligatoire
Description
resources
array
Oui
Ressources à ajouter
Retour
Code Http
Type
Description
Exemple
̀200
array
Les ressources ont bien été ajoutées
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": "Route id is not an integer"}
400
array
Les ressources envoyées sont vides ou ne sont pas de type array
{"errors": "Body resources is empty or not an array"}
400
array
Le dossier est en dehors de la portée de l'utilisateur connecté
{"errors": "Folder out of perimeter"}
400
array
Les ressources sont en dehors du périmètre
{"errors": "Resources out of perimeter"}
Suppression de ressources par id
Route
DELETE /rest/folders/{id}/resources
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Body
Valeur
Type
Obligatoire
Description
resources
array
Oui
Ressources à supprimer
Retour
Code Http
Type
Description
Exemple
̀204
array
Les ressources ont bien été supprimées
400
array
Le paramètre id envoyé est absent ou n'est pas de type integer
{"errors": "Route id is not an integer"}
400
array
Les ressources envoyées sont vides ou ne sont pas de type array
{"errors": "Body resources is empty or not an array"}
400
array
Le dossier est en dehors de la portée de l'utilisateur connecté
{"errors": "Folder out of perimeter"}
400
array
Les ressources sont en dehors du périmètre
{"errors": "Resources out of perimeter"}
Epinglement d'un dossier
Route
POST /rest/folders/{id}/pin
Paramètres
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Retour
Code Http
Type
Description
Exemple
204
array
Le dossier a bien été épinglé
400
array
Le paramètre id ne correspond à aucun dossier ou n'est pas de type integer
{"errors": "Route id not found or is not an integer"}
400
array
Dossier non trouvé ou en dehors du périmètre de l'utilisateur connecté
{"errors": "Folder not found or out of your perimeter"}
400
array
Le dossier est déjà épinglé
{"errors": "Folder is already pinned"}
Récupérer les dossiers épinglés
Route
Retour
Exemple de retour :
{
"folders" : [
{
"name" : "Archives" ,
"id" : 15 ,
"label" : "Archives" ,
"public" : true ,
"user_id" : 21 ,
"parent_id" : 1 ,
"level" : 1 ,
"countResources" : 0
},
{
"name" : "Compétences fonctionnelles" ,
"id" : 1 ,
"label" : "Compétences fonctionnelles" ,
"public" : true ,
"user_id" : 21 ,
"parent_id" : null ,
"level" : 0 ,
"countResources" : 0
}
]
}
Code Http
Type
Description
Exemple
200
array
Les dossiers épinglés sont retournés
Désépinglement d'un dossier
Route
DELETE /rest/folders/{id}/unpin
Paramètres
Body
Valeur
Type
Obligatoire
Description
id
integer
Oui
Identifiant du dossier
Retour
Code Http
Type
Description
Exemple
204
array
Le dossier a bien été désépinglé
400
array
Le paramètre id ne renvoie à aucun dossier ou n'est pas de type integer
{"errors": "Route id not found or is not an integer"}
400
array
Le dossier n'a pas été trouvé ou est en dehors de la portée de l'utilisateur connecté
{"errors": "Folder out of perimeter"}
400
array
Le dossier n'est pas épinglé
{"errors": "Folder is not pinned"}