Resources

Création d'un courrier

Route

POST /rest/resources

Paramètres

Body
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.

Exemple

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-&gt;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>

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 :

// JSON
{
    "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 Tableau contenant les identifiants unique du courrier dans MaarchCourrier
Exemple

Modification du statut du courrier 1671, avec un message dans l'historique :

// JSON
{
    "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 parti du périmètre ['errors' => 'Document out of perimeter']

results matching ""

    No results matching ""