API i webhooki

Podpis elektroniczny API: umowy do podpisu prosto z Twojego systemu

REST API i webhooki podpiszmy.pl dla firm, które tworzą umowy w CRM, sklepie, systemie kadrowym albo własnej aplikacji. Jedno zapytanie wysyła PDF do podpisu, webhook informuje o komplecie podpisów, a podpisany plik wraca do Twojej bazy.

Pełną specyfikację z przykładami zapytań znajdziesz w dokumentacji API. Tutaj opisujemy, co API potrafi i jak wygląda typowa integracja.

podpiszmy.pl/dokumenty/nowy

1. Wgraj

2. Dodaj strony

3. Wyślij

Zacznij: wgraj dokument po założeniu konta

Plik PDF · do 6 MB · 30 sekund, bez karty

Bez karty płatniczej. Darmowe demo: 3 dokumenty na próbę.

REST i JSON

token Bearer, odpowiedzi zawsze w formacie JSON

7 zdarzeń

webhooków, od wysłania do kompletu podpisów

HMAC-SHA256

podpis każdego zdarzenia webhooka

Business, Team

plany z dostępem do API i webhooków

Krótka odpowiedź: API podpiszmy.pl pozwala wysłać dokument PDF do podpisu elektronicznego jednym zapytaniem HTTP, śledzić status każdego sygnatariusza, odbierać zdarzenia przez webhooki i pobrać podpisany plik oraz ślad audytowy. Działa w planach Business i Team, uwierzytelnianie odbywa się tokenem generowanym w panelu. Podpisy mają poziom zwykły albo zaawansowany zgodny z eIDAS, API nie składa podpisu kwalifikowanego.

API jest dla sytuacji, w których umowa powstaje w innym systemie: oferta zaakceptowana w CRM, zamówienie w sklepie, nowy współpracownik w systemie kadrowym, wniosek w aplikacji. Zamiast pobierać plik i wgrywać go ręcznie w panelu, Twój system wysyła go do nas, a my zajmujemy się zaproszeniami, przypomnieniami i Kartą Podpisów. Wszystkie szczegóły techniczne są w dokumentacji API, a ta strona pomaga ocenić, czy integracja ma sens w Twojej firmie.

Jak działa API do podpisu elektronicznego: typowy obieg

  1. Raz, przy wdrożeniu: generujesz token w panelu (sekcja API i integracje) i rejestrujesz adres webhooka, zapisując jego sekret.
  2. Wysyłka: zapytanie POST /documents z plikiem PDF i listą sygnatariuszy. Dokument domyślnie od razu idzie do podpisu. Możesz też utworzyć go z polem send=false i wysłać później przez POST /documents/{uuid}/send.
  3. Zdarzenia: dostajesz powiadomienia o kolejnych krokach, a po ostatnim podpisie zdarzenie document.completed.
  4. Odbiór: GET /documents/{uuid}/pdf zwraca podpisany plik, a /audyt ślad audytowy jako dane, razem z wynikiem sprawdzenia łańcucha skrótów.

Sygnatariusz nie widzi Twojej integracji. Dostaje e-mail z linkiem, podpisuje w przeglądarce na komputerze lub telefonie, bez konta, tak samo jak przy dokumentach wysłanych z panelu.

Uwierzytelnianie, plany i limity

Każde zapytanie niesie token osobisty w nagłówku Authorization w postaci Bearer. Token tworzysz i unieważniasz w panelu. Pokazujemy go tylko raz, przy utworzeniu. Działa wyłącznie na koncie, na którym powstał, i widzi dokładnie te dokumenty, które widzi to konto w przeglądarce. Adres bazowy to https://podpiszmy.pl/api/v1, a wersja w adresie chroni działającą integrację przed zmianami w kolejnych wydaniach.

API i webhooki działają w planach Business i Team. Konto bez takiego planu dostaje kod 402 z nazwą wymaganego planu i adresem cennika. Limity liczymy na konto, nie na adres IP: 120 zapytań odczytu i 20 zapytań zapisu na minutę (tworzenie dokumentów, wysyłka, anulowanie, przypomnienia, zmiany webhooków). Po przekroczeniu dostajesz kod 429 z nagłówkiem Retry-After.

