Resources
Création d'un courrier
Route
POST /rest/resources
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
modelId |
integer |
Oui |
Identifiant du modèle d'indexation (Voir l'administration des modèles) |
doctype |
integer |
Non |
Identifiant du type du courrier (Voir l'administration des typologies) |
subject |
string |
Non |
Sujet du courrier |
chrono |
boolean |
Non |
Si true, un numéro chrono sera généré (false par défaut) |
typist |
integer |
Non |
Identifiant du rédacteur (Voir l'administration des utilisateurs) |
status |
string |
Oui |
Statut du courrier |
destination |
integer |
Non |
Identifiant de l'entité traitante du courrier (Voir l'administration des entités) |
diffusionList |
array |
Non |
Liste de diffusion du courrier : [{id: 19, mode: "dest", type: "user"}, {id: 7, mode: "cc", type: "entity"},…] |
initiator |
integer |
Non |
Identifiant de l'entité initiatrice du courrier (Voir l'administration des entités) |
confidentiality |
boolean |
Non |
Si true, le courrier sera confidentiel (false par défaut) |
documentDate |
date |
Non |
Date du courrier |
arrivalDate |
date |
Non |
Date d'arrivée du courrier |
departureDate |
date |
Non |
Date de départ du courrier |
processLimitDate |
date |
Non |
Date limite de traitement du courrier |
priority |
string |
Non |
Identifiant de la priorité (Voir l'administration des priorités) |
barcode |
string |
Non |
Code barre du courrier |
encodedFile |
base64 |
Non |
Fichier encodé en base64 |
format |
string |
Non |
Format du fichier transmis (Obligatoire si un fichier est transmis) |
externalId |
array |
Non |
Identifiants externes |
customFields |
array |
Non |
Champs personalisés |
senders |
array |
Non |
Expéditeur(s) (peut être un contact, un utilisateur ou une entité) |
recipients |
array |
Non |
Destinataires(s) (peut être un contact, un utilisateur ou une entité) |
folders |
array |
Non |
Identifiants des dossiers dans lesquels le courrier sera visible |
tags |
array |
Non |
Identifiants des mot-clés qui seront attachés au courrier |
Exemple
Enregistrement d'un courrier ayant pour sujet "Un courrier à enregistrer" :
{
"modelId" : 1,
"doctype" : 102,
"subject" : "Un courrier à enregistrer",
"chrono" : true,
"typist" : 19,
"status" : "COU",
"destination" : 21,
"initiator" : 13,
"priority" : "poiuytre1357nbvc",
"documentDate" : "2020-01-01 17:18:47",
"format" : "PDF",
"encodedFile": "JVBERi0xLjQgLi4u",
"externalId" : {"companyId" : "123456789"},
"customFields" : {"2" : "ma valeur custom"},
"senders" : [{"id" : 10, "type" : "contact"}],
"recipients" : [{"id" : 32, "type" : "user"}, {"id" : 17, "type" : "entity"}],
"folders" : [47, 56],
"tags" : [2, 98, 20]
}
Dans le cas où vous utilisez MaarchCapture, un exemple de paramétrage exploitant ce WS est disponible ici : https://docs.maarch.org/gitbook/html/MaarchCapture
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Le courrier a bien été créé |
['resId' => 123] |
400 |
array |
Un paramètre obligatoire est manquant |
['errors' => 'Data is not set or empty'] |
500 |
array |
Une erreur s'est produite |
['errors' => '[ResController create] ...'] |
Récupération des courriers
Route
POST /rest/res/list
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
select |
string |
Oui |
Partie select de la clause SQL. N'importes quelles colonnes de la vue res_view_letterbox peuvent être renseignées |
clause |
string |
Oui |
Partie where de la clause SQL. N'importes quelles colonnes de la vue res_view_letterbox peuvent être renseignées |
withFile |
boolean |
Non |
Indique si l’on souhaite récupérer les fichiers encodés en base64. Si true, la valeur fileBase64Content sera ajoutée dans le retour |
orderBy |
array |
Non |
Partie « order by » de la clause SQL |
limit |
integer |
Non |
Nombre maximum de résultats que l’on souhaite obtenir |
Exemple
Récupération de l'identifiant GED, type de courrier et service traitant des courriers au statut 'COU', trié par ordre de l'identifiant GED décroissant.
Les fichiers seront retournés. 100 résultats au maximum seront retournés :
{
"select" : "res_id, type_label, entity_label",
"clause" : "status='COU'",
"withFile" : true,
"orderBy" : ["res_id desc"],
"limit" : 100
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Le courrier a bien été créé |
* Voir l'exemple de retour ci-dessous |
400 |
array |
Un paramètre obligatoire est manquant ou dans le mauvais format |
['errors' => 'Bad Request: select is not valid'] |
Exemple de retour :
{
"resources": [
{
"res_id": 234,
"type_label": "Abonnements – documentation – archives",
"entity_label": "CAB:Cabinet du Maire",
"fileBase64Content": "JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXYOwyER"
},
{
"res_id": 233,
"type_label": "Abonnements – documentation – archives",
"entity_label": "DGSDSGCOU:Service Courrier",
"fileBase64Content": "JVBERi0xLjUNJeLjz9MNCjYgMCBvYmoNPDwvTGVPRg0K"
}
],
"count": 2
}
Modification du statut des courriers
Route
PUT /rest/res/resource/status
Paramètres
Body
Valeur |
Type |
Obligatoire |
Description |
status |
string |
Oui |
Identifiant du statut cible. Visible dans la table status.id |
historyMessage |
string |
Non |
Message renseigné dans l'historique des messages, justifiant le changement de statut |
resId |
array |
Oui (si chrono vide) |
Tableau contenant les identifiants uniques du courrier dans MaarchCourrier (res_letterbox.res_id) |
chrono |
array |
Oui (si resId vide) |
Tableau contenant les identifiants uniques du courrier dans MaarchCourrier (res_letterbox.alt_identifier) |
Exemple
Modification du statut du courrier 1671, avec un message dans l'historique :
{
"status" : "COU",
"historyMessage" : "On change tout !",
"resId" : [1671]
}
Retour
Code Http |
Type |
Description |
Exemple |
200 |
array |
Le statut a bien été modifié |
['success' => 'success'] |
400 |
array |
Un paramètre obligatoire est manquant ou dans le mauvais format |
['errors' => 'status not found'] |
403 |
array |
Le document ne fait pas partie du périmètre |
['errors' => 'Document out of perimeter'] |