Przejdź do zawartości głównej
Certyneo

API Podpisu Elektronicznego: Przewodnik Dla Developerów REST 2026

Integracja API podpisu elektronicznego w aplikacji biznesowej nigdy nie była tak strategiczna. Niniejszy przewodnik dla developerów obejmuje uwierzytelnianie, webhooki i zgodność eIDAS od A do Z.

Zespół Certyneo11 min czytania

Zaktualizowano

Zespół Certyneo

Redaktor — Certyneo · O Certyneo

Scrabble tiles spell out the word adequate.

Wprowadzenie

Integracja API REST podpisu elektronicznego stała się niezbędnym warunkiem wstępnym dla zespołów programistów w 2026 roku. Z ponad 73% firm europejskich, które zdigitalizowały przynajmniej jeden proces umowny (źródło: IDC European Digital Transformation Report 2025), zapotrzebowanie na solidne integracje techniczne eksploduje. Niezależnie od tego, czy budujesz SaaS LegalTech, ERP czy platformę HR, zrozumienie, jak korzystać z API podpisu elektronicznego — uwierzytelnianie OAuth2, zarządzanie webhookami, zgodność eIDAS — bezpośrednio określa jakość i wartość prawną Twoich przepływów dokumentów. Niniejszy przewodnik dla developerów REST towarzyszy Ci krok po kroku: architektura, uwierzytelnianie, cykl życia dokumentu, webhooki w czasie rzeczywistym oraz najlepsze praktyki bezpieczeństwa.

---

Architektura API REST Podpisu Elektronicznego

Zasady RESTful i struktura endpointów

Dobrze zaprojektowane API REST podpisu elektronicznego opiera się na jasno zidentyfikowanych zasobach i semantycznych czasownikach HTTP. Zasoby podstawowe to zwykle:

  • `/documents` — upload, zarządzanie i pobieranie dokumentów PDF/DOCX
  • `/signature-requests` — tworzenie i zarządzanie żądaniami podpisu
  • `/signatories` — zarządzanie podpisującymi i ich tożsamościami
  • `/audit-trails` — pobieranie certyfikowanych dzienników audytu
  • `/templates` — zarządzanie szablonami dokumentów wielokrotnego użytku

