Kiirjuhend
Hakka Chaindoc'iga tööle alla 10 minutiga. See juhend viib sind läbi nii veebiliidese kui ka API, et saaksid valida endale sobiva tee.
Allkirjastamine veebiliidese kaudu
Esimeste allkirjade saatmiseks ei ole koodi vaja. Veebirakendus haldab kõike: üleslaadimine, adressaadid, allkirjastamise voog ja blockchain verifitseerimine.
Samm-sammult: sinu esimene allkiri
1Loo kontoRegistreeru aadressil app.chaindoc.io ja kinnita oma e-post. Võtab umbes 30 sekundit.
2Laadi dokument ülesKliki "Uus dokument" ja lohista fail sisse. Chaindoc toetab PDF, Office dokumente ja pilte kuni 50MB.
3Täida üksikasjadAnna sellele nimi, lisa soovi korral kirjeldus ja vali juurdepääsutase (privaatne, meeskond või avalik). Sildid on valikulised, kuid aitavad hiljem otsimisel.
4Loo allkirja pöördumineKliki "Palu allkirju", lisa allkirjastajate e-posti aadressid, sea tähtaeg ja kirjuta sõnum. Allkirjastamise järjekord võib olla paralleelne (kõik allkirjastavad korraga) või järjestikune (üks korraga).
5SaadaKontrolli üksikasjad ja vajuta saada. Iga adressaat saab e-kirja turvalise allkirjastamise lingiga. Võid ka lubada KYC verifitseerimise, kui vajad isikutuvastust.
6Jälgi progressiTöölaud näitab reaalajas, kes on allkirjastanud ja kes mitte. Saad teate iga allkirja saabumisel.
7Laadi alla allkirjastatud koopiaKui kõik on allkirjastanud, laadi alla lõplik dokument. See sisaldab blockchain verifitseerimise tunnistust, mis tõendab, et dokumenti pole muudetud.
Tahad mõista erinevaid allkirja tüüpe (lihtne, täiustatud, kvalifitseeritud)? See on oluline vastavuse seisukohalt. Enamik ärilepinguid töötab hästi lihtsate digiallkirjadega, kuid reguleeritud tööstusharjad vajavad sageli täiustatud või kvalifitseeritud allkirju.
Integreerimine API kaudu
Kui ehitad allkirjastamise oma rakendusse, kasutad REST API ja TypeScript SDK-sid. Voog on sama mis veebiliideses, lihtsalt automatiseeritud.
1. Hangi oma API võtmed
API juurdepääs nõuab Business plaani. Mine oma töölaual Settings > API Access ja loo kaks võtit:
- Avalik võti (`pk_`) frontend'i kasutamiseks Embed SDK-ga
- Salajane võti (`sk_`) backend'i kasutamiseks Server SDK-ga. Hoia see kliendipoolsest koodist eemal.
2. Paigalda SDK
Vali SDK, mis sobib sinu kasutusjuhtumiga. Enamik rakendusi vajab mõlemat: Server SDK dokumentide loomiseks ja Embed SDK allkirjastamise kasutajaliidese jaoks.
# Node.js 18+ required
npm install @chaindoc_io/server-sdkÜksikasjaliku raamistiku seadistuse (React, Vue, Angular, Next.js) kohta vaata paaldusjuhendit.
3. Laadi üles ja loo dokument
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);`status: 'published'` seadistamine käivitab blockchain verifitseerimise automaatselt. Kui soovid oodata, kasuta `'draft'` ja avalda hiljem.
4. Loo allkirja pöördumine
// 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);Sea `embeddedFlow: true`, kui kavatsed näidata allkirjastamise kasutajaliidest oma rakenduses. Ilma selleta saavad allkirjastajad lingi Chaindoc'i hostitud allkirjastamise lehele.
5. Näita allkirjastamise liidest (frontend)
See on valikuline. Kui seadsid `embeddedFlow: true`, saad avada allkirjastamise liidese otse oma rakenduses. Esmalt loo sessioon backend'is, seejärel edasta sessiooni ID frontend'ile.
// 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. Kontrolli staatust ja kuula sündmusi
Saad staatust küsitleda, kuid webhook'id on tootmiseks parem valik. Need teavitavad sinu serverit kohe, kui midagi juhtub.
// Poll approach (fine for testing)
const status = await chaindoc.signatures.getRequestStatus(
sigRequest.signatureRequest.uuid
);
if (status.signatureRequest.status === 'completed') {
console.log('All signatures collected!');
}7. Seadista webhook'id (soovitatav)
Webhook'id tõukavad sündmused sinu serverisse reaalajas, nii et sa ei pea pidevalt kontrollima. Siin on põhiline Express handler:
// 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');
});Tootmises peaksid veenduma, et webhook allkirjad on HMAC-ga verifitseeritud, et olla kindel, et päring tõesti tuli Chaindoc'ist. Webhook'ide juhend käsitleb seda üksikasjalikult.
Täielik töövoo näide
See paneb kõik kokku: üleslaadimine, loomine, allkirjastamine, verifitseerimine. Kopeeri see, asenda oma API võtmed ja sul on töötav prototüüp.
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 });Kuhu edasi minna
Nüüd, kui oled põhitõed selgeks saanud, siin on, mida uurida olenevalt sellest, mida ehitad:
- Paigaldus — raamistikupõhine seadistus React, Vue, Angular ja Next.js jaoks
- API dokumentatsioon — täielik endpoint viide päringu/vastuse näidetega
- SDK-d — Server SDK ja Embed SDK raamistikupõhiste integratsioonijuhenditega
- Webhook'id — reaalajas sündmuste teavitused tootmisrakendustele
- Turbe parimad tavad — mida lukustada enne elama minekut
Sagedased küsimused
Kui kaua blockchain verifitseerimine aega võtab?
Tavaliselt 1-5 minutit, olenevalt võrgust. Sinu dokument on kohe saadaval. Verifitseerimine toimub taustal ja saad webhook sündmuse, kui see on valmis.
Kas saan API-d tasuta testida?
Tasuta plaan annab juurdepääsu veebiliidesele. API juurdepääs vajab Business plaani, kuid sandbox keskkond võimaldab testida kõike, ilma et see mõjutaks päris andmeid või kasutaks kvooti.
Kas need allkirjad on õiguslikult siduvad?
Jah. Chaindoc allkirjad vastavad eIDAS-ile Euroopas, ESIGN Act'ile ja UETA-le USAs ning samaväärsetele määrustele enamikus teistes jurisdiktsioonides. Blockchain verifitseerimine lisab sellele veel ühe tõendamiskihi, mis võib vaidlustes oluline olla. Vaata allkirjade dokumentatsiooni üksikasjadeks, milline allkirja tüüp sobib sinu vastavusvajadustele.
Milliseid failiformaate saan üles laadida?
PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, JPG, PNG, GIF, WEBP, SVG, MP4, AVI, MOV ja WMV. Maksimaalne failisuurus on 50MB.