Skrócona instrukcja obsługi
Rozpocznij pracę z Chaindoc w mniej niż 10 minut. Niniejszy przewodnik obejmuje zarówno interfejs internetowy, jak i integrację API dla programistów.
Dla użytkowników końcowych
Krok po kroku: twój pierwszy podpis
1Zarejestruj sięZałóż darmowe konto na stronie app.chaindoc.io. Zweryfikuj swój adres e-mail.
2Prześlij dokumentKliknij „Nowy dokument” i prześlij swój plik. Obsługiwane formaty to PDF, dokumenty Office, obrazy (do 50 MB).
3Dodaj szczegóły dokumentuWprowadź nazwę dokumentu, opis i tagi w celu uporządkowania. Wybierz poziom dostępu (prywatny, zespołowy lub publiczny).
4Utwórz prośbę o podpisKliknij „Poproś o podpisy”, dodaj adresy e-mail odbiorców, ustaw termin i dostosuj treść wiadomości.
5Skonfiguruj przepływ podpisówWybierz kolejność podpisywania (równoległą lub sekwencyjną), w razie potrzeby włącz KYC, wybierz preferencje dotyczące powiadomień.
6Wyślij zapytanieSprawdź i wyślij. Odbiorcy otrzymają wiadomość e-mail z bezpiecznym linkiem do podpisania.
7Śledź postępyMonitoruj status podpisywania w czasie rzeczywistym. Otrzymuj powiadomienia po zebraniu podpisów.
8Pobierz podpisany dokumentPo zakończeniu pobierz podpisany dokument z certyfikatem blockchain.
Dla programistów
Zintegruj Chaindoc ze swoją aplikacją, korzystając z naszego REST API i SDK.
1. Uzyskaj klucze API
2. Zainstaluj SDK
Wybierz SDK w oparciu o twój przypadek użycia:
# Node.js 18+ required
npm install @chaindoc_io/server-sdk3. Utwórz swój pierwszy dokument za pomocą API
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. Utwórz żądanie podpisu
// 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. Zintegruj interfejs podpisywania (frontend)
W przypadku podpisywania osadzonego w aplikacji internetowej:
// 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. Śledź status i obsługuj zdarzenia
// 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. Skonfiguruj webhooki (opcjonalnie)
Otrzymuj powiadomienia o wydarzeniach w czasie rzeczywistym:
// 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');
});Przykład kompletnego przepływu pracy
Oto kompletny przykład łączący wszystkie kroki:
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 });Kolejne kroki
- Zapoznaj się z instrukcją instalacji, aby uzyskać szczegółowe informacje na temat konfiguracji SDK.
- Zapoznaj się z dokumentacją API, aby uzyskać pełne odniesienia do punktów końcowych.
- Sprawdź dokumentację SDK, aby zapoznać się z przykładami specyficznymi dla danego frameworka (React, Vue, Angular).
- Skonfiguruj webhooki, aby otrzymywać powiadomienia o zdarzeniach w czasie rzeczywistym.
- Zapoznaj się z najlepszymi praktykami bezpieczeństwa dotyczącymi wdrażania produkcyjnego.
Często zadawane pytania
Jak długo trwa weryfikacja łańcucha bloków?
Weryfikacja łańcucha bloków trwa zazwyczaj od 1 do 5 minut, w zależności od sieci. Dokumenty są dostępne natychmiast, a weryfikacja odbywa się asynchronicznie.
Czy mogę przetestować usługę bez wykupienia płatnego planu?
Tak! Plan bezpłatny obejmuje dostęp do interfejsu internetowego. Dostęp do API wymaga planu Business, ale do testów możesz korzystać ze środowiska sandbox.
Czy podpisy są prawnie wiążące?
Tak, podpisy Chaindoc są zgodne z przepisami eIDAS, ESIGN Act i UETA. Weryfikacja blockchain zapewnia dodatkowe dowody prawne.
Jakie formaty plików są obsługiwane?
PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, JPG, PNG, GIF, WEBP, SVG, MP4, AVI, MOV, WMV. Maksymalny rozmiar pliku: 50 MB.