POST /rest/resources
Valeur | Type | Obligatoire | Description |
---|---|---|---|
status | string | Oui | Statut du courrier |
format | string | Oui | Format du fichier transmit |
encodedFile | base64 | Oui | Fichier encodé en base64 |
type_id | int | Oui | Type du courrier (type_id lié à la table "doctypes") |
category_id | string | Oui | Catégorie du courrier (incoming, outgoing...) |
chrono | boolean | Non | Si true, un numéro chrono sera généré (false par défaut) |
externalId | array | Non | Identifiants externes |
A ces champs obligatoires peuvent s'ajouter les différentes colonnes des tables res_letterbox et mlb_coll_ext visibles ici.
Enregistrement d'un courrier entrant d'une priorité normale à destination du service "Pôle jeunesse et sport (PJS)" ayant pour sujet "Un courrier à enregistrer" :
// JSON
{
"status" : "COU",
"format" : "PDF",
"encodedFile": "JVBERi0xLjQgLi4u",
"type_id" : 102,
"category_id" : "incoming",
"subject" : "Un courrier à enregistrer",
"nature_id" : "simple_mail",
"destination" : "PJS",
"priority" : 2,
"externalId" : {"companyId" : "123456789"}
}
Depuis Maarch Capture cela donnerait le paramétrage :
<process name="MaarchRestWSProcessFromScan">
<loop xpath="/Batch/Documents/Document">
<call name="/resources" method="POST">
<argument type="entity" name="encodedFile" eval="base64_encode(file_get_contents($Element->path))"/>
<argument type="entity" name="type_id">102</argument>
<argument type="entity" name="destination">PJS</argument>
<argument type="entity" name="priority">2</argument>
<argument type="entity" name="category_id">incoming</argument>
<argument type="entity" name="format" attribute="extension"/>
<argument type="entity" name="status">INIT</argument>
<return>
<resId metadata="resId" />
</return>
</call>
</loop>
</process>
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] ...'] |
POST /rest/res/list
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 |
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 :
// JSON
{
"select" : "res_id, type_label, entity_label",
"clause" : "status='COU'",
"withFile" : true,
"orderBy" : ["res_id desc"],
"limit" : 100
}
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
}
PUT /rest/res/resource/status
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 | Tableau contenant les identifiants unique du courrier dans MaarchCourrier |
Modification du statut du courrier 1671, avec un message dans l'historique :
// JSON
{
"status" : "COU",
"historyMessage" : "On change tout !",
"resId" : [1671]
}
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 parti du périmètre | ['errors' => 'Document out of perimeter'] |