Configurations
Fichier de configuration
Récupération du contenu du fichier de configuration principal
GET
/config/readConfig
Headers
Authorization*
Bearer <token>
Retour du web service
{
"config": {
"API": {
"siren-url": "https://api.insee.fr/entreprises/sirene/V3/siren/",
"siret-consumer": "",
"siret-secret": "",
"siret-url": "https://api.insee.fr/entreprises/sirene/V3/siret/",
"siret-url-token": "https://api.insee.fr/token",
"tva-url": "https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl"
},
"DATABASE": {
"postgresdatabase": "opencapture_edissyum",
"postgreshost": "localhost",
"postgrespassword": "",
"postgresport": "5432",
"postgresuser": ""
},
"GLOBAL": {
"configmail": "/var/www/html/opencapture/custom/edissyum/config/mail.ini",
"logfile": "/var/www/html/opencapture/custom/edissyum/bin/data/log/OpenCapture.log",
"watcherconfig": "/var/www/html/opencapture/instance/config/watcher.ini"
},
"REFERENCIAL": {
"referencialsupplierdocument": "default_referencial_supplier.ods",
"referencialsupplierindex": "default_referencial_supplier_index.json"
},
"SEPARATORQR": {
"divider": "_",
"enabled": "False",
"exportpdfa": "False"
},
"SPLITTER": {
"bundlestart": "BUNDLESTART",
"docstart": "DOCSTART"
}
}
}
Configurations en base de données
Récupération des paramètres globaux présent en base de données
GET
/config/getConfigurations
Path Parameters
limit
String
Nombres de résultats maximum à retourner
offset
String
Commencer à partir du Xème résultat
search
String
Filtrer configurations sur le label ou la description
Headers
Authorization*
Bearer <token>
Retour du web service
{
"configurations": [
{
"data": {
"description": "Délai avant expiration du token d'authentification (en minutes)",
"type": "int",
"value": "1440"
},
"display": true,
"id": 1,
"label": "jwtExpiration",
"total": 8
},
{
"data": {
"description": "Delta maximum pour remonter une date de facture, en jours. -1 pour désactiver",
"type": "int",
"value": "-1"
},
"display": true,
"id": 2,
"label": "timeDelta",
"total": 8
},
{
"data": {
"description": "Taille minimale pour un numéro de facture",
"type": "int",
"value": "6"
},
"display": true,
"id": 6,
"label": "invoiceSizeMin",
"total": 8
},
{
"data": {
"description": "Taille minimale pour un numéro de devis",
"type": "int",
"value": "3"
},
"display": true,
"id": 7,
"label": "devisSizeMin",
"total": 8
},
{
"data": {
"description": "Court message affiché sur l'écran d'accueil",
"type": "string",
"value": "Open-Capture - LAD / RAD"
},
"display": true,
"id": 8,
"label": "loginMessage",
"total": 8
},
{
"data": {
"description": "Autoriser un utilisateur à être connecté sur plusieurs machines simultanément",
"type": "bool",
"value": true
},
"display": true,
"id": 16,
"label": "allowUserMultipleLogin",
"total": 8
},
{
"data": {
"description": "Activer la restriction du chemin sur le dossier des chaînes entrantes",
"type": "bool",
"value": false
},
"display": true,
"id": 17,
"label": "restrictInputsPath",
"total": 8
},
{
"data": {
"description": "Activer la restriction du chemin sur le dossier des chaînes sortantes",
"type": "bool",
"value": false
},
"display": true,
"id": 18,
"label": "restrictOutputsPath",
"total": 8
}
]
}
Récupération d'un paramètres global présent en base de données par son libellé
GET
/config/getConfiguration/<string:config_label>
Path Parameters
config_label
String
Libellé de la configuration
Headers
Authorization*
Bearer <token>
Retour du web service
{
"configuration": [
{
"data": {
"description": "Paramétrage par défaut du MailCollect",
"type": "json",
"value": {
"batchPath": "/var/www/html/opencapture/bin/data/MailCollect/",
"smtpAuth": "",
"smtpDelay": "30",
"smtpDestAdminMail": "",
"smtpFromMail": "",
"smtpHost": "",
"smtpLogin": "",
"smtpNotifOnError": false,
"smtpPort": "",
"smtpPwd": "",
"smtpSSL": true,
"smtpStartTLS": false
}
},
"display": false,
"id": 8,
"label": "mailCollectGeneral"
}
]
}
Mise à jour d'une configuration par libellé
PUT
/config/updateConfiguration/<string:configuration_label>
Request Body
args*
json
{value: '', 'type': 'json', 'description'}
Docservers
Récupération des docservers
GET
/config/getDocservers
Path Parameters
limit
String
Nombres de résultats maximum à retourner
offset
String
Commencer à partir du Xème résultat
search
String
Filtrer configurations sur le label ou la description
Headers
Authorization*
Bearer <token>
Retour du web service
{
"docservers": [
{
"description": "Chemin vers l'instance d'Open-Capture",
"docserver_id": "PROJECT_PATH",
"id": 1,
"path": "/var/www/html/opencapture/",
"total": 24
},
{
"description": "Chemin vers le dossier contenant les fichiers de traductions",
"docserver_id": "LOCALE_PATH",
"id": 2,
"path": "/var/www/html/opencapture/src/assets/locale/",
"total": 24
},
{
"description": "Chemin vers le dossier des batches en erreur",
"docserver_id": "ERROR_PATH",
"id": 3,
"path": "/var/www/html/opencapture/bin/data/error/",
"total": 24
},
{
"description": "Chemin vers le dossier temporaires utilisé lors du traitement des documents",
"docserver_id": "TMP_PATH",
"id": 4,
"path": "/var/www/html/opencapture/bin/data/tmp/",
"total": 24
},
{
"description": "Chemin vers le dossier contenant les différents scripts",
"docserver_id": "SCRIPTS_PATH",
"id": 5,
"path": "/var/www/html/opencapture/bin/scripts/",
"total": 24
},
{
"description": "Chemin vers le dossier contenant les différents fichiers de configurations",
"docserver_id": "CONFIG_PATH",
"id": 6,
"path": "/var/www/html/opencapture/instance/config/",
"total": 24
},
{
"description": "Chemin vers la zone de stockage",
"docserver_id": "DOCSERVERS_PATH",
"id": 7,
"path": "/var/docservers/opencapture/",
"total": 24
},
{
"description": "Chemin vers le dossier contenant les fichiers de référentiel",
"docserver_id": "REFERENTIALS_PATH",
"id": 8,
"path": "/var/www/html/opencapture/instance/referencial/",
"total": 24
},
{
"description": "[SÉPARATION PAR QR CODE] Chemin vers le dossier temporaire pour la séparation par QR Code",
"docserver_id": "SEPARATOR_QR_TMP",
"id": 9,
"path": "/tmp/",
"total": 24
},
{
"description": "[SÉPARATION PAR QR CODE] Chemin vers le dossier de sortie des PDF",
"docserver_id": "SEPARATOR_OUTPUT_PDF",
"id": 10,
"path": "/var/www/html/opencapture//bin/data/exported_pdf/",
"total": 24
},
{
"description": "[SÉPARATION PAR QR CODE] Chemin vers le dossier de sortie des PDF/A",
"docserver_id": "SEPARATOR_OUTPUT_PDFA",
"id": 11,
"path": "/var/www/html/opencapture//bin/data/exported_pdfa/",
"total": 24
},
{
"description": "[VERIFIER] Chemin pour le stockage des miniatures",
"docserver_id": "VERIFIER_THUMB",
"id": 12,
"path": "/var/docservers/opencapture/verifier/thumbs/",
"total": 24
},
{
"description": "[VERIFIER] Chemin pour le stockage des images",
"docserver_id": "VERIFIER_IMAGE_FULL",
"id": 13,
"path": "/var/docservers/opencapture/verifier/full/",
"total": 24
},
{
"description": "[VERIFIER] Chemin pour le stockage des images nécessaire aux masques de positionnement",
"docserver_id": "VERIFIER_POSITIONS_MASKS",
"id": 14,
"path": "/var/docservers/opencapture/verifier/positions_masks/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier de stockage des dossiers de batch après traitement",
"docserver_id": "SPLITTER_BATCHES",
"id": 15,
"path": "/var/docservers/opencapture/splitter/batches/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier de sortie des PDF après traitement",
"docserver_id": "SPLITTER_OUTPUT",
"id": 16,
"path": "/var/docservers/opencapture/splitter/separated_pdf/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier contenant les PDF originaux",
"docserver_id": "SPLITTER_ORIGINAL_PDF",
"id": 17,
"path": "/var/docservers/opencapture/splitter/original_pdf/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier contenant les différents scripts de séparation",
"docserver_id": "SPLITTER_METHODS_PATH",
"id": 18,
"path": "/var/www/html/opencapture/bin/scripts/splitter_methods/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier contenant les différents scripts de récupération de métadonnées",
"docserver_id": "SPLITTER_METADATA_PATH",
"id": 19,
"path": "/var/www/html/opencapture/bin/scripts/splitter_metadata/",
"total": 24
},
{
"description": "[SPLITTER] Chemin pour le stockage des miniatures",
"docserver_id": "SPLITTER_THUMB",
"id": 22,
"path": "/var/docservers/opencapture/splitter/thumbs/",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier contenant les données d'entraînement",
"docserver_id": "SPLITTER_TRAIN_PATH_FILES",
"id": 25,
"path": "/var/docservers/opencapture/splitter/ai/train_data",
"total": 24
},
{
"description": "[SPLITTER] Chemin vers le dossier contenant le modèle de prédiction",
"docserver_id": "SPLITTER_AI_MODEL_PATH",
"id": 26,
"path": "/var/docservers/opencapture/splitter/ai/models/",
"total": 24
},
{
"description": "[VERIFIER] Chemin vers le dossier contenant les données d'entraînement",
"docserver_id": "VERIFIER_TRAIN_PATH_FILES",
"id": 29,
"path": "/var/docservers/opencapture/verifier/ai/train_data",
"total": 24
},
{
"description": "[VERIFIER] Chemin vers le dossier contenant le modèle de prédiction",
"docserver_id": "VERIFIER_AI_MODEL_PATH",
"id": 30,
"path": "/var/docservers/opencapture/verifier/ai/models/",
"total": 24
}
]
}
Mise à jour d'un docserver par id
PUT
/config/updateDocserver/<string:docserver_id>
Request Body
args*
json
{'path': '', 'description': '', 'docserver_id': ''}
Regex
Récupération des regex
GET
/config/getRegex
Path Parameters
limit
String
Nombres de résultats maximum à retourner
offset
String
Commencer à partir du Xème résultat
search
String
Filtrer configurations sur le label ou la description
Headers
Authorization*
Bearer <token>
Retour du web service
{
"regex": [
{
"content": "([A-Za-z0-9]+[\\.\\-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\\.[A-Z|a-z]{2,})+",
"id": 1,
"label": "Adresse email",
"lang": "global",
"regex_id": "email",
"total": 20
},
{
"content": "[0-9]{14}",
"id": 2,
"label": "Numéro de SIRET",
"lang": "global",
"regex_id": "siret",
"total": 20
},
{
"content": "[0-9]{9}",
"id": 3,
"label": "Numéro de SIREN",
"lang": "global",
"regex_id": "siren",
"total": 20
},
{
"content": "[A-Z]{2}(?:[ ]?[0-9]){18,25}",
"id": 4,
"label": "Numéro d'IBAN",
"lang": "global",
"regex_id": "iban",
"total": 20
},
{
"content": "(EU|SI|HU|D(K|E)|PL|CHE|(F|H)R|B(E|G)(0)?)[0-9A-Z]{2}[0-9]{6,9}",
"id": 5,
"label": "Numéro de TVA",
"lang": "global",
"regex_id": "vat_number",
"total": 20
},
{
"content": "((3[01]|[12][0-9]|0?[1-9])|\\d{1}\\w{2})\\s?([JFMASONDjfmasond][a-zA-Z_À-ÿ\\.,-]{2,9}|[/,-\\.](1[0-2]|0?[1-9])[/,-\\.])\\s?((1|2|3){1}\\d{1,3}|(1|2|3))",
"id": 6,
"label": "Date",
"lang": "fra",
"regex_id": "date",
"total": 20
},
{
"content": "((DATE)?\\s*(D('|\\s*))?(E|É)CH(É|E)ANCE(\\(S\\))?\\s*:?\\s*([0-9]*(\\.?\\,?\\s?)[0-9]+((\\.?\\,?\\s?)[0-9])+|[0-9]+)?\\s*(€)?\\s*(AU)?\\s*|FACTURE\\s*(A|À)\\s*PAYER\\s*AVANT\\s*LE\\s*(:)?\\s*)",
"id": 7,
"label": "Date d'échance",
"lang": "fra",
"regex_id": "due_date",
"total": 20
},
{
"content": "(((?P<r1>NUMERO|N(O|°|º|R.))?\\s*(DE)?\\s*(FACTURE|PI(E|È)CE|DOCUMENT)(\\s*:)?\\s*(?(r1)()|(NUMERO|N(O|°|º|R.)?))(\\s*:)?)|(FACTURE(/)?(DATE)?)\\s*(ACQUIT(T)?(E|É)E)?\\s*(:|#){1}).*",
"id": 8,
"label": "Numéro de facture",
"lang": "fra",
"regex_id": "invoice_number",
"total": 20
},
{
"content": "((NUM(E|É)RO|N(O|°|º|R.)?|R(E|É)F(\\.)?((E|É)RENCE)?)?\\s*(DE)?\\s*(BON)?\\s*(DE)?\\s*(LIVRAISON)|NOTE\\s*D(')?ENVOI|(BON|BULLETIN)\\s*DE\\s*LIVR(\\.))\\s*:?.*",
"id": 9,
"label": "Numéro de livraison",
"lang": "fra",
"regex_id": "delivery_number",
"total": 20
},
{
"content": "(((?P<r1>(NUM(E|É)RO|N(O|°|º|R.)?|R(E|É)F(\\.)?((E|É)RENCE)?))?\\s*(DE)?\\s*(DEVIS|COMMANDE|C(M)?DE|DOCUMENT)\\s*(INTERNET|EXTERNE|WEB)?(\\s*:)?\\s*(?(r1)()|(NUMERO|N(O|°|º|R.)?))(\\s*:)?|(R(E|É)F(\\.)?\\s*PROPOSITION\\s*COMMERCIALE)|(CONTRAT|COMMANDE|C(M)?DE)\\s*(NUMERO|N(O|°|º|R.)))\\s*(:|#){0,1}).*",
"id": 10,
"label": "Numéro de devis",
"lang": "fra",
"regex_id": "quotation_number",
"total": 20
},
{
"content": "(?P<r1>MONTANT\\s*(NET)?|(SOUS(-|\\s+)?)TOTAL|VAT\\s*BASE|VALEUR\\s*(BRUTE|POSITIONS|NETTE\\s*TOTALE)|IMPOSABLE|TOTAL(S)?\\s*DES\\s*DIVERS\\s*(À|A)\\s*VENTILER|PRIX\\s*NET\\s*(TOTAL)?|TOTAL\\s*(ORDRE|NET|INTERM(E|É)DIAIRE)|BASE\\s*TOTAL)?\\s*(:\\s*|EN)?(€|EUROS|EUR|CAD)?\\s*(?(r1)()|(\\()?((H(\\.)?T(\\.)?(V(\\.)?A(\\.)?)?|HORS TVA|(EXCL|BASE)\\s*(\\.)?\\s*TVA|HORS\\s*TAXES|TOTAL\\s*INTERM(É|E)DIAIRE))(\\))?){1}\\s*(:)?(€|EUROS|EUR|CAD)?\\s*([0-9]*(\\.?\\,?\\s?)[0-9]+((\\.?\\,?\\s?)[0-9])+|[0-9]+)\\s*(€|EUROS|EUR|CAD)?|([0-9]*(\\.?\\,?\\s?)[0-9]+((\\.?\\,?\\s?)[0-9])+|[0-9]+)\\s*(€)?\\s*(HT)",
"id": 11,
"label": "Montant HT",
"lang": "fra",
"regex_id": "no_rates",
"total": 20
},
{
"content": "(?P<r1>MONTANT|^\\s*TOTAL)?\\s*(:\\s*)?(€|EUROS|EUR|CAD)?\\s*(?(r1)()|(T(.)?T(.)?C|\\(TVA COMPRISE\\)|TVAC|TVA\\s*INCLUSE|(MONTANT)?NET\\s*(À|A)\\s*(PAYER|VERSER))){1}(\\s*(À|A)\\s*PAYER)?\\s*(:|(€|EUROS|EUR|CAD))?\\s*([0-9]*(\\.?\\,?\\|?\\s?)[0-9]+((\\.?\\,?\\s?)[0-9])+|[0-9]+)\\s*(€|EUROS|EUR|CAD)?",
"id": 12,
"label": "Montant TTC",
"lang": "fra",
"regex_id": "all_rates",
"total": 20
},
{
"content": "(TVA|%)\\s*(5(?:\\.|,)5|19(?:\\.|,)6|(6|10|12|20)(?:[.,]0{1,3})?)|(5(?:\\.|,)5|19(?:\\.|,)6|(6|10|12|20)(?:[.,]0{1,3})?)(\\s*%)",
"id": 13,
"label": "Taux de TVA",
"lang": "fra",
"regex_id": "vat_rate",
"total": 20
},
{
"content": "((MONTANT|TOTAL|DONT)\\s*TVA(\\s*[0-9.,]*\\s*%)?(\\s*\\(SUR\\s*FACTURE\\s*\\))?|TVA\\s*[0-9.,]*\\s*%|TVA\\s*[0-9.,]*\\s*%?\\s*SUR\\s*[0-9.,]*\\s*[A-Z\\s']*|%\\s*TVA)\\s*(€|EUROS|EUR|CAD)?.*",
"id": 14,
"label": "Montant TVA",
"lang": "fra",
"regex_id": "vat_amount",
"total": 20
},
{
"content": "[20, 19.6, 10, 5.5, 2.1]",
"id": 15,
"label": "Liste des taux de TVA",
"lang": "fra",
"regex_id": "vat_rate_list",
"total": 20
},
{
"content": "%d/%m/%Y",
"id": 16,
"label": "Format final de la date",
"lang": "fra",
"regex_id": "format_date",
"total": 20
},
{
"content": "<!-- %BEGIN-DOCUMENT-LOOP -->(.*?)<!-- %END-DOCUMENT-LOOP -->",
"id": 17,
"label": "Boucle des documents dans la sortie XML du Splitter",
"lang": "fra",
"regex_id": "splitter_doc_loop",
"total": 20
},
{
"content": "<!-- %BEGIN-IF(.*?) -->(.*?)<!-- %END-IF -->",
"id": 18,
"label": "Condition des balises dans la sortie XML du Splitter",
"lang": "fra",
"regex_id": "splitter_condition",
"total": 20
},
{
"content": "\\s?<!--[\\s\\S\\n]*?-->\\s",
"id": 19,
"label": "Commentaire technique dans la sortie XML du Splitter",
"lang": "fra",
"regex_id": "splitter_xml_comment",
"total": 20
},
{
"content": "^\\s*$",
"id": 20,
"label": "Lignes vides dans la sortie XML du Splitter",
"lang": "fra",
"regex_id": "splitter_empty_line",
"total": 20
}
]
}
Mise à jour d'une regex par id
PUT
/config/updateRegex/<string:regex_id>
Request Body
args*
json
{"content":"", "id":"", "label":"", "lang":"global", "regex_id":""}
Last updated