Короткий посібник користувача
Почніть працювати з Chaindoc менш ніж за 10 хвилин. Цей посібник охоплює як веб-інтерфейс, так і інтеграцію API для розробників.
Для кінцевих користувачів
Покроково: ваш перший підпис
1ЗареєструватисяСтворіть безкоштовний обліковий запис на app.chaindoc.io. Підтвердьте свою адресу електронної пошти.
2Завантажити документНатисніть «Новий документ» і завантажте файл. Підтримуються PDF, документи Office, зображення (до 50 МБ).
3Додати деталі документаВведіть назву документа, опис та теги для організації. Виберіть рівень доступу (приватний, командний або публічний).
4Створити запит на підписНатисніть «Запросити підписи», додайте адреси електронної пошти одержувачів, встановіть кінцевий термін і налаштуйте повідомлення.
5Налаштуйте потік підписівВиберіть порядок підписання (паралельний або послідовний), увімкніть KYC, якщо потрібно, виберіть налаштування сповіщень.
6Надіслати запитПерегляньте та надішліть. Одержувачі отримають електронний лист із безпечним посиланням для підписання.
7Відстежуйте прогресВідстежуйте статус підписання в режимі реального часу. Отримуйте сповіщення, коли підписи зібрані.
8Завантажити підписаний документПісля завершення завантажте підписаний документ із сертифікатом блокчейну.
Для розробників
Інтегруйте Chaindoc у свою програму за допомогою нашого REST API та SDK.
1. Отримайте API-ключі
2. Встановіть SDK
Виберіть SDK відповідно до вашого випадку використання:
# Node.js 18+ required
npm install @chaindoc_io/server-sdk3. Створіть свій перший документ за допомогою 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. Створити запит на підпис
// 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. Інтегруйте інтерфейс підписання (Frontend)
Для вбудованого підпису у вашій веб-програмі:
// 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. Відстежуйте стан і обробляйте події
// 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. Налаштуйте веб-хуки (опціонально)
Отримуйте сповіщення про події в режимі реального часу:
// 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');
});Повний приклад робочого процесу
Ось повний приклад, що поєднує всі кроки:
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 });Наступні кроки
- Прочитайте інструкцію з установки для детального налаштування SDK
- Ознайомтеся з документацією API, щоб отримати повну довідку про кінцеві точки.
- Перевірте документацію SDK для прикладів, специфічних для фреймворків (React, Vue, Angular)
- Налаштуйте веб-хуки для сповіщень про події в режимі реального часу
- Ознайомтеся з найкращими практиками безпеки для впровадження у виробництво.
Поширені запитання
Скільки часу займає перевірка блокчейну?
Перевірка блокчейну зазвичай займає 1-5 хвилин, залежно від мережі. Документи доступні негайно, перевірка відбувається асинхронно.
Чи можу я протестувати без оплаченого плану?
Так! Безкоштовний план включає доступ до веб-інтерфейсу. Для доступу до API необхідний бізнес-план, але ви можете використовувати тестове середовище для тестування.
Чи є підписи юридично обов'язковими?
Так, підписи Chaindoc відповідають вимогам eIDAS, ESIGN Act та UETA. Верифікація блокчейном забезпечує додаткові юридичні докази.
Які формати файлів підтримуються?
PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, JPG, PNG, GIF, WEBP, SVG, MP4, AVI, MOV, WMV. Максимальний розмір файлу: 50 МБ.