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

ChampExigence
content_base64Obligatoire ; contenu complet du fichier encodé en Base64 valide
original_filenameObligatoire ; chaîne de 255 caractères maximum
media_typeType de média déclaré ; défaut application/octet-stream
space_idUUID de l’espace cible ; voir les règles de sélection des espaces
external_idRéférence métier facultative, 255 caractères maximum
retention_daysDurée facultative en jours, entier supérieur ou égal à 1
metadataAttributs descriptifs structurés ; voir Métadonnées et recherche
search_attributesJusqu’à 25 attributs scalaires explicitement recherchables
digest_algorithm et digestEnsemble facultatif activant le dépôt contrôlé
signature_validationnone par défaut ou required
signature_validation_policyPolitique 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 transmisValeur de digest_algorithmLongueur hexadécimale de digest
SHA-256sha25664 caractères
SHA-384sha38496 caractères
SHA-512sha512128 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.


Did this page help you?