Déposer un document
Contrat du dépôt JSON, empreintes, limites et résultat accepté.
Le dépôt s’effectue par POST /api/ccfn/v1/object avec un corps JSON. Le compte doit disposer du droit de dépôt et appartenir à une organisation dont la souscription CCFN est active.
Ajoutez l’option de validation eIDAS
Votre document comporte déjà des signatures ou des cachets ? Activez l’option Validation de signatures et cachets pour les vérifier avant la conservation. Elle associe au dépôt le résultat du contrôle et la politique appliquée.
Utilisez signature_validation="required" et adaptez signature_validation_policy à vos exigences : certificat qualifié, QSCD, signature de personne physique ou cachet de personne morale.
Configurer l’option de service de confiance de validation →
Préparer la requête
| Champ | Exigence |
|---|---|
content_base64 | Obligatoire ; contenu complet du fichier encodé en Base64 valide |
original_filename | Obligatoire ; chaîne de 255 caractères maximum |
media_type | Type de média déclaré ; défaut application/octet-stream |
space_id | UUID de l’espace cible ; voir les règles de sélection des espaces |
external_id | Référence métier facultative, 255 caractères maximum |
retention_days | Durée facultative en jours, entier supérieur ou égal à 1 |
metadata | Attributs descriptifs structurés ; voir Métadonnées et recherche |
search_attributes | Jusqu’à 25 attributs scalaires explicitement recherchables |
digest_algorithm et digest | Ensemble facultatif activant le dépôt contrôlé |
signature_validation | none par défaut ou required |
signature_validation_policy | Politique facultative, uniquement avec la validation required |
La limite par défaut est 52 428 800 octets décodés, soit 50 Mio. L’encodage Base64 augmente la taille de transport d’environ un tiers. Le fichier n’est pas envoyé en multipart et aucun endpoint d’envoi par fragments n’est exposé ici.
Choisir le dépôt contrôlé
Sans digest_algorithm et digest, le CCFN calcule son empreinte sans disposer d’une empreinte de référence du déposant. Avec ces deux champs, il recalcule l’empreinte des octets décodés et la compare à la valeur fournie avant les traitements de preuve et de stockage.
| Algorithme transmis | Valeur de digest_algorithm | Longueur hexadécimale de digest |
|---|---|---|
| SHA-256 | sha256 | 64 caractères |
| SHA-384 | sha384 | 96 caractères |
| SHA-512 | sha512 | 128 caractères |
Le calcul porte sur les octets originaux, pas sur la chaîne Base64. Les deux champs doivent être fournis ensemble. Une empreinte différente provoque 422. Quelle que soit l’empreinte du déposant, l’empreinte de référence enregistrée par le CCFN reste SHA-256.
Exemple de structure
{
"content_base64": "SGVsbG8gQ0NGTgo=",
"original_filename": "exemple.txt",
"media_type": "text/plain",
"external_id": "DEMO-0001",
"retention_days": 30,
"metadata": {"source": "application-metier"},
"search_attributes": {"document_type": "demonstration"},
"signature_validation": "none"
}Ce petit exemple sans empreinte et sans espace illustre le contrat JSON. Pour une conservation chiffrée, transmettez l’UUID d’un espace chiffré. Pour un dépôt contrôlé, ajoutez l’algorithme et l’empreinte calculée sur le contenu réel.
Ce que signifie la réponse
Un dépôt nouveau abouti retourne 201 avec les métadonnées de l’objet dans data. Conservez au minimum id, external_id, digest, deposited_at, retention_until, space_id, encrypted et les informations proof.
deposit_mode décrit l’entrée Base64 ; il ne faut pas l’utiliser pour déterminer si le dépôt était contrôlé. Le couple d’empreinte fourni au dépôt et votre historique d’intégration permettent de tracer ce choix.
Le cachet CCFN est créé puis validé, et l’empreinte de ce cachet est horodatée. Le certificat, le manifeste et le fichier sont stockés avant l’enregistrement final du dépôt. Une validation obligatoire de signature non satisfaite ou une défaillance d’un prestataire de preuve empêche l’aboutissement du dépôt.
Reprendre sans dupliquer
Envoyez une Idempotency-Key stable pour chaque opération logique. Un nouvel envoi sans clé peut créer un autre objet, même si external_id ou le fichier sont identiques. Ne considérez pas une absence de réponse réseau comme un échec définitif du dépôt.
Étape suivante : Idempotence et suivi.
Updated 4 minutes ago