Każdy zasób ujawnia standardowe endpointy CRUD (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`) i zwraca odpowiedzi JSON z znormalizowanymi kodami HTTP: `200 OK`, `201 Created`, `400 Bad Request`, `401 Unauthorized`, `422 Unprocessable Entity`, `429 Too Many Requests`.

Krytyczny aspekt często pomijany: zarządzanie paginacją. Dojrzałe API używają wzorca cursor-based zamiast offset/limit, co gwarantuje stabilne wydajności nawet na ilościach tysięcy podpisanych dokumentów. Sprawdź, czy docelowe API ujawnia nagłówek `X-Next-Cursor` lub pole `next_page_token` w body.

Wersjonowanie API i kompatybilność wsteczna

Wersjonowanie stanowi ważny punkt czujności dla integratorów. Dwie dominujące podejścia w 2026 roku to:

  1. Wersjonowanie przez URL: `https://api.certyneo.com/v2/signature-requests` — czytelne, buforowane przez CDN, rekomendowane dla API B2B.
  2. Wersjonowanie przez nagłówek: `Accept: application/vnd.certyneo.v2+json` — czystsze architektonicznie, ale mniej widoczne.

Preferuj dostawców, którzy zobowiązują się do minimum 12-miesięcznej polityki deprecjacji i publikują publiczny changelog. Nieogłoszona przerwana kompatybilność w przepływie podpisu może mieć bezpośrednie konsekwencje prawne (umowy niepodpisane, pominięte terminy).

---

Uwierzytelnianie OAuth2 i Bezpieczeństwo Wywołań API

OAuth2: przepływ client_credentials vs authorization_code

Uwierzytelnianie stanowi fundamentalny filar każdej integracji API podpisu elektronicznego. Dwa najbardziej istotne przepływy OAuth2 dla developerów to:

Przepływ Client Credentials (M2M — Machine to Machine): ``` POST /oauth/token Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials &client_id=YOUR_CLIENT_ID &client_secret=YOUR_CLIENT_SECRET &scope=documents:write signature_requests:write audit_trails:read ``` Ten przepływ jest idealny dla integracji serwer-do-serwera, gdzie w uwierzytelnianiu nie bierze udziału żaden użytkownik końcowy (przetwarzanie wsadowe, automatyzacja umów).

Przepływ Authorization Code + PKCE: rekomendowany, gdy Twoja aplikacja działa w imieniu identyfikowanego użytkownika końcowego. PKCE (Proof Key for Code Exchange) jest obowiązkowe od RFC 7636 i chroni przed atakami przechwycenia.

Niezbędne wskazówki bezpieczeństwa:

  • Przechowuj `client_secret` w vault (HashiCorp Vault, AWS Secrets Manager) — nigdy w nieszyfrowanej zmiennej środowiskowej
  • Implementuj automatyczną rotację tokenów z buforem 60 sekund przed wygaśnięciem
  • Używaj granularnych zakresów: żądaj tylko absolutnie koniecznych uprawnień

Zarządzanie kluczami API i rate limiting

Do lekkich integracji lub środowisk testowych niektóre API oferują statyczne klucze API (Bearer Token). Jeśli używasz ich w produkcji, systematycznie stosuj:

  • Kwartalną rotację kluczy
  • Ograniczenie przez IP (whitelist)
  • Monitorowanie nienormalnych wywołań poprzez Twój SIEM

Rate limiting to niezbędna rzeczywistość: API podpisu zwykle ograniczają do 100-1000 wywołań/minutę zależnie od planu. Implementuj mechanizm retry z wykładniczym backoffem: ``` retry_delay = base_delay * (2^attempt) + random_jitter ``` Ściśle przestrzegaj nagłówka `Retry-After` zwracanego z `429 Too Many Requests`.

---

Cykl Życia Żądania Podpisu poprzez API

Tworzenie i konfiguracja żądania podpisu

Cykl życia żądania podpisu poprzez API REST przebiega zgodnie ze schematem stanów (`draft` → `pending` → `in_progress` → `completed` | `declined` | `expired`). Oto szczegółowe kroki techniczne:

Krok 1 — Upload dokumentu: ``` POST /v2/documents Content-Type: multipart/form-data

file=@contrat.pdf ``` Odpowiedź: `{ "document_id": "doc_a1b2c3", "checksum_sha256": "e3b0c442..." }`

Krok 2 — Tworzenie żądania: ```json POST /v2/signature-requests { "document_id": "doc_a1b2c3", "name": "Umowa o świadczenie usług Q3 2026", "signatories": [ { "email": "podpisujacy@klient.fr", "first_name": "Maria", "last_name": "Nowak", "signature_level": "advanced", "fields": [{ "type": "signature", "page": 3, "x": 120, "y": 680 }] } ], "expiry_date": "2026-06-05T23:59:59Z", "reminder_settings": { "enabled": true, "frequency_days": 3 } } ```

Krok 3 — Aktywacja: `POST /v2/signature-requests/req_x9y8z7/activate`

Po aktywacji podpisujący otrzymują swoje zaproszenia, a żądanie przechodzi w stan `in_progress`.

Pobieranie podpisanego dokumentu i dziennika audytu

Gdy osiągnięty zostanie stan `completed` (wykrywalny poprzez webhook — zobacz poniższą sekcję), pobierz:

``` GET /v2/signature-requests/req_x9y8z7/document/signed → PDF podpisany z wbudowanymi podpisami elektronicznymi (PAdES-B-T zgodnie z ETSI EN 319 132)

GET /v2/signature-requests/req_x9y8z7/audit-trail → PDF certyfikowanego dziennika audytu (oznaczenie czasowe kwalifikowane RFC 3161) ```

Zawsze przechowuj oba pliki razem w Twojej GED lub DMS. Dziennik audytu stanowi dowód możliwy do wykazania w przypadku kwestionowania prawnego.

---

Webhooki: Zdarzenia w Czasie Rzeczywistym i Obsługa Błędów

Konfiguracja i zabezpieczanie webhooków

Webhooki transformują Twoją integrację z kosztownego pollingu w reaktywną architekturę opartą na zdarzeniach. Skonfiguruj swój endpoint webhookowy:

``` POST /v2/webhooks { "url": "https://twoja-aplikacja.com/hooks/certyneo", "events": [ "signature_request.completed", "signature_request.declined", "signatory.signed", "signature_request.expired" ], "secret": "whsec_twoj_tajny_hmac" } ```

Obowiązkowe zabezpieczenie HMAC: sprawdzaj każdy przychodzący payload porównując obliczoną sygnaturę HMAC-SHA256 z nagłówkiem `X-Certyneo-Signature`: ```python import hmac, hashlib

def verify_webhook(payload: bytes, secret: str, signature_header: str) -> bool: expected = hmac.new( secret.encode(), payload, hashlib.sha256 ).hexdigest() return hmac.compare_digest(f"sha256={expected}", signature_header) ``` Nigdy nie używaj klasycznego porównania stringów — podatne na ataki oparte na czasie.

Idempotencja i zarządzanie retransmisją

Webhooki mogą być dostarczane ponownie w przypadku timeout'u lub błędu 5xx Twojego endpointu. Implementuj idempotencję obowiązkowe:

  1. Wyodrębnij unikatowy `event_id` z każdego payload'a webhookowego
  2. Sprawdź w bazie danych, czy ten `event_id` już został przetworzony
  3. Zwróć `200 OK` natychmiast (nawet dla duplikatów), aby uniknąć nieskończonych retransmisji
  4. Przetwarzaj logikę biznesową asynchronicznie (kolejka: Redis, RabbitMQ, SQS)

Złota reguła: Twój endpoint webhookowy musi odpowiedzieć w mniej niż 5 sekund. Wszystkie ciężkie przetwarzanie (wysyłanie emaili, archiwizacja GED, notyfikacje ERP) muszą być delegowane do asynchronicznego workera.

Aby pogłębić zrozumienie poziomów podpisów dostępnych poprzez API, zapoznaj się z naszym kompleksowym przewodnikiem podpisu elektronicznego, który szczegółowo opisuje różnice między podpisami prostymi, zaawansowanymi i kwalifikowanymi.

---

Najlepsze Praktyki Integracji i Wydajność

Środowiska sandbox i strategia testowania

Każde poważne API podpisu elektronicznego oferuje izolowane środowisko sandbox. Przyjmij tę strategię testowania:

  • Testy jednostkowe: mockuj odpowiedzi API (Wiremock, MSW) w celu weryfikacji logiki biznesowej bez zależności od sieci
  • Testy integracyjne: wykonuj względem rzeczywistego sandboxa w celu weryfikacji pełnego cyklu życia (tworzenie → podpis → pobieranie)
  • Testy obciążenia: symuluj skoki równoczesnych żądań w celu zidentyfikowania wąskich gardeł przed wdrożeniem produkcyjnym
  • Testy chaos: symuluj timeout'y i błędy 5xx w celu weryfikacji logiki retry

Nigdy nie testuj w produkcji z rzeczywistymi tożsamościami podpisujących. Podpisy elektroniczne tworzone w sandboxie nie mają żadnej wartości prawnej, co jest dokładnie tym, czego chcesz dla Twoich testów.

Monitorowanie, obserwacja i alerty

W produkcji instrumentuj swoją integrację poprzez:

  • Metryki: wskaźnik sukcesu wywołań API, opóźnienie p95/p99, wskaźnik błędów na endpoint
  • Ślady rozproszone: propaguj `trace-id` w nagłówkach w celu skorelowania Twoich dzienników z dziennikami API dostawcy
  • Alerty: wyzwól alarm, jeśli wskaźnik błędów przekroczy 1% lub opóźnienie p99 przekroczy 3 sekundy

Zapoznaj się z naszym porównaniem rozwiązań podpisu elektronicznego, aby ocenić dostępność SLA (uptime) oferowaną przez różnych dostawców — kryteria często niedoceniane przy integracji API.

Jeśli migrujesz z innej platformy, nasz przewodnik jak migrować z DocuSign lub YouSign do Certyneo obejmuje aspekty techniczne migracji API i kompatybilność istniejących webhooków.

Aby oszacować zwrot z inwestycji Twojej integracji, użyj naszego kalkulatora ROI podpisu elektronicznego, który uwzględnia zyski produktywności związane z automatyzacją poprzez API.

Wreszcie, jeśli chcesz pójść dalej w automatycznym generowaniu dokumentów do podpisu, odkryj nasz generator umów AI, który natywnie integruje się z naszym API REST.

Ramy Prawne Mające Zastosowanie do API Podpisu Elektronicznego

Integracja API podpisu elektronicznego nie ogranicza się do problemu technicznego: bezpośrednio angażuje odpowiedzialność prawną wydawcy i jego klientów na kilka fundamentalnych tekstów.

Rozporządzenie eIDAS nr 910/2014 i eIDAS 2.0

Rozporządzenie (UE) nr 910/2014 (eIDAS) ustanawia ramy prawne podpisu elektronicznego w Unii Europejskiej. Rozróżnia trzy poziomy:

  • Prosty podpis elektroniczny (SES): minimalna wartość prawna, odpowiednia do czynności o niskim ryzyku
  • Podpis elektroniczny zaawansowany (AES): jednoznacznie powiązany z podpisującym, utworzony z danych pod jego wyłączną kontrolą — artykuł 26 eIDAS
  • Kwalifikowany podpis elektroniczny (QES): równoważny podpisowi odręcznego w całej UE — artykuł 25 §2 eIDAS

Wraz z postępującym wdrażaniem rozporządzenia eIDAS 2.0 (Rozporządzenie UE 2024/1183), programiści muszą przewidzieć integrację Europejskich Portfeli Tożsamości Cyfrowej (EUDIW) w swoich przepływach uwierzytelniania. Zapoznaj się z naszym przewodnikiem eIDAS 2.0 dla szczegółowych implikacji technicznych.

Kodeks cywilny francuski — Artykuły 1366 i 1367

W prawie francuskim artykuł 1366 Kodeksu cywilnego stanowi, że „pismo elektroniczne ma taką samą moc dowodową co pismo na papierze, pod warunkiem, że można dokładnie zidentyfikować osobę, od której pochodzi, oraz że zostało sporządzone i przechowywane w warunkach zapewniających jego integralność".

Artykuł 1367 precyzuje warunki wiarygodnego podpisu elektronicznego: identyfikacja podpisującego i gwarancja integralności dokumentu. Te wymogi przekładają się technicznie na obowiązek przechowywania certyfikowanych dzienników audytu i dowodów tożsamości używanych podczas podpisu — elementy, które API musi ujawniać i które musisz przechowywać.

Normy ETSI EN 319 132 — PAdES

Obowiązkowy format techniczny dla podpisów PDF zgodnych z eIDAS to PAdES (PDF Advanced Electronic Signatures), zdefiniowany normą ETSI EN 319 132. Twoje API musi produkować podpisy PAdES-B-T (z oznaczeniem czasowym) minimum, oraz PAdES-B-LT lub PAdES-B-LTA w celu gwarancji długoterminowej ważności (archiwizacja 10+ lat).

RODO nr 2016/679 — Dane podpisujących

Dane osobowe zbierane podczas procesu podpisu (imię, nazwisko, email, adres IP, dane identyfikacyjne dla AES/QES) stanowią dane osobowe podlegające RODO. Twoje obowiązki jako administratora danych lub przetwarzającego obejmują:

  • Określenie czasu przechowywania uzasadnionego (zwykle wyrównane z terminami przedawnienia: 5 lat w prawie ogólnym)
  • Przewidywanie mechanizmu automatyczną czyszczenia poprzez API (`DELETE /v2/signature-requests/{id}/personal-data`)
  • Dokumentowanie przetwarzania w rejestrze czynności przetwarzania (artykuł 30 RODO)
  • Zawarcie umowy przetwarzania danych (DPA) z dostawcą API podpisu

Dyrektywa NIS2 i ciągłość usług

Dla wydawców oprogramowania kwalifikowanych jako podmioty istotne lub ważne w rozumieniu Dyrektywy NIS2 (2022/2555), integracja API strony trzeciej tworzy zależność, którą należy dokumentować w analizie ryzyka łańcucha dostaw cyfrowych. Wymagaj od dostawcy API certyfikacji SOC 2 Type II i SLA dostępności ≥ 99,9%.

Scenariusze Użycia: API Podpisu Elektronicznego w Praktyce

Scenariusz 1 — Automatyzacja umów z dostawcami w małej i średniej firmie przemysłowej

Mała i średnia firma przemysłowa zarządzająca około 200 umowami z dostawcami rocznie chciała wyeliminować wymianę dokumentów papierowych i ręczne przypomnienia, które pochłaniały 2 dni miesięcznie asystenta administracyjnego. Zespół programistów zintegrował API REST podpisu elektronicznego bezpośrednio ze swoim ERP za pośrednictwem następującego przepływu:

  1. Po zatwierdzeniu zamówienia w ERP, automatycznie wyzwalane jest wywołanie `POST /v2/signature-requests`
  2. Wygenerowany PDF umowy jest uploadowany i żądanie podpisu wysyłane do kontaktu dostawcy w bazie danych
  3. Webhook `signatory.signed` aktualizuje status zamówienia w czasie rzeczywistym
  4. Podpisany dokument i dziennik audytu są automatycznie archiwizowane w DMS poprzez drugie wywołanie API

Obserwowane wyniki (zakresy z raportów sektorowych KPMG/IDC 2024-2025): redukcja średniego czasu podpisu z 8 dni do mniej niż 24 godzin, szacowana oszczędność 60-70% czasu administracyjnego poświęconego przypomnieniom i zero utraty dokumentu.

Scenariusz 2 — Platforma LegalTech dla kancelarii prawnych

Wydawca oprogramowania opracowujący rozwiązanie SaaS dla kancelarii prawnych o liczbie pracowników od 5 do 30 zintegrował API podpisu elektronicznego, aby umożliwić swoim użytkownikom końcowym podpisywanie pełnomocnictw, umów honorariów i akt procesowych bezpośrednio z interfejsu kancelarii.

Wybrana architektura techniczna wykorzystuje przepływ OAuth2 Authorization Code + PKCE, tak aby każdy adwokat uwierzytelniał żądania w swoim imieniu. Webhooki `signature_request.completed` automatycznie wyzwalają złożenie podpisanego dokumentu w folderze klienta elektronicznej gedy prawnej.

Wydawca szczególnie docenił dostępność zaawansowanych podpisów elektronicznych (AES) poprzez API — poziom wymagany dla umów honorariów zgodnie z rekomendacjami Krajowej Rady Radców Prawnych. Czas pracy nad pierwotną integracją wyniosł około 3 tygodnie dla doświadczonego dewelopera backendu, z pokryciem testów na poziomie 85%.

Scenariusz 3 — Wdrażanie cyfrowe w grupie klinik prywatnych

Grupa klinik prywatnych o pojemności około 600 łóżek musiała zdematematyzować formularze świadomej zgody i umowy przyjęcia, do tej pory drukowane i podpisywane ręcznie na recepcji — generujące koszty druku szacunkowe na kilka tysięcy euro rocznie i czasy oczekiwania na recepcji.

Integracja API połączyła szpitalny system informacyjny (SIH) z platformą podpisu elektronicznego. Po zarejestrowaniu pacjenta SIH wzywa API do utworzenia wielostronne żądania podpisu (pacjent + lekarz kierujący) z automatycznym pozycjonowaniem pól podpisu obliczonym z metadanych szablonu.

Zgodność RODO wymagała wdrożenia automatycznego czyszczenia zaplanowanego poprzez API (`PATCH /v2/signature-requests` + webhook potwierdzenia usunięcia) wyrównanego z czasami przechowywania wymaganymi prawnie dla dokumentacji medycznej (20 lat dla dorosłych, zgodnie z artykułem R. 1112-7 Kodeksu zdrowia publicznego). Zmierzone zyski osiągnęły redukcję 80% czasu oczekiwania na przyjęcie i oszczędność 40% kosztów druku i skanowania.

Podsumowanie

Integracja API REST podpisu elektronicznego w 2026 roku wymaga jednoczesnego opanowania kilku wymiarów: solidna architektura RESTful, bezpieczne uwierzytelnianie OAuth2, architektura oparta na zdarzeniach z webhookami oraz zgodność z wymaganiami eIDAS i RODO. Programiści, którzy przewidują te zagadnienia od samego projektu integracji, unikają kosztownych przebudów i poważnych ryzyk prawnych.

Trzy filary do zapamiętania: zabezpiecz swoje wywołania API (OAuth2 + minimalne zakresy + vault), przetwarzaj zdarzenia asynchronicznie i idempotentnie poprzez webhooki, i archiwizuj systematycznie podpisany dokument razem z jego certyfikowanym dziennikiem audytu.

Certyneo udostępnia udokumentowane API REST, zgodne z eIDAS, z darmowym sandboxem i dedykowanym wsparciem technicznym dla developerów. Utwórz swoje konto Certyneo, aby uzyskać dostęp do klucza API sandbox i rozpocząć integrację już dziś.

Wypróbuj Certyneo bezpłatnie

Wyślij pierwszą kopertę do podpisu w mniej niż 5 minut. 5 bezpłatnych kopert miesięcznie, bez karty kredytowej.

Pogłębić temat

Nasze kompletne przewodniki do opanowania podpisu elektronicznego.