API integratsioon
Integreerige Chaindoc oma rakendustesse meie võimsa REST API ja SDK-de abil. Automatiseerige dokumentide töövood, koguge allkirju ja sünkroniseerige sündmusi reaalajas.
Ülevaade
Chaindoc pakub terviklikku REST API-d, mis võimaldab teil luua kohandatud dokumentide allkirjastamise töövooge, automatiseerida protsesse ja integreerida neid olemasolevate süsteemidega. API on mõeldud arendajatele, pakkudes täielikku TypeScripti tuge ja automaatseid korduskatseid.
Alustamine
1. Hankige API-juurdepääs
2. Valige integratsioonimeetod
Chaindoc pakub kolme integratsioonimeetodit:
- REST API – otsesed HTTP-päringud maksimaalse paindlikkuse tagamiseks
- Server SDK – tüübikindel Node.js SDK automaatsete korduskatseidega (@chaindoc_io/server-sdk)
- Embed SDK – veebirakenduste esmane allkirjastamise liides (@chaindoc_io/embed-sdk)
3. Kiire näide
curl -X POST https://api.chaindoc.io/api/v1/documents \
-H "Authorization: Bearer sk_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Contract",
"description": "Service agreement",
"status": "published",
"hashtags": ["#contract"],
"meta": []
}'Põhilised API kontseptsioonid
Autentimine
Kõik API-päringud nõuavad autentimist, kasutades API-võtmeid autoriseerimise päises:
Authorization: Bearer sk_live_xxxxxxxxxxxxx- Avalikud võtmed (pk_) – ainult lugemisõigus frontend-rakendustele
- Salajased võtmed (sk_) – täielik lugemis-/kirjutamisõigus tagapõhja serveritele
- Testivõtmed (pk_test_, sk_test_) – etappide/arenduse jaoks
- Live Keys (pk_live_, sk_live_) – tootmiseks
Kiiruspiirangud
API-lõpppunktidel on õiglase kasutamise tagamiseks kiiruspiirangud:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 8
X-RateLimit-Reset: 1640000000- Üldised piirangud: 3 päringut 10 sekundi jooksul
- Meedia üleslaadimine: 3 taotlust 10 sekundi jooksul
- Lugemisoperatsioonid: 10 päringut 60 sekundi jooksul
- Allkirja loomine: 20 taotlust 3 sekundi jooksul
Veakäsitlus
API tagastab standardseid HTTP-staatuskoode koos üksikasjalike veateadetega:
{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request",
"details": [
{
"field": "name",
"message": "name must be a string"
}
]
}Üldised integratsioonimustrid
Dokumendi üleslaadimine ja allkirjastamine
1Lae fail ülesPOST /media/upload – Laadige üles PDF, Office'i dokument või pilt
2Dokumendi loominePOST /documents – looge dokumendi kirje staatusega 'published' plokiahela kontrollimiseks
3Loo allkirja taotlusPOST /signatures/requests – lisage adressaadid ja konfigureerige töövoog
4Loo sisseehitatud sessioonPOST /embedded/sessions – loo iga allkirjastaja jaoks sessioon
5Avatud allkirjastamise liidesKasutage Embed SDK-d koos sessionId-ga, et avada allkirjastamisvoog esilehel
6Jälgi edusammeGET /signatures/requests/:id/status – jälgige allkirjastamise kulgu
7Võta vastu veebihooksignature.request.completed sündmus, kui kõik allkirjad on kogutud
Ainult backend-töövoog
Juhul, kui allakirjutajad ei kasuta teie liidest:
// Create signature request with email notifications
const sigRequest = await chaindoc.signatures.createRequest({
versionId: documentVersionId,
recipients: [{ email: 'signer@example.com' }],
deadline: new Date('2024-12-31'),
embeddedFlow: false, // Signers use Chaindoc email links
message: 'Please review and sign this document',
});
// Chaindoc sends emails to recipients
// Track status via webhooks or API pollingDokumentide massiline töötlemine
// Process multiple documents in batch
const documents = ['doc1.pdf', 'doc2.pdf', 'doc3.pdf'];
for (const file of documents) {
const buffer = await readFile(file);
const blob = new Blob([buffer], { type: 'application/pdf' });
const { media } = await chaindoc.media.upload([blob]);
await chaindoc.documents.create({
name: file,
description: 'Batch processed document',
media: media[0],
status: 'published',
hashtags: ['#batch'],
meta: [{ key: 'batch', value: 'import-2024' }],
});
}Täpsemad funktsioonid
Veebihookid
Saage reaalajas teateid dokumendi sündmuste kohta:
// Configure webhook endpoint
app.post('/webhooks/chaindoc', async (req, res) => {
const event = req.headers['x-webhook-event'];
switch (event) {
case 'document.verified':
await handleBlockchainVerification(req.body);
break;
case 'signature.request.completed':
await notifyAllParties(req.body);
break;
}
res.status(200).send('OK');
});KYC-integratsioon
Integreerige identiteedi kontrollimine kõrge turvalisusega töövoogudesse:
// Create signature request with KYC required
const sigRequest = await chaindoc.signatures.createRequest({
versionId: documentVersionId,
recipients: [{
email: 'signer@example.com',
shareToken: 'sumsub_token_here' // Optional: pre-verified KYC
}],
deadline: new Date('2024-12-31'),
isKycRequired: true, // Enforce identity verification
});Juurdepääsu kontroll
Haldage dokumendi õigusi täpse juurdepääsukontrolliga:
// Update document access rights
await chaindoc.documents.updateRights(documentId, {
accessType: 'restricted',
accessEmails: [
{ email: 'viewer@company.com', level: 'read' },
{ email: 'editor@company.com', level: 'write' },
],
accessRoles: [
{ roleId: 1, level: 'read' }, // Team role
],
});Parimad tavad
- Säilitage API-võtmed keskkonnamuutujates, mitte kunagi koodis
- Kasutage arendamiseks testivõtmeid ja tootmiseks live-võtmeid.
- Rakendage eksponentsiaalset tagasilükkamist kiiruspiirangu käsitlemiseks
- Kontrollige veebihooki allkirju, et vältida kordusrünnakuid.
- Salvestage API vastused vajaduse korral vahemällu
- Laadige failid üles enne dokumentide loomist, et saavutada parem tulemus
- Kasutage leheküljenumbrit suurte andmekogumite puhul
- Jälgige kiiruspiirangu päiseid ja kohandage päringute sagedust
Näited integratsioonidest
E-kaubanduse platvorm
Genereerige ja allkirjastage automaatselt ostulepingud suure väärtusega tellimuste jaoks.
HR-süsteem
Integreerige HRIS-iga, et automatiseerida töölepingu allkirjastamine tööleasumisel.
CRM-integratsioon
Looge allkirja taotlused otse Salesforce'i, HubSpot'i või kohandatud CRM-i kliendiandmetest.
Dokumendihaldussüsteem
Lisage olemasolevale dokumendihaldussüsteemile plokiahela kontroll, et tagada võltsimiskindlad auditeerimisjäljed.
Ressursid
- API dokumentatsioon – täielik REST API viide koos kõigi lõpppunktidega
- SDK-d – serveri SDK ja Embed SDK dokumentatsioon koos raamistiku näidetega
- Webhooks – reaalajas sündmuste teavituste seadistamise juhend
- Kiirstart – käivitage oma esimene integratsioon 10 minutiga
- GitHubi näited – integratsioonide näited ja koodilõigud