Preskočiť na obsah

Rýchly štart

Tento návod vás prevedie od prázdneho účtu k podpísanému PDF. Vytvoríte prípad s jedným účastníkom, nahráte dokument, počkáte na podpis a stiahnete výsledok. Všetko beží v sandboxe, testovacom prostredí TrustInk.

Potrebujete curl a jq, PDF s veľkosťou od 1 KB do 25 MB a e-mailovú adresu účastníka, ktorú si viete prečítať.

  1. Získajte prístupové údaje k API

    Prihláste sa do portálu a otvorte Prístupové údaje k API. Vytvorte klienta pre svoju integráciu a skopírujte jeho client ID, client secret a adresu na získanie tokenu. Secret sa zobrazí iba raz; uložte ho do úložiska tajomstiev, nikdy nie do prehliadača ani mobilnej aplikácie.

    Terminal window
    export API=https://api-sandbox.trustink.io
    export TOKEN_URL=... # zobrazená pri vašich prístupových údajoch
    export CLIENT_ID=...
    export CLIENT_SECRET=...
  2. Získajte prístupový token

    Prístupové údaje vymeňte za token cez OAuth 2.0 client credentials. Klient sa overuje cez HTTP Basic.

    Terminal window
    export TOKEN=$(curl -s -X POST "$TOKEN_URL" \
    -u "$CLIENT_ID:$CLIENT_SECRET" \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -d grant_type=client_credentials | jq -r .access_token)

    Token posielajte ako Authorization: Bearer <token> pri každej požiadavke tenanta. Uchovajte si ho, kým sa neblíži koniec expires_in, namiesto toho, aby ste ho získavali pri každej požiadavke.

  3. Vytvorte prípad

    Prípad je jeden dokument a ľudia, ktorí ho podpisujú. Povinné sú title, validUntil a participants; callback hovorí, kam má TrustInk posielať webhooky.

    Terminal window
    curl -s -X POST "$API/cases" \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Content-Type: application/json' \
    -d '{
    "title": "Zmluva o službách 2026/0142",
    "validUntil": "2026-10-31T23:59:59Z",
    "participants": [
    {"firstName": "Jana", "lastName": "Nováková", "email": "jana.novakova@example.com", "language": "sk"}
    ],
    "callback": {
    "url": "https://example.com/trustink/webhook",
    "authType": "NONE",
    "signingSecret": "nahradte-32-az-128-nahodnymi-znakmi",
    "data": {"orderId": 4711}
    }
    }' > case.json

    Odpoveď obsahuje prípad v stave NEW a miesto, kam patrí dokument:

    {
    "case": {
    "id": "49d4ae62-…",
    "title": "Zmluva o službách 2026/0142",
    "status": "NEW",
    "validUntil": "2026-10-31T23:59:59.000Z",
    "participants": [
    {"id": "7a1c…", "firstName": "Jana", "lastName": "Nováková", "status": "UNSIGNED",
    "signerUrl": "https://…", "signatureFields": []}
    ]
    },
    "upload": {"type": "PUT", "url": "https://…"}
    }

    signerUrl každého účastníka je jeho osobný podpisový odkaz. TrustInk mu ho pošle e-mailom; zobraziť ho môžete aj vo svojom systéme.

  4. Nahrajte PDF

    Dokument nahrajte metódou PUT na upload.url do jednej hodiny. Musí to byť PDF s veľkosťou od 1 KB do 25 MB.

    Terminal window
    export CASE_ID=$(jq -r .case.id case.json)
    curl -s -X PUT -H 'Content-Type: application/pdf' \
    --upload-file zmluva.pdf "$(jq -r .upload.url case.json)"

    Prípad prejde do stavu IN_PROGRESS a účastníci dostanú pozvánku e-mailom. Otvorte odkaz v Janinej schránke a podpíšte. Súbor, ktorý nie je PDF správnej veľkosti, presunie prípad do stavu UPLOAD_REJECTED s dôvodom v rejectReason.

  5. Počkajte na podpisy

    TrustInk pošle participant-signed po každom podpise a case-completed, keď je podpísané PDF hotové. Skôr ako telu požiadavky uveríte, overte hlavičku Trustink-Signature; návod k webhookom má ukážky v Node.js, Jave a C#.

    {
    "id": "7b1e4c2a-…",
    "type": "case-completed",
    "occurredAt": "2026-09-23T15:40:00Z",
    "caseId": "49d4ae62-…",
    "status": "DONE",
    "data": {"orderId": 4711},
    "signedDocument": {"url": "https://…"},
    "evidenceDocument": {"url": "https://…"}
    }
  6. Stiahnite podpísané PDF a dôkazný súhrn

    Keď je prípad v stave DONE, GET /cases/{caseId} odkazuje na oba dokumenty krátkodobými predpodpísanými URL adresami:

    Terminal window
    curl -s "$API/cases/$CASE_ID" -H "Authorization: Bearer $TOKEN" > done.json
    curl -s -o podpisany.pdf "$(jq -r .signedDocument.url done.json)"
    curl -s -o dokazy.pdf "$(jq -r .evidenceDocument.url done.json)"
    • podpisany.pdf nesie jeden podpis za každého účastníka, každý s certifikátom na jeho meno, uzavretý pečaťou TrustInk a rozšírený na PAdES B-LTA (signedDocument.level).
    • dokazy.pdf je zapečatený dôkazný súhrn: kroky každého účastníka, SHA-256 dokumentu a certifikáty.

    Odkazy vo webhookoch platia hodinu. Nový odkaz získate kedykoľvek cez GET /cases/{caseId}.