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.
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
- Raz, przy wdrożeniu: generujesz token w panelu (sekcja API i integracje) i rejestrujesz adres webhooka, zapisując jego sekret.
- 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.
- Zdarzenia: dostajesz powiadomienia o kolejnych krokach, a po ostatnim podpisie zdarzenie document.completed.
- 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 adres | Co robi |
|---|---|
| GET /me | dane konta, plan i limity |
| GET /documents | lista dokumentów z filtrem statusu i stronicowaniem |
| POST /documents | tworzy dokument i domyślnie wysyła go do podpisu |
| GET /documents/{uuid} | status dokumentu i każdego sygnatariusza |
| POST /documents/{uuid}/send | wysyła dokument przygotowany wcześniej |
| POST /documents/{uuid}/cancel | anuluje dokument, linki do podpisu przestają działać |
| POST /documents/{uuid}/reminders | przypomina o podpisie jednej osobie lub wszystkim |
| GET /documents/{uuid}/pdf | podpisany PDF (albo oryginał z parametrem wariant) |
| GET /documents/{uuid}/audyt | ślad audytowy jako dane |
| GET, POST, PATCH, DELETE /webhooks | zarzą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.
Przeciągnij PDF
Wybierz plan z API
Business albo Team, szczegóły w cenniku.
Wygeneruj token
W panelu, w sekcji API i integracje. Zapisz go od razu.
Złóż podpis · rysowany
PodpisanoZarejestruj webhook
Adres https i lista zdarzeń, potem zdarzenie próbne.
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.
Powiązane strony
Dokumentacja API
Pełna specyfikacja punktów końcowych, pól i zdarzeń.
Cennik
Plany z dostępem do API i webhooków.
Bezpieczeństwo
Jak chronimy dokumenty i dane sygnatariuszy.
Aplikacja do podpisywania dokumentów
Kryteria wyboru narzędzia, także pod kątem API.
Generator umów online a szablon
Szablony umów i wysyłka z wyzwalacza.
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