Spécification / CDJ CONNECT 1.0
Le format CDJ Connect
Le guide complet du format 1.0 : structure du lot, données métier et règles d’import.
Parcourir la spécification
Archive figée — version 1.0. Snapshot créé le 22 juillet 2026. Cette page ne doit plus être modifiée. La version publiée la plus récente reste CDJ Connect - Standard EDI logiciel métier.
CDJ Connect est une proposition ouverte de format EDI commun pour les logiciels métier de commissaires de justice. Cette proposition est portée initialement par Raydocs, société qui développe des outils IA pour les études: création de dossiers, mise à jour de dossiers, analyse de pièces et enrichissement de données métier.
Pourquoi CDJ Connect
Les études dépendent aujourd'hui fortement de leurs logiciel métier pour mettre en place de nouveaux flux EDI, intégrer des données externes ou automatiser des traitements métier. Chaque nouveau donneur d'ordre, prestataire ou outil spécialisé entraîne souvent une intégration spécifique, coûteuse à cadrer et difficile à mutualiser entre les logiciels métier. CDJ Connect vise d'abord à définir un modèle de données commun pour représenter un dossier de commissaire de justice, indépendamment du logiciel métier utilisé par l'étude. Ce modèle couvre notamment les références dossier, intervenants, adresses, contacts, pièces, créances, montants, intérêts, actes, mesures, agenda et événements métier. En standardisant cette représentation, CDJ Connect facilite l'interopérabilité entre les écosystèmes logiciel métier: chaque éditeur peut mapper ce modèle pivot vers son modèle interne, tandis que les prestataires validés peuvent produire un format unique plutôt qu'un format différent par logiciel métier. L'objectif est d'harmoniser les efforts d'intégration, d'élargir le champ des outils pouvant aider les commissaires de justice, et de réduire le coût de mise en place de nouveaux imports de données. Le principe est volontairement pragmatique: CDJ Connect ne remplace pas les logiciels métier et ne contourne pas leurs contrôles. Il s'appuie au contraire sur l'infrastructure EDI existante côté logiciel métier: dépôt de fichiers, import contrôlé, traçabilité, validation humaine, gestion des anomalies et rejets.
Statut de la proposition
Cette spécification est une proposition ouverte. Elle peut servir de base commune de discussion entre éditeurs logiciel métier, chambres, études et prestataires techniques.
Point important: cette page décrit d'abord un modèle de données et un format d'échange, pas un protocole de transport complet. Elle fixe le contrat que doit respecter un lot CDJ Connect: structure du ZIP, fichier lot.json, champs métier, référentiels, règles de validation et principes de rejet. Les modalités exactes de dépôt, supervision, ordonnancement, archivage ou exploitation interne restent adaptables par chaque logiciel métier ou par chaque projet.
En v1, le format décrit uniquement un sens fonctionnel entrant vers logiciel métier. Un prestataire émetteur produit un lot ZIP structuré, puis le logiciel métier destinataire importe ce lot depuis une arborescence dédiée.
Acteurs
| Acteur | Rôle |
|---|---|
| Prestataire émetteur | Outil ou service validé qui produit les lots CDJ Connect. |
| logiciel métier destinataire | Logiciel métier qui surveille le dossier d'entrée, valide le lot et applique les créations ou mises à jour. |
| Étude | Office de commissaires de justice concerné par les dossiers importés. |
| Chambre / gouvernance | Acteur éventuel de validation, d'harmonisation et d'évolution du standard. |
Périmètre V1
Le sens fonctionnel attendu est:
Prestataire émetteur
-> produit un ZIP CDJ Connect
-> dépose/transmet le ZIP dans CDJCONNECT/IN/
-> le logiciel métier importe le ZIP
Cette séquence illustre le fonctionnement cible, mais le coeur de la spécification reste le format du lot importable. Inclus en v1:
- création de dossier;
- mise à jour de dossier existant;
- ajout de pièces documentaires: images, PDF, Word, Excel et EML;
- transmission d'intervenants;
- transmission d'éléments financiers;
- transmission d'actes, mesures et actions agenda;
- typage métier par référentiels communs;
- rejet global ou partiel d'un lot. Hors périmètre v1:
- flux métier logiciel métier vers prestataire;
- synchronisation bidirectionnelle temps réel;
- obligation pour le logiciel métier de produire un document métier retour;
- remplacement des circuits de validation humaine existants.
Répertoires du logiciel métier
L'arborescence suivante est une convention minimale recommandée pour déposer et classer les lots CDJ Connect:
CDJCONNECT/
IN/
EN_COURS/
ARCHIVE/
REJET/
Règles:
CDJCONNECT/est le répertoire racine dédié au format CDJ Connect;CDJCONNECT/IN/reçoit les ZIP à traiter;CDJCONNECT/EN_COURS/peut être utilisé par le logiciel métier pendant le traitement;CDJCONNECT/ARCHIVE/reçoit les lots traités avec succès;CDJCONNECT/REJET/reçoit les lots non traités ou traités en erreur;- le prestataire n'est pas codé dans le chemin, il est identifié dans
lot.json. Le répertoireCDJCONNECT/doit être séparé de toute arborescence EDI déjà utilisée par un autre connecteur, afin d'éviter qu'un traitement externe prenne un lot CDJ Connect en charge par erreur.
Format du ZIP
Nom du fichier
Le nom du ZIP doit seulement être unique dans CDJCONNECT/IN/.
<nom_unique>.zip
Exemples:
20260520-103000-7f3a9c.zip
lot-01HXABC123.zip
cdjconnect-20260520-0001.zip
Règles:
- le fichier doit avoir l'extension
.zip; - le nom doit être unique pour éviter les collisions;
- le logiciel métier ne doit pas parser le nom du ZIP pour comprendre le contenu métier;
- la source de vérité est
lot.json, notammenten_tete.id_lot.
Contenu du ZIP
lot.json
pieces/
<nom_fichier_unique>.<extension>
Règles:
lot.jsonest obligatoire et doit être à la racine du ZIP;- les pièces sont optionnelles;
- les pièces sont référencées depuis le JSON par
piece_jointe.chemin; - les chemins doivent être relatifs au ZIP;
- les chemins absolus et les séquences
../sont interdits; - les fichiers de pièces ne doivent pas être encodés en base64 dans le JSON;
- l'arborescence
pieces/ne porte aucune sémantique métier obligatoire.
Exemple d'arborescence ZIP
lot-01HXABC123.zip
lot.json
pieces/
piece-001.pdf
piece-002.pdf
Dans cet exemple, le rattachement des fichiers aux dossiers ne vient pas du dossier pieces/. Il vient des objets pieces_jointes[] dans lot.json.
Structure JSON
Références utiles: JSON Schema CDJ Connect v1
{
"version_format": "1.0",
"en_tete": {},
"service_destinataire": {},
"dossiers": []
}
Champs racine:
| Champ | Obligatoire | Rôle |
|---|---|---|
version_format | Oui | Version de la spécification CDJ Connect. |
en_tete | Oui | Métadonnées du lot. |
service_destinataire | Oui | Service, pôle ou portefeuille du logiciel métier cible pour tout le lot. |
dossiers | Oui | Liste des dossiers à importer dans ce service. |
en_tete
Références utiles: JSON Schema CDJ Connect v1 · Référentiels CDJ Connect
{
"id_lot": "LOT-20260520-0001",
"date_lot": "2026-05-20T10:30:00+02:00",
"environnement": "production",
"sens_transmission": "EMETTEUR_VERS_ERP",
"type_flux": "IMPORT_DOSSIERS",
"emetteur": {
"type": "PRESTATAIRE",
"code": "RAYDOCS",
"nom": "Raydocs"
},
"destinataire": {
"type": "ERP",
"code": "ETUDE_DUPONT",
"nom": "SCP Dupont",
"logiciel": "LOGICIEL_METIER"
}
}
Règles:
id_lotidentifie le lot ZIP, pas un dossier;sens_transmissionvautEMETTEUR_VERS_ERPen v1;type_fluxvautIMPORT_DOSSIERSen v1;emetteur.codeidentifie le prestataire émetteur, par exempleRAYDOCS;destinataireidentifie l'étude, le logiciel métier ou le tenant cible;- les traces techniques internes d'un prestataire ne font pas partie du coeur du modèle CDJ Connect;
- si un projet en a besoin, ces traces peuvent être transmises dans
extensions_prestataire, sans valeur métier standard; - aucune extension prestataire ne doit servir au rapprochement métier.
service_destinataire
Références utiles: JSON Schema CDJ Connect v1 · Référentiels CDJ Connect
{
"code": "SVC-CONTENTIEUX",
"libelle": "Contentieux"
}
Règles:
service_destinataireest obligatoire au niveau racine du lot;- tous les dossiers du ZIP sont destinés à ce même service;
- un même ZIP ne doit pas mélanger plusieurs services;
service_destinataire.codeest scoped audestinataireet convenu par projet;service_destinataire.coden'est pas une enum globale CDJ Connect;- le logiciel métier peut utiliser ce code pour choisir, mapper ou filtrer le numéro de service interne à importer.
Extensions prestataire optionnelles
Références utiles: JSON Schema CDJ Connect v1
Le coeur du format CDJ Connect doit rester indépendant d'un prestataire particulier. Les identifiants internes d'exécution, de workflow, de traitement IA ou de support ne doivent donc pas être ajoutés dans les champs standard.
Si un prestataire a besoin de transmettre une trace technique utile au support, il peut utiliser extensions_prestataire. Ces données sont optionnelles, non métier, et ignorables par le logiciel métier si elles ne sont pas prévues par le projet.
{
"extensions_prestataire": {
"RAYDOCS": {
"workflow_run_uuid": "018f4b4e-7f8a-7b9b-9d4b-1c2d3e4f5a6b"
}
}
}
Règles:
extensions_prestatairene doit pas contenir de donnée nécessaire à l'import standard;- le logiciel métier peut ignorer entièrement ce bloc;
- aucune clé d'extension ne doit être utilisée pour créer, mettre à jour ou rapprocher un dossier;
- les champs utiles au contrat commun doivent être ajoutés au modèle CDJ Connect plutôt que cachés dans une extension.
dossiers
Références utiles: JSON Schema CDJ Connect v1 · Référentiels CDJ Connect Un dossier correspond à un dossier métier géré par le logiciel métier.
{
"reference_client": "CLI-12345",
"reference_dossier_destinataire": null,
"references_externes": [],
"nature_dossier": "INJONCTION_DE_PAYER",
"libelle_nature_dossier": "Injonction de payer",
"code_nature_dossier_externe": null,
"source_code_nature_dossier": null,
"evenements": [],
"renseignements": [],
"intervenants": [],
"elements_financiers": [],
"mesures": [],
"actes": [],
"agenda": [],
"pieces_jointes": []
}
Champs principaux:
| Champ | Obligatoire | Rôle |
|---|---|---|
reference_client | Oui pour une ouverture. Non si reference_dossier_destinataire suffit pour une mise à jour. | Référence métier externe du dossier, fournie par le client, donneur d'ordre ou prestataire. Elle est recommandée car stable côté émetteur, mais ne bloque pas une mise à jour si l'identifiant du logiciel métier du dossier est déjà connu. |
reference_dossier_destinataire | Non | Numéro interne du dossier dans le logiciel métier si déjà connu. Il peut servir au rapprochement principal d'une mise à jour dans le périmètre du service_destinataire. |
references_externes | Non | Autres références utiles: mandant, créancier, portefeuille, RefExp, etc. |
nature_dossier | Non | Nature métier principale du dossier. Recommandée quand elle est connue. |
evenements | Oui | Événements métier à appliquer au dossier. |
intervenants | Non | Liste non limitée de personnes physiques ou morales liées au dossier. |
elements_financiers | Non | Créances, montants, paiements, intérêts. |
mesures | Non | Mesures ou voies d'exécution liées au dossier. |
actes | Non | Actes à préparer, signifier ou rattacher au dossier. |
agenda | Non | Tâches, rendez-vous ou actions opérationnelles à créer. |
pieces_jointes | Non | Pièces à rattacher au dossier. |
Identification et rapprochement dossier
Références utiles: JSON Schema CDJ Connect v1
Le rapprochement d'un dossier se fait toujours dans le périmètre du destinataire et du service_destinataire.code du lot.
Deux clés de rapprochement sont supportées:
service_destinataire.code + reference_client, référence métier externe stable;service_destinataire.code + reference_dossier_destinataire, identifiant du dossier déjà connu dans le logiciel métier. Règles:service_destinataireest obligatoire au niveau du lot pour router tous les dossiers du ZIP vers le bon service, pôle ou portefeuille du logiciel métier;- pour
OUVERTURE_DOSSIER,reference_clientest obligatoire afin de créer une référence externe stable; - pour
MISE_A_JOUR_DOSSIER,AJOUT_PIECE,MISE_A_JOUR_CREANCE,ACTE_A_SIGNIFIER,AJOUT_ACTION_AGENDAou tout autre événement appliqué à un dossier existant,reference_dossier_destinatairepeut suffire si le dossier existe dans le service du lot; - si
reference_clientetreference_dossier_destinatairesont tous les deux renseignés, ils doivent pointer vers le même dossier dans le même service; - si
reference_dossier_destinataireexiste mais appartient à un autre service, le dossier doit être rejeté; - si aucune des deux références ne permet de retrouver le dossier pour un événement de mise à jour, le dossier doit être rejeté;
- lors d'une ouverture avec
reference_client, le logiciel métier doit enregistrer la correspondancedestinataire + service_destinataire.code + reference_client -> dossier du logiciel métier; references_externes[]sert aux références secondaires et ne remplace nireference_client, nireference_dossier_destinataire;- les anciens identifiants plats de type
identifiant_creanceouidentifiant_defendeurne font pas partie du coeur du modèle: utiliserelements_financiers[].reference_element_financieretintervenants[].reference_intervenant; - il n'existe pas de référence métier propre à Raydocs ou à un autre prestataire dans le format;
en_tete.id_lotidentifie le ZIP, pas le dossier;- les extensions prestataire éventuelles sont des traces techniques ignorables et ne participent jamais au rapprochement. Algorithme recommandé côté logiciel métier:
- lire le
code_evenementprincipal du dossier pour connaître l'action attendue; - si
reference_dossier_destinataireest renseignée, chercher ce dossier dansdestinataire + service_destinataire.code; - si aucun dossier n'est trouvé par
reference_dossier_destinataireet quereference_clientest renseignée, chercher une correspondance déjà importée pourdestinataire + service_destinataire.code + reference_client; - si les deux références sont renseignées et pointent vers deux dossiers différents, rejeter le dossier;
- si
code_evenement = OUVERTURE_DOSSIERet qu'aucun dossier n'existe, créer le dossier et mémoriser la correspondanceservice_destinataire.code + reference_client -> dossier du logiciel métier; - si
code_evenement = OUVERTURE_DOSSIERet que le dossier existe déjà, traiter comme un rejeu ou un doublon selon la politique projet, sans créer de second dossier; - si l'événement suppose un dossier existant et qu'aucun dossier n'est retrouvé, rejeter le dossier ou le lot selon la stratégie d'import;
- si un dossier existant est retrouvé, appliquer l'événement de manière ciblée sur ce dossier.
Typage métier du dossier
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1nature_dossier, mesures[] et actes[] servent au routage métier. Ils complètent evenements[]: l'événement indique le traitement à appliquer, tandis que le typage décrit le domaine fonctionnel du dossier.
Règles:
- utiliser les enums CDJ Connect quand elles couvrent le cas;
- utiliser
AUTREavec unlibelle_*explicite quand le cas n'est pas couvert; - utiliser
code_*_externeetsource_code_*pour porter une nomenclature logiciel métier, client ou métier plus précise; - le logiciel métier ne doit pas remplacer les enums CDJ Connect par les seuls codes externes: les codes externes servent au mapping fin.
evenements
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1
Les evenements[] indiquent au logiciel métier quel traitement métier appliquer au dossier. En v1, un lot contient généralement un événement principal par dossier, mais le format accepte une liste pour les cas où plusieurs actions doivent être transmises ensemble.
{
"code_evenement": "OUVERTURE_DOSSIER",
"date_effet": "2026-05-20",
"libelle": "Ouverture dossier",
"renseignements": []
}
code_evenement porte l'intention d'import: ouvrir un dossier, mettre à jour un dossier existant, ajouter une pièce, créer ou préparer un acte, mettre à jour une créance, etc.
Les codes d'événement sont des codes CDJ Connect: lisibles, stables et mappables par le logiciel métier. Ils expriment une intention métier, pas une implémentation technique interne.
Objets métier
Intervenants
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1intervenants[] peut contenir autant d'intervenants que nécessaire. Chaque entrée représente le lien entre le dossier et une personne physique ou morale.
Règles:
- chaque intervenant doit avoir une
reference_intervenantstable dans le dossier; - chaque intervenant doit avoir un
role; - un intervenant contient exactement un bloc
ippouipm; contacts[]est optionnel et peut porter un ou plusieurs emails, téléphones fixes, mobiles ou fax;- plusieurs intervenants peuvent avoir la même famille de rôle;
- les suffixes numériques des rôles permettent de distinguer les occurrences quand c'est utile, par exemple
DEF01,DEF02,DEF03.
{
"reference_intervenant": "DEF-001",
"role": "DEF01",
"ipp": {
"civilite": "M",
"nom": "DUPONT",
"prenom": "Jean"
},
"contacts": [
{
"type": "EMAIL",
"valeur": "jean.dupont@example.com"
},
{
"type": "GSM",
"valeur": "+33601020304"
}
]
}
Contacts, adresses et comptes bancaires
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1
Les contacts se portent sur l'objet intervenant: chaque contact a un type (EMAIL, TEL, GSM, FAX) et une valeur.
Les adresses se portent dans ipp.adresses[] ou ipm.adresses[]. Chaque adresse contient les champs usuels ligne1, ligne2, ligne3, code_postal, ville et pays. Les champs type, label et principal sont optionnels: ils servent seulement à qualifier l'adresse si le projet en a besoin, sans imposer d'enum globale.
Les comptes bancaires se portent dans ipp.comptes_bancaires[] ou ipm.comptes_bancaires[]. Chaque compte bancaire doit avoir un iban. Le bic, le titulaire, la domiciliation, principal et reference_compte_bancaire sont optionnels. L'IBAN et le BIC doivent être normalisés en majuscules et sans espaces. Les adresses et coordonnées bancaires ne participent jamais au rapprochement dossier.
Éléments financiers
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1
Les montants sont transmis sous forme de chaînes décimales avec . comme séparateur.
{
"reference_element_financier": "CREANCE-123",
"montant_details": [],
"interets": [],
"renseignements": []
}
Agenda
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1agenda[] sert aux tâches, rappels, rendez-vous ou actions opérationnelles à créer dans le logiciel métier. Ce bloc est distinct de evenements[].
Pièces jointes
Références utiles: Référentiels CDJ Connect · JSON Schema CDJ Connect v1
{
"reference_piece": "DOC-BAIL",
"nom": "bail.pdf",
"chemin": "pieces/piece-001.pdf",
"date_piece": "2024-10-02",
"categorie": "bail",
"type": "PDF",
"mime_type": "application/pdf",
"hash": "sha256:abcdef..."
}
Règles:
cheminest le chemin relatif du fichier dans le ZIP;cheminest la seule source de vérité pour localiser le fichier;typeindique la famille de pièce supportée:IMAGE,PDF,WORD,EXCELouEML;mime_typeest optionnel mais recommandé pour contrôler le format réel du fichier;- pour une pièce EML,
mime_typedoit valoirmessage/rfc822quand il est renseigné; hashest optionnel, format recommandésha256:<hex>.
Traitement et rejets
Références utiles: Référentiels CDJ Connect · Exemples CDJ Connect
Le logiciel métier traite chaque ZIP comme une unité de traitement. Il peut déplacer le ZIP dans CDJCONNECT/EN_COURS/ pendant l'import, puis le déplacer dans le répertoire final selon le résultat.
flowchart LR A["CDJCONNECT/IN/<lot>.zip"] --> B["Contrôle ZIP + lot.json"] B --> C["Import logiciel métier"] C -->|Succès complet| D["CDJCONNECT/ARCHIVE/"] C -->|Échec bloquant| E["CDJCONNECT/REJET/"] C -->|Partiel autorisé| F["CDJCONNECT/ARCHIVE/ + rapport"]
Règles:
- un succès complet déplace le ZIP vers
CDJCONNECT/ARCHIVE/; - un échec bloquant déplace le ZIP vers
CDJCONNECT/REJET/; - un échec bloquant inclut notamment ZIP illisible,
lot.jsonabsent ou invalide, schéma invalide, pièce obligatoire introuvable, chemin interdit ou erreur de sécurité; - l'acceptation partielle est autorisée seulement si le logiciel métier sait tracer les objets importés et les objets rejetés;
- si le logiciel métier ne sait pas gérer proprement l'acceptation partielle, il doit rejeter le lot complet;
- un rapport de rejet est optionnel, mais recommandé pour tout rejet ou partiel;
- ce rapport sert notamment à l'étude pour identifier les dossiers en problème et au support pour diagnostiquer;
- un lot corrigé doit être renvoyé avec un nouvel
en_tete.id_lot. Le format recommandé du rapport est documenté dans la sous-page d'exemples.
Rejeu et mise à jour sans doublons
Le logiciel métier peut recevoir deux fois le même ZIP, ou recevoir plus tard un nouveau lot qui parle du même dossier. Dans ces cas, il doit retrouver les objets déjà importés grâce aux références stables, puis appliquer l'action demandée par code_evenement sans créer de doublons.
Principe:
en_tete.id_lotidentifie le lot ZIP;- le dossier est retrouvé par
service_destinataire.code + reference_clientou parservice_destinataire.code + reference_dossier_destinataire; code_evenementindique l'action à appliquer;- une mise à jour CDJ Connect est un append ciblé: les champs et collections absents ne suppriment rien dans le logiciel métier;
- seuls les objets transmis dans le lot sont à créer, rattacher ou mettre à jour selon l'événement;
- une suppression, un remplacement complet ou une annulation doivent être exprimés par un événement explicite, pas par l'absence d'un champ;
- les références internes aux objets identifient les éléments dans ce dossier:
reference_intervenant,reference_piece,reference_acte, etc. Matrice de comportement recommandée:
| Situation | code_evenement | Comportement attendu |
|---|---|---|
service_destinataire.code + reference_client introuvable | OUVERTURE_DOSSIER | Créer le dossier, puis mémoriser la correspondance service_destinataire.code + reference_client -> dossier du logiciel métier. |
Aucun dossier retrouvé par reference_client ni par reference_dossier_destinataire | MISE_A_JOUR_DOSSIER | Rejeter le dossier ou le lot: une mise à jour suppose un dossier existant. |
Aucun dossier retrouvé par reference_client ni par reference_dossier_destinataire | AJOUT_PIECE, ACTE_A_SIGNIFIER, MISE_A_JOUR_CREANCE, etc. | Rejeter le dossier ou le lot, sauf règle projet explicite autorisant une création implicite. |
service_destinataire.code + reference_client déjà connu | OUVERTURE_DOSSIER | Ne pas créer de second dossier. Traiter comme un rejeu ou un doublon selon la politique projet. |
Dossier retrouvé par reference_client ou reference_dossier_destinataire | MISE_A_JOUR_DOSSIER | Mettre à jour le dossier existant. Ne pas supprimer les champs ou collections absents du lot. |
Dossier retrouvé par reference_client ou reference_dossier_destinataire | AJOUT_PIECE | Rattacher les pièces nouvelles. Ne pas rattacher une pièce déjà connue via reference_piece. Ne pas supprimer les pièces absentes du lot. |
Dossier retrouvé par reference_client ou reference_dossier_destinataire | ACTE_A_SIGNIFIER | Créer ou préparer l'acte si reference_acte est nouvelle; sinon ne pas créer de doublon. |
Dossier retrouvé par reference_client ou reference_dossier_destinataire | MISE_A_JOUR_CREANCE | Créer ou mettre à jour les éléments financiers selon reference_element_financier. |
Validation
Références utiles: JSON Schema CDJ Connect v1 · Référentiels CDJ Connect
lot.jsondoit être présent à la racine du ZIP.- Le lot doit avoir un
service_destinataire.codenon vide. - Chaque dossier doit avoir au moins une référence de rapprochement:
reference_clientoureference_dossier_destinataire. reference_clientest obligatoire pour une ouverture de dossier.- Chaque dossier doit avoir au moins un
evenements[]. - Chaque intervenant doit avoir une
reference_intervenant, unrole, et exactement un blocippouipm. - Chaque contact d'intervenant, s'il est transmis, doit avoir un
typeet unevaleur. - Chaque adresse d'intervenant, si elle est transmise, doit contenir au moins une ligne, une ville, un code postal ou un pays.
- Chaque compte bancaire d'intervenant, s'il est transmis, doit avoir un
ibannon vide. - Le logiciel métier doit valider les coordonnées bancaires avant création ou mise à jour.
- Les extensions prestataire éventuelles doivent rester optionnelles et ignorables.
- Chaque
piece_jointe.chemindoit pointer vers un fichier existant dans le ZIP. - Les chemins doivent être relatifs, jamais absolus.
- Les chemins ne doivent pas contenir
../. - Le type de pièce doit être l'un des types supportés:
IMAGE,PDF,WORD,EXCELouEML. - Les fichiers de pièces ne doivent pas être encodés dans le JSON.
- Les montants doivent être des chaînes décimales avec
.comme séparateur. - Les dates simples doivent être en
YYYY-MM-DD. - Les dates et heures doivent être en ISO 8601.
- Le logiciel métier doit mettre en anomalie ou rejeter un événement dont le
code_evenementn'est pas supporté par son mapping. - Si
nature_dossier,type_mesureoutype_actevautAUTRE, lelibelle_*correspondant doit être renseigné. - Les codes externes ne doivent pas être utilisés seuls pour router le lot: ils complètent les enums CDJ Connect.
Versioning et gouvernance
version_formatest obligatoire.- Une version mineure peut ajouter des champs optionnels sans changer le sens des champs existants.
- Un changement de sens, de structure obligatoire ou de comportement incompatible impose une nouvelle version majeure.
- Par défaut, le logiciel métier doit ignorer les champs inconnus qu'il ne supporte pas.
- Un mode de validation stricte peut rejeter les champs inconnus si le projet le demande.
- Les nouveaux codes de référentiel doivent être ajoutés sans casser les codes existants.
- Les prestataires émetteurs doivent être identifiés dans
en_tete.emetteur. - Les extensions prestataire peuvent être ajoutées pour des besoins techniques locaux, mais ne doivent pas modifier le contrat standard.
- Les logiciels métier restent responsables de leurs contrôles métier internes.
- Un JSON Schema versionné est maintenu dans la sous-page
JSON Schema CDJ Connect v1.
Contraintes de sécurité minimales
Cette spécification ne dicte pas la politique de sécurité interne de chaque logiciel métier. Elle impose seulement les contraintes de contrat suivantes:
- chemins relatifs uniquement;
- chemins absolus interdits;
- séquences
../interdites; - formats attendus pour les pièces limités aux types supportés: images, PDF, Word, Excel et EML;
- tailles maximales de ZIP, fichiers et nombre de pièces à convenir par projet;
- le récepteur peut rejeter un lot pour raison de sécurité ou dépassement de limites.
Ressources
Référentiels CDJ Connect — archive v1.0JSON Schema CDJ Connect — archive v1.0Exemples CDJ Connect — archive v1.0