Démarrage rapide
Créer un espace chiffré, déposer un fichier et vérifier sa restitution.
Ce parcours réalise une première conservation avec un fichier de test. Préparez deux comptes distincts : un administrateur des espaces et un compte d’usage autorisé à déposer, lire et contrôler les objets.
1. Préparer les accès
L’équipe Datasure doit avoir activé une souscription CCFN pour votre organisation et attribué les rôles nécessaires. Utilisez l’URL HTTPS de l’environnement qui vous a été communiqué.
Les commandes supposent que CCFN_BASE_URL, CCFN_ADMIN_USER et CCFN_USER sont définies dans votre terminal. La variable d’URL contient seulement l’origine HTTPS, sans /api/ccfn/v1. Avec curl --user "$CCFN_USER", curl demande le mot de passe sans l’écrire dans la commande.
2. Créer un espace chiffré
Avec le compte administrateur :
curl --fail-with-body --user "$CCFN_ADMIN_USER" \
-H 'Content-Type: application/json' \
--data '{"label":"Documents de test","external_id":"TEST_CCFN","is_encrypted":true,"lifecycle_duration":30}' \
"$CCFN_BASE_URL/api/ccfn/v1/space" > espace.jsonLa réponse attendue est 201. Conservez data.id comme SPACE_ID. La durée de 30 jours est un choix de test, pas une recommandation de conservation pour vos documents de production.
3. Préparer le fichier et sa requête
Cette commande Python ne contacte aucun service : elle encode votre fichier et calcule son empreinte.
export SPACE_ID='UUID_RETOURNE_PAR_LA_CREATION'
python3 - <<'PY'
import base64, hashlib, json, os
from pathlib import Path
content = Path('document-test.pdf').read_bytes()
payload = {
'content_base64': base64.b64encode(content).decode('ascii'),
'original_filename': 'document-test.pdf',
'media_type': 'application/pdf',
'space_id': os.environ['SPACE_ID'],
'digest_algorithm': 'sha256',
'digest': hashlib.sha256(content).hexdigest(),
'external_id': 'TEST-2026-0001',
'search_attributes': {'document_type': 'test'}
}
Path('depot.json').write_text(json.dumps(payload), encoding='utf-8')
PY4. Déposer avec une clé stable
Générez une clé pour cette opération et conservez-la avant le premier envoi. Réutilisez exactement la même clé et le même corps pour une reprise de cette opération.
python3 -c 'import uuid; print(uuid.uuid4())' > depot.key
curl --user "$CCFN_USER" \
-H 'Content-Type: application/json' \
-H "Idempotency-Key: $(cat depot.key)" \
-D depot.headers -o depot-response.json \
--data-binary @depot.json \
"$CCFN_BASE_URL/api/ccfn/v1/object"Contrôlez le code HTTP dans depot.headers et le corps. Un nouveau dépôt abouti retourne 201 ; une reprise identique déjà aboutie retourne 200. Conservez l’UUID data.id, l’empreinte data.digest et data.retention_until. Si vous recevez 202 ou perdez la réponse réseau, consultez le suivi du dépôt avant de créer une nouvelle opération.
5. Lire et contrôler
export OBJECT_ID='UUID_RETOURNE_PAR_LE_DEPOT'
curl --fail-with-body --user "$CCFN_USER" \
"$CCFN_BASE_URL/api/ccfn/v1/object/$OBJECT_ID" \
--output document-restitue.pdf
curl --fail-with-body --user "$CCFN_USER" \
"$CCFN_BASE_URL/api/ccfn/v1/object/$OBJECT_ID/integrity"Le contrôle réussi retourne 200 et data.status="valid". Vérifiez également que les octets restitués correspondent à votre fichier initial. La restitution binaire ne contient pas d’enveloppe JSON en cas de succès.
Préparer le passage en production
Remplacez les durées et attributs de test par votre modèle métier, attribuez les permissions nécessaires et conservez durablement la correspondance entre référence métier, clé d’idempotence et UUID CCFN. Utilisez des données de test dans l’environnement de recette et confirmez l’ouverture de l’environnement de production avant tout transfert de données réelles.
Étape suivante : Authentification et droits.
Updated about 2 hours ago

