Une fois capturés, les fichiers numérisés ou les courriels sont envoyés dans MaarchCourrier via le module MaarchWSClient de MaarchCapture.
Le fichier général de configuration de MaarchWSClient se trouve dans : ./modules/MaarchWSClient/MaarchWSClient_standard_sample.xml
Nous nous basons en partie sur l’exemple présent dans le répertoire ./modules/MaarchWSClient/samples/MaarchWSClient_standard_sample.xml.default. Il est donc commun à toutes les boites mails à capturer ou les fichiers à importer en sortie d'un scanner (ils peuvent différer si nécessaire).
Le paramétrage type pour l’envoi de scans ou de courriels dans une instance MaarchCourrier est le suivant :
<?xml version="1.0" encoding="UTF-8"?>
<MaarchWSClient>
<WS name="MaarchRestWS" type="REST" uri="http://userMaarchWS:passwordMaarchWS@maarchcourrier.ID_INSTANCE.interieur.gouv.fr/rest/" />
<process name="MaarchRestWSProcessFromScan">
<loop xpath="/Batch/Documents/Document">
<call name="/res" method="POST">
<argument type="entity" name="encodedFile" eval="base64_encode(file_get_contents($Element->path))"/>
<argument type="entity" name="data">
<column>type_id</column>
<value>1</value>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>destination</column>
<value>COU</value>
<type>string</type>
</argument>
<argument name="data">
<column>priority</column>
<value>2</value>
<type>integer</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_letterbox</argument>
<argument type="entity" name="format" attribute="extension"/>
<argument type="entity" name="status">INIT</argument>
<return>
<resId metadata="resId" />
</return>
</call>
</loop>
</process>
<process name="MaarchRestWSProcessFromMail">
<loop xpath="/Batch/Documents/Document">
<call name="/res" method="POST">
<argument type="entity" name="encodedFile" eval="base64_encode(file_get_contents($Element->path))"/>
<argument type="entity" name="data">
<column>subject</column>
<value metadata="subject" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>doc_date</column>
<value metadata="doc_date" />
<type>date</type>
</argument>
<argument type="entity" name="data">
<column>type_id</column>
<value metadata="type_id"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>destination</column>
<value metadata="destination"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>initiator</column>
<value metadata="destination"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>priority</column>
<value>2</value>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>custom_t10</column>
<value xvalue="./Metadata/fromaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>custom_t11</column>
<value xvalue="./Metadata/toaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>custom_t12</column>
<value xvalue="./Metadata/ccaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>source</column>
<value xvalue="./Metadata/message_id" />
<type>string</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_letterbox</argument>
<argument type="entity" name="format" attribute="extension"/>
<argument type="entity" name="status">INIT</argument>
<return>
<resId metadata="resId" />
</return>
</call>
<call name="/resExt" method="POST">
<argument type="entity" name="resId" metadata="resId"/>
<argument type="entity" name="data">
<column>nature_id</column>
<value>email</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>category_id</column>
<value>incoming</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>exp_contact_id</column>
<value xvalue="./Metadata/fromaddress"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>address_id</column>
<value xvalue="./Metadata/fromaddress"/>
<type>integer</type>
</argument>
<argument type="entity" name="table">mlb_coll_ext</argument>
<argument type="entity" name="resTable">res_letterbox</argument>
<return>
<status metadata="status" />
</return>
</call>
<loop xpath="Attachments/Attachment">
<call name="/res" method="POST">
<argument type="entity" eval="base64_encode(file_get_contents($Element->path))" name="encodedFile"/>
<argument type="entity" name="data">
<column>title</column>
<value metadata="filename"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>res_id_master</column>
<value xvalue="ancestor::Document/Metadata/resId"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>coll_id</column>
<value>letterbox_coll</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>attachment_type</column>
<value>incoming_mail_attachment</value>
<type>string</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_attachments</argument>
<argument type="entity" name="format" attribute="extension"/>
<argument type="entity" name="status">TRA</argument>
<return>
<resId metadata="resId" />
</return>
</call>
</loop>
</loop>
</process>
</MaarchWSClient>
Les éléments de paramétrage suivants sont à définir pour une instance MaarchCourrier :