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:

terminal
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:

terminal
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:

terminal
{
  "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:

terminal
// 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 polling

Dokumentide massiline töötlemine

terminal
// 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:

terminal
// 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:

terminal
// 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:

terminal
// 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