Guide de démarrage rapide

Commence à utiliser Chaindoc en moins de 10 minutes. Ce guide explique comment utiliser l'interface web et l'intégration API pour les développeurs.

Pour les utilisateurs finaux

Étape par étape : ta première signature

1Inscrivez-vousCrée ton compte gratuit sur app.chaindoc.io. Vérifie ton adresse e-mail.

2Télécharger le documentClique sur « Nouveau document » et télécharge ton fichier. On prend en charge les fichiers PDF, les documents Office et les images (jusqu'à 50 Mo).

3Ajouter les détails du documentMets le nom du document, sa description et des balises pour l'organisation. Choisis le niveau d'accès (privé, équipe ou public).

4Créer une demande de signatureClique sur « Demander des signatures », ajoute les adresses e-mail des destinataires, fixe une date limite et personnalise le message.

5Configurer le flux de signatureChoisis l'ordre de signature (en parallèle ou séquentiel), active le KYC si nécessaire, sélectionne les préférences de notification.

6Envoyer la demandeRelis et envoie. Les destinataires reçoivent un e-mail avec un lien de signature sécurisé.

7Suivre la progressionSuivez le statut des signatures en temps réel. Recevez des notifications quand les signatures sont collectées.

8Télécharger le document signéUne fois que c'est fait, télécharge le document signé avec le certificat blockchain.

Pour les développeurs

Intégrez Chaindoc à votre application à l'aide de notre API REST et de nos SDK.

1. Obtenir les clés API

2. Installe le SDK.

Choisissez le SDK en fonction de votre cas d'utilisation :

# Node.js 18+ required
npm install @chaindoc_io/server-sdk

3. Crée ton premier document via l'API

server.ts
import { Chaindoc } from '@chaindoc_io/server-sdk';
import { readFile } from 'fs/promises';

// Initialize SDK
const chaindoc = new Chaindoc({
  secretKey: process.env.CHAINDOC_SECRET_KEY!,
});

// 1. Upload document
const buffer = await readFile('./contract.pdf');
const file = new Blob([buffer], { type: 'application/pdf' });
const { media } = await chaindoc.media.upload([file]);

// 2. Create document record
const doc = await chaindoc.documents.create({
  name: 'Service Agreement',
  description: 'Q4 2024 Contract',
  media: media[0],
  status: 'published', // Triggers blockchain verification
  hashtags: ['#contract', '#2024'],
  meta: [{ key: 'client', value: 'Acme Corp' }],
});

console.log('Document created:', doc.documentId);

4. Créer une demande de signature

server.ts
// Create signature request for multiple signers
const sigRequest = await chaindoc.signatures.createRequest({
  versionId: doc.document.versions[0].uuid,
  recipients: [
    { email: 'signer1@example.com' },
    { email: 'signer2@example.com' },
  ],
  deadline: new Date('2024-12-31'),
  message: 'Please review and sign this agreement',
  embeddedFlow: true, // Enable for frontend integration
});

console.log('Signature request created:', sigRequest.signatureRequest.uuid);

5. Intégrer l'interface de signature (frontend)

Pour la signature intégrée dans ton application web :

// Create embedded session for signer
const session = await chaindoc.embedded.createSession({
  email: 'signer1@example.com',
  metadata: {
    documentId: doc.documentId,
    signatureRequestId: sigRequest.signatureRequest.uuid,
  },
});

// Return sessionId to frontend
res.json({ sessionId: session.sessionId });

6. Suivre le statut et gérer les événements

terminal
// Check signature request status
const status = await chaindoc.signatures.getRequestStatus(
  sigRequest.signatureRequest.uuid
);

if (status.signatureRequest.status === 'completed') {
  console.log('All signatures collected!');
  // Download signed document
  // Send notifications
  // Update your database
}

7. Configurez les webhooks (facultatif)

Recevez des notifications en temps réel pour les événements :

webhooks.ts
// Configure webhook endpoint
app.post('/webhooks/chaindoc', (req, res) => {
  const event = req.headers['x-webhook-event'];
  const payload = req.body;
  
  switch (event) {
    case 'document.verified':
      console.log('Document verified on blockchain:', payload.txHash);
      break;
    case 'signature.request.completed':
      console.log('All signatures collected!');
      // Send notifications, update status, etc.
      break;
  }
  
  res.status(200).send('OK');
});

Exemple complet de flux de travail

Voici un exemple complet qui combine toutes les étapes :

complete-workflow.ts
import { Chaindoc } from '@chaindoc_io/server-sdk';
import { readFile } from 'fs/promises';

async function createSigningWorkflow() {
  const chaindoc = new Chaindoc({
    secretKey: process.env.CHAINDOC_SECRET_KEY!,
  });
  
  // Step 1: Upload document
  const buffer = await readFile('./contract.pdf');
  const file = new Blob([buffer], { type: 'application/pdf' });
  const { media } = await chaindoc.media.upload([file]);
  
  // Step 2: Create document
  const doc = await chaindoc.documents.create({
    name: 'Service Agreement',
    description: 'Contract for consulting services',
    media: media[0],
    status: 'published',
    hashtags: ['#contract'],
    meta: [],
  });
  
  // Step 3: Create signature request
  const sigRequest = await chaindoc.signatures.createRequest({
    versionId: doc.document.versions[0].uuid,
    recipients: [{ email: 'signer@example.com' }],
    deadline: new Date('2024-12-31'),
    embeddedFlow: true,
  });
  
  // Step 4: Create session for frontend
  const session = await chaindoc.embedded.createSession({
    email: 'signer@example.com',
    metadata: {
      documentId: doc.documentId,
      signatureRequestId: sigRequest.signatureRequest.uuid,
    },
  });
  
  return {
    documentId: doc.documentId,
    sessionId: session.sessionId,
  };
}

// Usage
const { documentId, sessionId } = await createSigningWorkflow();
console.log('Ready for signing:', { documentId, sessionId });

Prochaines étapes

  • Lis le guide d'installation pour savoir comment configurer le SDK en détail.
  • Jette un œil à la documentation API pour avoir une référence complète des points de terminaison.
  • Regarde la documentation des SDK pour des exemples spécifiques au framework (React, Vue, Angular).
  • Configurez des webhooks pour recevoir des notifications d'événements en temps réel.
  • Vérifiez les meilleures pratiques de sécurité pour le déploiement en production.

Questions courantes

Combien de temps prend la vérification de la blockchain ?

La vérification de la blockchain prend généralement entre 1 et 5 minutes, selon le réseau. Les documents sont disponibles tout de suite, la vérification se fait en même temps.

Puis-je tester sans souscrire à un abonnement payant ?

Oui ! Le forfait gratuit inclut l'accès à l'interface web. L'accès à l'API nécessite un forfait Business, mais vous pouvez utiliser l'environnement sandbox pour faire des tests.

Les signatures sont-elles légalement contraignantes ?

Oui, les signatures Chaindoc respectent les règles eIDAS, ESIGN Act et UETA. La vérification par blockchain apporte des preuves légales supplémentaires.

Quels formats de fichiers sont pris en charge ?

PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, JPG, PNG, GIF, WEBP, SVG, MP4, AVI, MOV, WMV. Taille maximale du fichier : 50 Mo.