Chaindoc REST API dokumentatsioon

Täielik endpointide viide Chaindoc REST API-le. Asi on selles, et saad siit kõik vajaliku: autentimine, dokumendid, allkirjad, meedia üleslaadimine, manustatud sessioonid ja blockchaini verifitseerimine.

Ülevaade

API annab programmeeritud juurdepääsu kõigele Chaindocis: dokumendid, allkirjad, blockchaini verifitseerimine ja meeskonna haldamine. Ausalt öeldes on see loodud server-server suhtluseks ning toetab nii avalikke kui ka salajasi API võtmeid.

  • Dokumendid — loo, uuenda ja verifitseeri dokumente blockchainil
  • Allkirjad — saada allkirjataotlusi ja jälgi nende täitmist
  • Meedia — laadi üles PDF-e, pilte ja videosid (max 10 päringu kohta)
  • Manustatud sessioonid — loo allkirjastamise sessioone oma frontendile (kasutab Embed SDK)
  • KYC — jaga ja verifitseeri isikuandmeid Sumsubi integratsiooni kaudu

Autentimine

Iga päring vajab API võtit Authorization päises. Põhiline erinevus on selles, et olemas on kaks tüüpi:

Võtme tüübid

  • Avalik võti (`pk_`) — ainult lugemiseks, ohutu frontendi koodi jaoks
  • Salajane võti (`sk_`) — täielik lugemis/kirjutamisõigus, ainult backendile. Ära kunagi avalikusta kliendipoolses koodis.

Võtmete hankimine

1Telli Business plaanAinult Business plaani kasutajad saavad luua API võtmeid

2Navigeeri API Access juurdeMine Settings → API Access oma dashboardis

3Loo API võtiKlõpsa Create API Key nupule

4Hoiusta turvaliseltHoiusta salajane võti turvaliselt (näidatakse ainult üks kord)

API võtmete kasutamine

Lisa oma API võti Authorization päisesse Bearer autentimisega:

terminal
curl -X GET https://api.chaindoc.io/api/v1/me \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxx"

Päringute piirangud

API endpointidel on päringute piirangud, et vältida kuritarvitamist. Piirangud sõltuvad endpointi tüübist.

  • Üldised endpointid: 3 päringut 10 sekundi jooksul
  • Meedia üleslaadimine: 3 päringut 10 sekundi jooksul
  • OTP verifitseerimine: 5 päringut 60 sekundi jooksul
  • Lugemistoimingud: 10 päringut 60 sekundi jooksul
  • Allkirja loomine: 20 päringut 3 sekundi jooksul

Kui päringute piirang ületatakse, saad 429 Too Many Requests vastuse. Päringute piirangu päised on kaasatud vastustesse:

terminal
X-RateLimit-Limit: 3
X-RateLimit-Remaining: 2
X-RateLimit-Reset: 1640000000

Vigade käsitlemine

HTTP staatuskoodid

  • 200 - Eduk
  • 201 - Ressurss edukalt loodud
  • 400 - Vale päring (valideerimise viga)
  • 401 - Autoriseerimata (kehtetu või puuduv API võti)
  • 403 - Keelatud (ebapiisavad õigused)
  • 404 - Ressurssi ei leitud
  • 429 - Liiga palju päringuid (päringute piirang ületatud)
  • 500 - Sisemine serveri viga

Veateate formaat

terminal
{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "Bad Request",
  "details": [
    {
      "field": "name",
      "message": "name must be a string"
    }
  ]
}

Üldine API

Hangi API võtme info

Hangi teavet praeguse API võtme kohta.

GET /me

Authorization: Bearer sk_live_xxxxx

Tervisekontroll

Kontrolli API ühenduvust ja võtme kehtivust.

GET /health

Authorization: Bearer sk_live_xxxxx

Dokumentide API

Loo dokument

Loo uus dokument blockchaini verifitseerimisega. Kui staatus on seatud 'published', verifitseeritakse dokument blockchainil automaatselt.

POST /documents

Headers:
Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Uuenda dokumenti

Uuenda dokumenti, luues uue versiooni. Eelmised versioonid säilitatakse auditi jälgimiseks.

PUT /documents/:documentId

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Uuenda dokumendi juurdepääsuõigusi

Uuenda dokumendi juurdepääsu kontrollsätteid.

PUT /documents/:documentId/rights

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Verifitseeri dokument

Verifitseeri dokumendi autentsust blockchaini abil. Tagastab verifitseerimise staatuse koos tehingu hash'iga ja chain ID-ga.

POST /documents/verify

{
  "versionHash": "0x123abc...",
  "certificateHash": "0x456def..."
}

Hangi verifitseerimise staatus

Hangi blockchaini verifitseerimise staatus dokumendi versiooni jaoks.

GET /documents/versions/:versionId/verification

Authorization: Bearer sk_live_xxxxx

Allkirjade API

Loo allkirjataotlus

Loo allkirjataotlus ühele või mitmele saajale. Luba manustatud voog frontendi integreerimiseks.

curl -X POST https://api.chaindoc.io/api/v1/signatures/requests \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "versionId": "f0b7721f-0399-4035-9b69-7b95d3a367f0",
    "recipients": [{"email": "signer@example.com"}],
    "deadline": "2024-12-31T23:59:59Z",
    "embeddedFlow": true
  }'

Hangi allkirjataotluse staatus

Kontrolli allkirjataotluse staatust ja vaata, millised allkirjastajad on allkirjastamise lõpetanud.

GET /signatures/requests/:requestId/status

Authorization: Bearer sk_live_xxxxx

Allkirjasta dokument

Allkirjasta dokument (kui API võtme omanik on allkirjastaja).

POST /signatures/sign

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Hangi kasutaja allkirjad

Hangi kõik allkirjad autentitud kasutaja jaoks.

GET /signatures

Authorization: Bearer sk_live_xxxxx

Hangi allkirjataotlused

Hangi kõik allkirjataotlused autentitud kasutaja jaoks koos lehekülgimise toega.

GET /signatures/requests?pageNumber=1&pageSize=10

Authorization: Bearer sk_live_xxxxx

Meedia üleslaadimise API

Laadi üles faile dokumentide loomiseks. Toetab PDF-e, pilte ja videosid. Maksimaalselt 10 faili päringu kohta.

curl -X POST https://api.chaindoc.io/api/v1/media/upload \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -F "media=@contract.pdf"

KYC API

Jaga KYC andmeid

Jaga KYC (Know Your Customer) andmeid saajatega isiku verifitseerimiseks.

POST /kyc/share

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Manustatud sessioonide API

Loo manustatud sessioone dokumendi allkirjastamiseks oma frontendi rakenduses. Sessioonid kehtivad 10 minutit.

POST /embedded/sessions

Authorization: Bearer sk_live_xxxxx
Content-Type: application/json

Mida teha edasi

  • API integreerimine — tavapärased mustrid, parimad praktikad ja täielikud töövoogude näited
  • SDK-d — Server SDK ja Embed SDK raamistiku-spetsiifiliste juhenditega
  • Webhooks — seadista reaalajas sündmuste teavitusi
  • Installatsioon — npm seadistus kõigile toetatud raamistikele
  • Turvalisus — API võtmehaldus ja vastavus