Punkty końcowe API

Metoda i adresCo robi
GET /medane konta, plan i limity
GET /documentslista dokumentów z filtrem statusu i stronicowaniem
POST /documentstworzy dokument i domyślnie wysyła go do podpisu
GET /documents/{uuid}status dokumentu i każdego sygnatariusza
POST /documents/{uuid}/sendwysyła dokument przygotowany wcześniej
POST /documents/{uuid}/cancelanuluje dokument, linki do podpisu przestają działać
POST /documents/{uuid}/remindersprzypomina o podpisie jednej osobie lub wszystkim
GET /documents/{uuid}/pdfpodpisany PDF (albo oryginał z parametrem wariant)
GET /documents/{uuid}/audytślad audytowy jako dane
GET, POST, PATCH, DELETE /webhookszarządzanie adresami webhooków, zdarzenie próbne, historia dostarczeń

Przy tworzeniu dokumentu podajesz plik PDF (do 6 MB), tytuł, opcjonalną wiadomość, tryb podpisywania (po kolei albo równolegle) i od jednego do piętnastu sygnatariuszy z imieniem i adresem e-mail. Dla wybranych osób możesz włączyć weryfikację tożsamości polem require_id_check. Podpisany plik powstaje w chwili ostatniego podpisu: wcześniej adres /pdf odpowiada kodem 409 i podaje, ilu podpisów brakuje.

Webhooki: zdarzenia, podpis HMAC i ponowienia

Zamiast odpytywać API w pętli, rejestrujesz publiczny adres https, na który wysyłamy zdarzenia metodą POST w formacie JSON. Dostępne zdarzenia to: document.sent, document.viewed, document.signed, document.rejected, document.expired, document.cancelled i document.completed. Każde niesie adresy pdf_url i audit_url. Przy rejestracji możesz zaznaczyć, żeby do document.completed dołączać podpisany plik w base64 (pliki do 3 MB), razem z sumą SHA-256 do porównania ze śladem audytowym.

Nagłówek X-Podpiszmy-Signature zawiera HMAC-SHA256 policzony z surowego ciała zapytania i Twojego sekretu. Licz go przed parsowaniem JSON i porównuj funkcją odporną na pomiar czasu; dokumentacja ma gotowe przykłady w PHP i Pythonie. Gdy Twój serwer nie odpowie kodem 2xx, ponawiamy dostarczenie, łącznie pięć podejść z rosnącymi odstępami. Nagłówek X-Podpiszmy-Delivery jest ten sam we wszystkich podejściach, więc łatwo odsiać duplikaty.

Wyzwalacz: integracja bez programisty

Nie każdy system umie dołożyć nagłówek z tokenem albo wysłać plik PDF. Dla CRM-ów, formularzy oraz narzędzi takich jak Zapier, Make i n8n przygotowaliśmy wyzwalacz. Zapisujesz umowę jako szablon w panelu, tworzysz wyzwalacz i dostajesz jeden adres. Twoje narzędzie wysyła pod niego zapytanie POST z imieniem i adresem e-mail osoby podpisującej, a my wysyłamy jej umowę z szablonu. Opcjonalnie podajesz tytuł, wiadomość albo listę do 15 sygnatariuszy w kolejności podpisywania.

Adres wyzwalacza jest sekretem: pokazujemy go raz, przechowujemy tylko jego skrót, a w panelu wyłączysz go jednym kliknięciem. Treść PDF z szablonu jest dla wszystkich taka sama, więc wyzwalacz nadaje się do regulaminów, zgód i umów standardowych. O tym, dlaczego nie jest to generator umów, piszemy na stronie generator umów online.

Moc prawna i bezpieczeństwo dokumentów wysłanych przez API

Dokument wysłany przez API ma tę samą moc co wysłany z panelu. Domyślnie to zwykły podpis elektroniczny. Gdy każdy sygnatariusz przejdzie silną identyfikację, dokument dostaje poziom podpisu zaawansowanego, pieczętowany certyfikatem platformy. API nie służy do umów, dla których prawo wymaga formy pisemnej pod rygorem nieważności albo aktu notarialnego: tam potrzebny jest podpis odręczny, kwalifikowany albo notariusz. Szczegóły są na stronie moc prawna.

