Récupérer les acquittements FAST-ACTES depuis le WebDAV¶
Prérequis : avoir configuré le connecteur FAST-ACTES et avoir effectué au moins un envoi d’acte vers FAST-ACTES.
Un batch permet de scanner le répertoire WebDAV FAST-ACTES afin de récupérer automatiquement les retours déposés par la plateforme :
- les accusés de réception préfecture ;
- les retours d’anomalie.
Ces retours sont transmis au format XML et sont déposés dans le même répertoire WebDAV que celui utilisé pour l’envoi des actes.
1) Paramétrage applicatif¶
La configuration générale de Maarch Courrier se trouve dans le fichier :
Ou, selon votre installation :
Exemple :
{ "config": { "maarchDirectory": "/var/www/html/MaarchCourrier/", "customID": "maarch_courrier", "maarchUrl": "https://courrier.example.org/" }, "signatureBook": { "userWS": "superadmin", "passwordWS": "superadmin" } }
Paramètres utilisés par le batch¶
- maarchDirectory : chemin absolu vers l’application Maarch Courrier.
- customID : identifiant du custom Maarch Courrier.
- maarchUrl : URL publique de l’application Maarch Courrier.
Ne pas utiliser
localhostni127.0.0.1, car le batch appelle l’API REST de Maarch Courrier pour créer les pièces jointes. - userWS : identifiant d’un utilisateur Maarch Courrier autorisé à appeler l’API REST.
- passwordWS : mot de passe de l’utilisateur ci-dessus.
Il est recommandé d’utiliser un compte dédié aux appels webservice.
2) Paramétrage FAST-ACTES¶
La configuration FAST-ACTES se trouve dans un fichier JSON dédié :
Ou, selon votre installation :
Exemple :
{
"siren": "999100081",
"prefixe": "xelians",
"departement": "999",
"arrondissement": "1",
"webdavUrl": "https://recette.efast.fr/ascl/webdav/999100081/xelians/",
"webserviceUrl": "https://recette.efast.fr/ascl/services/FASTConnecteur",
"portalUrl": "https://recette.efast.fr/ascl/",
"certPath": "/usr/local/share/ca-certificates/depot.p12",
"certPass": "********",
"certType": "P12",
"dnUtilisateur": "E = depot-demo@xelians.fr, CN = DEPOT-DEMO XELIANS, OU = 0002 999100081, OU = CACertificat, O = CONNXELIANS, L = PARIS, C = FR",
"statuts": {
"enAttente": "ACTE_ATT",
"erreurEnvoi": "ACTE_CTRL",
"arRecu": "ACTE_NOTIF",
"anomalie": "ACTE_CTRL"
}
}
Paramètres utilisés pour la récupération¶
- webdavUrl : URL du répertoire WebDAV FAST-ACTES.
- certPath : chemin vers le certificat client utilisé pour accéder au WebDAV.
- certPass : mot de passe du certificat.
- certType : type du certificat. Exemple :
P12. - statuts.arRecu : statut appliqué au courrier lorsque l’accusé de réception est récupéré.
- statuts.anomalie : statut appliqué au courrier lorsqu’un retour d’anomalie est récupéré.
Les statuts configurés doivent exister dans la table status de Maarch Courrier.
Exemples de statuts :
3) Batch¶
Le script de récupération des acquittements FAST-ACTES est exécuté en tâche planifiée.
Exemple de lancement manuel :
php /var/www/html/MaarchCourrier/bin/fastActes/process_acknowledgements.php
--config /var/www/html/MaarchCourrier/custom/maarch_courrier/config/config.json
Le paramètre --config doit pointer vers le fichier config.json de l’instance Maarch Courrier concernée.
4) Planification¶
Le batch doit être planifié via crontab.
Exemple d’exécution toutes les 30 minutes :
*/30 * * * * php /var/www/html/MaarchCourrier/bin/fastActes/process_acknowledgements.php --config /var/www/html/MaarchCourrier/custom/maarch_courrier/config/config.json
Il est recommandé d’éviter les heures exactes afin de limiter les appels simultanés vers la plateforme FAST.
Exemple :
7,37 * * * * php /var/www/html/MaarchCourrier/bin/fastActes/process_acknowledgements.php --config /var/www/html/MaarchCourrier/custom/maarch_courrier/config/config.json
5) Fonctionnement¶
Le batch effectue les opérations suivantes :
- connexion au WebDAV FAST-ACTES avec le certificat configuré ;
- listing du répertoire WebDAV ;
- détection des fichiers XML de retour :
- flux
1-2: accusé de réception ; - flux
1-3: anomalie ; - téléchargement du fichier XML ;
- lecture du numéro interne ACTES dans le XML ;
- recherche de l’envoi correspondant dans Maarch Courrier ;
- intégration du XML en tant que pièce jointe du courrier ;
- mise à jour du statut du courrier ;
- ajout d’un historique ;
- suppression du fichier XML sur le WebDAV si le traitement est terminé avec succès.
6) Accusé de réception¶
Lorsqu’un fichier de type 1-2 est détecté, il est considéré comme un accusé de réception.
Exemple de nom de fichier :
Le batch :
- récupère le XML depuis le WebDAV ;
- extrait le
NumeroInterne; - retrouve l’envoi correspondant ;
- ajoute le XML en pièce jointe du courrier ;
- passe le courrier au statut configuré dans
statuts.arRecu; - met à jour l’envoi en base ;
- ajoute une entrée d’historique ;
- supprime le XML du WebDAV.
Exemple d’historique ajouté :
7) Anomalie¶
Lorsqu’un fichier de type 1-3 est détecté, il est considéré comme un retour d’anomalie.
Exemple de XML :
<actes:AnomalieActe xmlns:actes="http://www.interieur.gouv.fr/ACTES#v1.1-20040216"> actes:Date2026-05-29</actes:Date> actes:Nature006</actes:Nature> actes:DetailLe fichier acte.pdf est introuvable</actes:Detail> <actes:ActeRecu actes:Date="2026-05-29" actes:NumeroInterne="111260529766317" actes:CodeNatureActe="3"/> </actes:AnomalieActe>
Le batch :
- récupère le XML depuis le WebDAV ;
- extrait le
NumeroInterne; - extrait le détail de l’anomalie ;
- retrouve l’envoi correspondant ;
- ajoute le XML en pièce jointe du courrier ;
- ajoute une note sur le courrier avec le détail de l’anomalie ;
- passe le courrier au statut configuré dans
statuts.anomalie; - met à jour l’envoi en base ;
- ajoute une entrée d’historique ;
- supprime le XML du WebDAV.
Exemple de note ajoutée :
Envoi vers TDT non validé : pour l'envoi réalisé le 29/05/2026 à 10:15 par Jean Dupont, le fichier acte.pdf est introuvable.
8) Rattachement à l’envoi Maarch Courrier¶
Le rapprochement entre le retour FAST-ACTES et l’envoi Maarch Courrier se fait via le numéro interne ACTES.
Ce numéro est présent :
- dans le XML d’envoi
1-1; - dans la table
fast_actes_transmissions; - dans le XML retour
1-2ou1-3.
Exemple :
Si aucun envoi correspondant n’est trouvé, le fichier n’est pas supprimé du WebDAV afin de permettre un retraitement ultérieur.
9) Pièce jointe créée¶
Le fichier XML de retour est intégré au courrier via l’API REST de création de pièce jointe.
Les informations suivantes sont utilisées :
- resIdMaster : identifiant du courrier principal.
- title :
Accusé de réception FAST-ACTESpour un AR ;Anomalie FAST-ACTESpour une anomalie.- chrono : nom du fichier XML récupéré.
- format :
XML. - type :
simple_attachment. - status :
TRA.
Un historique de création de pièce jointe est également ajouté automatiquement par Maarch Courrier.
10) Suppression du WebDAV¶
Le fichier XML est supprimé du WebDAV uniquement si l’ensemble du traitement est réussi.
Le fichier est conservé sur le WebDAV si :
- l’envoi Maarch Courrier correspondant est introuvable ;
- le XML ne peut pas être parsé ;
- la pièce jointe ne peut pas être créée ;
- le statut du courrier ne peut pas être mis à jour ;
- l’historique ne peut pas être créé.
Cela permet au batch de retraiter le retour lors de son prochain passage.
11) Contrôles utiles¶
Lister le WebDAV¶
curl -sk
--cert-type P12
--cert /usr/local/share/ca-certificates/depot.p12:pwdcertif
-X PROPFIND
-H "Depth: 1"
"https://recette.efast.fr/ascl/webdav/999100081/xelians/"
Rechercher les retours 1-2 ou 1-3¶
curl -sk
--cert-type P12
--cert /usr/local/share/ca-certificates/depot.p12:pwdcertif
-X PROPFIND
-H "Depth: 1"
"https://recette.efast.fr/ascl/webdav/999100081/xelians/"
| grep -E "1-2|1-3"
Rechercher un envoi précis¶
curl -sk
--cert-type P12
--cert /usr/local/share/ca-certificates/depot.p12:
-X PROPFIND
-H "Depth: 1"
"https://recette.efast.fr/ascl/webdav/999100081/xelians/"
| grep "111260529766317"
12) Vérifications en base¶
Vérifier l’envoi¶
SELECT id, res_id, internal_number, status, acknowledgement_filename, acknowledgement_received_at, anomaly_message FROM fast_actes_transmissions WHERE internal_number = '111260529766317';
Vérifier le statut du courrier¶
Vérifier la pièce jointe créée¶
SELECT res_id, res_id_master, title, identifier, attachment_type, status, format, creation_date FROM res_attachments WHERE res_id_master = 111 ORDER BY res_id DESC;
Vérifier l’historique¶
SELECT table_name, record_id, event_type, event_id, info, event_date FROM history WHERE record_id = '111' ORDER BY id DESC;
Vérifier les notes en cas d’anomalie¶
13) Remarques¶
Les fichiers XML récupérés sont supprimés du WebDAV uniquement après traitement réussi.
Les statuts configurés dans fastActesConfig.json doivent exister dans la table status.
Le batch doit être lancé toutes les 30 minutes au maximum, de préférence à des horaires décalés.
Si plusieurs instances Maarch Courrier utilisent FAST-ACTES, prévoir un script ou une planification dédiée pour chaque custom.
14) Exemple de retour attendu¶
Après récupération d’un AR, on doit constater :
- le fichier XML
1-2n’est plus présent sur le WebDAV ; - une pièce jointe
Accusé de réception FAST-ACTESest créée ; - le courrier passe au statut défini dans
statuts.arRecu; - l’envoi passe au statut
Adansfast_actes_transmissions; - une ligne d’historique est ajoutée.
Après récupération d’une anomalie, on doit constater :
- le fichier XML
1-3n’est plus présent sur le WebDAV ; - une pièce jointe
Anomalie FAST-ACTESest créée ; - une note d’anomalie est ajoutée au courrier ;
- le courrier passe au statut défini dans
statuts.anomalie; - l’envoi passe au statut
Edansfast_actes_transmissions; - une ligne d’historique est ajoutée.