Token widzi tylko dokumenty swojego konta, a o cudzy dokument API odpowiada kodem 404, żeby nie potwierdzać jego istnienia. Jak chronimy dane i pliki, opisujemy na stronie bezpieczeństwo, a autentyczność podpisanego PDF każdy sprawdzi w walidatorze.

Co daje integracja przez API

Mniej ręcznej pracy i pełna historia podpisu w Twoim systemie.

Jedno zapytanie na umowę

PDF, tytuł i sygnatariusze w jednym POST, zaproszenia wychodzą od razu.

Webhooki z podpisem HMAC

Zdarzenia o każdym kroku, z ponowieniami i historią dostarczeń.

Ślad audytowy jako dane

Zdarzenia, adresy IP i czasy do zapisania we własnej bazie.

Wyzwalacz bez kodu

Zapier, Make, n8n, CRM i formularze wysyłają umowę z szablonu.

Weryfikacja tożsamości

Włączana dla wybranych sygnatariuszy w zapytaniu.

Limity na konto

Współdzielony hosting nie odbiera Ci przepustowości.

Integracja krok po kroku

Od konta do pierwszej umowy podpisanej przez API.

1
podpiszmy.pl/dokumenty/nowy

Przeciągnij PDF

PDF umowa-najmu.pdf · 3 strony
SHA-256 policzony

Wybierz plan z API

Business albo Team, szczegóły w cenniku.

2
podpiszmy.pl/dokumenty/nowy#sygnatariusze
AK Anna Kowalska [email protected] Wysłano
PW Piotr Wzorcowy [email protected] Kolejność 2
Weryfikacja tożsamości + dodaj osobę

Wygeneruj token

W panelu, w sekcji API i integracje. Zapisz go od razu.

3
podpiszmy.pl/podpis/…

Złóż podpis · rysowany

Podpisano
14:32:07 CEST · IP 83.21.140.9 · sha256 3d51f5…cfd9a

Zarejestruj webhook

Adres https i lista zdarzeń, potem zdarzenie próbne.

4
podpiszmy.pl/dokumenty/archiwum
PDF umowa-najmu-podpisana.pdf+ Karta Podpisów · 2 sygnatariuszy Zakończony
Pobierz PDF Ślad audytowy

Wyślij pierwszy dokument

POST /documents z plikiem PDF i sygnatariuszami.

Kto integruje podpis elektroniczny przez API

Firma z CRM

Po zmianie etapu na „wygrana” umowa idzie do klienta, a podpisany PDF wraca do karty klienta.

Platforma usługowa

Regulamin albo umowa z nowym wykonawcą podpisywana w procesie rejestracji.

Dział HR z własnym systemem

Oświadczenia i zgody pracowników wysyłane z systemu kadrowego i archiwizowane w teczkach.

Pytania o API podpisu elektronicznego

W którym planie jest API?

W planach Business i Team. Aktualne ceny są w cenniku.

Czy API obsługuje podpis kwalifikowany?

Nie. Dokumenty mają poziom podpisu zwykłego albo zaawansowanego zgodnego z eIDAS. Podpisu kwalifikowanego nie oferujemy.

Czy potrzebuję biblioteki albo SDK?

Nie. API to zwykłe zapytania HTTP z odpowiedziami w JSON, więc działa z każdym językiem. W dokumentacji są przykłady w curl oraz sprawdzanie podpisu webhooka w PHP i Pythonie.

Czy sygnatariusz musi mieć konto?

Nie. Dostaje link e-mailem i podpisuje w przeglądarce.

Co jeśli mój serwer nie odbierze webhooka?

Ponawiamy dostarczenie, łącznie pięć razy. Historię prób z kodami odpowiedzi widzisz w panelu i przez API.

Podłącz swój system do podpisu

Załóż konto, wybierz plan z API i wyślij pierwszą umowę jednym zapytaniem.

Załóż konto i wygeneruj token