Podpisywanie dokumentu usługą Autenti

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji: 2025 R1 i powyżej; autor: Lily Adamowicz, Michał Bednarczyk

Dokumentacja powiązana

Szczegółowy opis akcji umożliwiających składanie i weryfikowanie podpisów cyfrowych na dokumentach znajduje się w następujących sekcjach Pomocy WEBCON: 

Wpis dotyczy dodatku do obsługi Autenti dostępnego od wersji 2025 R1. 

Dodatek opisany w tym artykule nie jest już wspierany. 

 

Wprowadzenie

W WEBCON obsługa podpisów cyfrowych została zrealizowana za pomocą dedykowanych akcji opartych na Software Development Kit (SDK). Mechanizm ten umożliwia bezpieczne i płynne wykonywanie operacji związanych z podpisywaniem dokumentów w ramach obiegów. 

Obecnie dostępne są dodatki integracyjne pozwalające na współpracę z następującymi zewnętrznymi dostawcami usług podpisu elektronicznego: 

Ten artykuł dotyczy integracji z platformą Autenti. Omówiono w nim proces podpisywania dokumentów oraz konfigurację przykładowego obiegu obejmującego wysłanie dokumentu do podpisu, obsługę akcji wykonywanych w czasie oczekiwania na złożenie podpisów, a następnie pobranie podpisanego dokumentu. 

Integracja umożliwia wysłanie do podpisu dokumentu zawierającego załączniki wskazane na elemencie obiegu, a następnie przekierowanie użytkownika do aplikacji webowej Autenti — za pomocą wiadomości e-mail lub linku dostępnego bezpośrednio na formularzu. To właśnie w aplikacji Autenti odbywa się proces podpisywania dokumentu. Po jego zakończeniu podpisany dokument może zostać automatycznie dołączony jako załącznik elementu obiegu.

 

Wymogi licencyjne

Aby skorzystać z integracji WEBCON z Autenti, należy zakupić odpowiednia licencję integracyjną. Szczegółowe informacje na ten temat można uzyskać bezpośrednio od przedstawiciela Autenti. Komunikacja z platformą Autenti odbywa się za pomocą konta systemowego, z którego dokumenty są wysyłane do podpisu. Osoby podpisujące dokumenty nie muszą posiadać konta w Autentiani licencji WEBCON. 

 

Opis procesu

Platforma Autenti udostępnia różne mechanizmy obsługi dokumentów przekazywanych do podpisu. Obejmują one m.in.: 

  • tworzenie dokumentu w systemie, 
  • przesyłanie pliku z dokumentem do podpisu, 
  • sprawdzanie statusu dokumentu oraz statusu podpisu dla każdej z przypisanych osób, 
  • wysyłanie wiadomość e-mail z linkiem do podpisania dokumentu, 
  • dwuetapową weryfikację za pomocą wiadomości SMS, 
  • wysyłanie przypomnień, 
  • pobranie kompletnego dokumentu po złożeniu podpisów. 

Funkcjonalności te umożliwiają realizację następującego schematu komunikacji w ramach obiegu:

Rys. 1. Schemat działania obiegu

 

W procesie zdefiniowano kilka akcji odpowiedzialnych za: 

  • wysłanie dokumentu do Autenti, 
  • pobieranie statusu podpisu dla poszczególnych przypisanych osób, 
  • wysyłanie przypomnień o konieczności podpisania dokumentu, 
  • wysłanie żądania zwrotu dokumentu wraz ze statusem. 

Zastosowano również mechanizm Timera, który automatycznie co godzinę próbuje uruchomić ścieżkę odpowiedzialną za sprawdzenie statusu podpisu dokumentu w Autenti. 

 

Przypadek biznesowy

Na potrzeby prezentacji wykorzystano uproszczony obieg dokumentu, obejmujący kilka podstawowych etapów: przygotowanie dokumentu, akceptację menedżera oraz podpisanie dokumentu przez osoby zewnętrzne. 

Proces rozpoczyna się od kroku Przygotowanie dokumentu, w którym generowany jest szablon dokumentu. Następnie dokument trafia do Akceptacja menedżera, gdzie może zostać zaakceptowany lub odrzucony. Po zatwierdzeniu dokument przechodzi do kroku Oczekiwanie na podpisy. Na tym etapie system cyklicznie, co godzinę, uruchamia ścieżkę Sprawdź status, weryfikując, czy dokument został podpisany w Autenti. Sprawdzany jest również status podpisu dla każdej z przypisanych osób. Do osób, które po określonym czasie nadal nie podpisały dokumentu, wysyłane jest przypomnienie. Po złożeniu wszystkich wymaganych podpisów obieg kończy się w kroku Zatwierdzony. 

Rys. 2. Obieg podpisu

 

Na formularzu zdefiniowano atrybuty niezbędne do wywołania akcji podpisu:

Rys.3. Formularz obiegu podpisu

 

Obok standardowych atrybutów związanych z procesem podpisu dokumentu na formularzu dostępny jest również atrybut Link do Autenti, który można automatycznie uzupełnić za pomocą powiązanej akcji Pobierz link do dokumentu (Get link for sign). Dzięki temu link do podpisania dokumentu jest dostępny bezpośrednio w obiegu WEBCON, bez konieczności wyszukiwania wiadomości e-mail wysłanej przez Autenti. Jest to wygodne rozwiązanie dla uczestników procesu — po uruchomieniu akcji mogą oni od razu przejść do podpisu z poziomu formularza, co przyspiesza pracę i upraszcza obsługę dokumentu. 

Lista pozycji Podpisujący służy do wskazania wszystkich uczestników procesu podpisywania dokumentu oraz przypisania im odpowiednich ról i ustawień związanych z autoryzacją. Każdy wiersz listy odpowiada jednej osobie biorącej udział w procesie. 

W aktualnej wersji dodatku nie ma potrzeby ręcznego definiowania wartości związanych z integracją z Autenti, takich jak role odbiorców czy typy podpisu. W paczce dodatku SDK integrującej WEBCON z Autenti, obok obsługiwanych akcji, dostarczono gotowe Niestandardowe źródła danych, które można przypisać do odpowiednich atrybutów na formularzu. Dostępne są źródła związane m.in. ze statusami dokumentów i podpisów, typami podpisów oraz rolami odbiorców. Dzięki temu podczas konfiguracji formularza nie trzeba ręcznie odtwarzać wartości zgodnych z Autenti — wystarczy wykorzystać dostarczone źródła. 

Rys.4. Paczka dodatku Autenti z akcjami oraz źródłami danych

 

W kolumnie Rola (typ atrybutu: Pole wyboru) należy wskazać sposób uczestnictwa danej osoby w procesie podpisywania. Pole korzysta ze źródła Recipient roles, które udostępnia role zgodne z Autenti: 

  • SENDER – osoba wysyłająca dokument, 
  • SIGNER – osoba podpisująca dokument, 
  • APPROVER – osoba zatwierdzająca dokument bez składania podpisu, 
  • REVIEWER – osoba przeglądająca dokument z możliwością dodawania komentarzy, 
  • VIEWER – osoba posiadająca wyłącznie dostęp do podglądu dokumentu. 

W kolumnie Numer telefon (typ atrybutu: Pojedynczy wiersz tekstu) należy podać numer telefonu osoby podpisującej. Atrybut ten jest wymagany, jeżeli w konfiguracji wybrano opcję uwierzytelniania za pomocą wiadomości SMS. 

W kolumnie Typ podpisu (typ atrybutu: Pole wyboru) należy wskazać formę podpisu. Pole korzysta ze źródła Signature types. Źródło to jest konfigurowalne, dlatego można pozostawić wszystkie dostępne typy podpisu albo ograniczyć wyłącznie do wybranych wartości zgodnie z wymaganiami danego procesu. 

W źródle dostępne są następujące formy podpisu: 

  • Autenti E-signature – standardowy podpis elektroniczny, 
  • Qualified signature – kwalifikowany podpis elektroniczny, równoważny podpisowi własnoręcznemu i mający pełną moc dowodową (w tym podpis jednorazowy – usługa wymaga dodatkowej konfiguracji po stronie Autenti),
    Kwalifikowane podpisy elektroniczne
  • Advanced Autenti e-signature – zaawansowany podpis elektroniczny, unikalnie przypisany do osoby składającej podpis i realizowany z weryfikacją tożsamości.
    Zaawansowany podpis elektroniczny

 Kolejne dwie kolumny zawierają przyciski wyboru związane z obsługą kodów SMS: 

  • Autentykacja SMS – zaznaczenie tej opcji powoduje, że przed złożeniem podpisu użytkownik musi wpisać kod SMS przesłany na wskazany numer telefonu.
    Autoryzacja kodem SMS 

Pole Kolejność podpisu umożliwia sterowanie kolejnością składania podpisów. Wartość atrybutu Status podpisu pobierana jest automatycznie w kontekście danego użytkownika za pomocą akcji Pobierz status podpisu odbiorców. 

Kolejne kolumny Listy pozycji odnoszą się do organizacji reprezentowanej przez osobę podpisującą. Są to: Nazwa organizacjiNIP oraz Stanowisko w organizacji. Można również wskazać, że dany odbiorca występuje jako reprezentant organizacji.  

Ostatnia kolumna zawiera link do dokumentu, jeżeli wcześniej wykonano akcję pobrania linku do podpisu. Dzięki temu użytkownik może przejść do podpisania dokumentu bez konieczności korzystania z odnośnika przesłanego w wiadomości e-mail. 

Na formularzu należy również dodać techniczne pole tekstowe Document ID from Autenti, które jest kluczowe dla dalszego przebiegu procesu. Pole przechowuje identyfikator (GUID) dokumentu nadany przez system Autenti po poprawnym zapisaniu dokumentu w bazie platformy. 

Zgodnie z dokumentacją Autenti REST API należy upewnić się, że system Autenti zwrócił poprawny identyfikator GUID. Brak tego identyfikatora oznacza, że dokument nie został prawidłowo zarejestrowany, a pole techniczne pozostanie puste. Taka sytuacja wskazuje na problem po stronie integracji i uniemożliwia prawidłową kontynuację procesu podpisywania. 

 

Konfigurację integracji należy rozpocząć od utworzenia dwóch połączeń typu REST Web Service z REST API Autenti. Połączenia te są wykorzystywane do przesyłania dokumentów PDF do podpisu oraz do obsługi autoryzacji. 

Rys. 5. Konfiguracja połączenia z API

 

Połączenia wykorzystują mechanizm uwierzytelniania JWT Bearer grant, szczegółowo opisany w dokumentacji Autenti. Aby połączyć się z Autenti, należy w pierwszej kolejności wygenerować parę kluczy. Klucz publiczny trzeba przekonwertować do formatu JWKS i skonfigurować w aplikacji API po stronie Autenti. Klucz prywatny należy zachować w formacie .PEM, ponieważ zostanie później wykorzystany w konfiguracji połączenia w WEBCON. 

Należy utworzyć dwa połączenia: 

  • połączenie z kluczem PEM – w tym połączeniu należy uzupełnić bazowy adres instancji serwisu, a w polu Client secret podać klucz prywatny w formacie .PEM. 

Rys.6. Połączenie z kluczem PEM 

 

  • drugie połączenie – należy w nim uzupełnić oba adresy oraz pola Client ID i Client secret. 

Rys.7. Drugie połączenie REST Web Service 

 

W konfiguracji połączenia należy podać następujące adresy dla: 

  1. środowiska testowego: 
  1. środowiska produkcyjnego: 

Powyższe adresy URL są aktualne na dzień 30.04.2026 i mogą ulec zmianie w kolejnych wersjach platformy Autenti. Przed rozpoczęciem konfiguracji zaleca się ich weryfikację w oficjalnej dokumentacji. 

 

Kolejnym etapem jest konfiguracja akcji wysyłania dokumentu do podpisu. W opisywanym przykładzie akcja została dodana w kroku Akceptacja menedżera. Na ścieżce Akceptuj należy dodać automatyzację, wewnątrz której zostanie umieszczona odpowiednia akcja SDK. 

Rys. 8. Podgląd akcji wysłania dokumentu 

 

Poniżej przedstawiono konfigurację poszczególnych sekcji akcji: 

Rys.9. Konfiguracja akcji wysłania dokumentu 

 

W konfiguracji akcji należy wskazać oba utworzone wcześniej połączenia działające z wykorzystaniem mechanizmu JWT Bearer grant, a także adres e-mail użytkownika, w którego kontekście wykonywana jest akcja w Autenti. W tym miejscu należy również zdefiniować dwa pola techniczne wykorzystywane przez JWT Bearer do identyfikacji: Unikalny identyfikator organizacjiUnikalny identyfikator użytkownika. 

W sekcji Właściwości dokumentu należy wskazać pola zawierające tytuł i opis dokumentu, który ma zostać przesłany do podpisu. Informacje te będą widoczne w treści wiadomości e-mail wysyłanej do osób zaproszonych do podpisania dokumentu. Zaznaczenie pola wyboru Wyślij jako organizacja umożliwia wysyłanie wiadomości w imieniu organizacji. 

 

Kolejna sekcja dotyczy Załączników. Wybór załączników można skonfigurować na dwa sposoby:  

  • Category – należy wskazać grupę załączników, z której mają zostać pobrane pliki do podpisu. Dodatkowo można podać wyrażenie regularne, aby zawęzić filtrowanie, np. do plików z rozszerzeniem .pdf. 
  • SQL – w tym przypadku należy uzupełnić pole z zapytaniem SQL do tabeli WFDataAttachmets, które zwróci identyfikatory załączników przeznaczonych do podpisu. 

Rys. 10. Wybór załącznika 

SELECT   
ATT_ID   
FROM WFDataAttachmets 
WHERE   
ATT_WFDID = {WFD_ID}   
AND ATT_IsDeleted = 0 

 

Jeżeli podpisywany ma być wyłącznie załącznik wskazany w konkretnym atrybucie, zapytanie można dodatkowo zawęzić, np. w następujący sposób: 

SELECT  
ATT_ID 
FROM WFDataAttachmets  
WHERE  
ATT_WFDID = {WFD_ID}  
AND dbo.ClearWFElemID(ATT_Attribute1) = 1  
AND ATT_IsDeleted = 0 

 

W kolejnej sekcji należy zdefiniować kluczowe pola dotyczące odbiorców, które określają dane przesyłane do usługi podpisu elektronicznego.

Rys.11. Dane dotyczące odbiorców 

 

1.  Lista odbiorców 

  • Należy wskazać Listę pozycji zawierającą dane osób, które będą uczestniczyć w procesie podpisywania dokumentu. Kolumny listy zostały omówione we wcześniejszej części artykułu. Wypełnienie pól oznaczonych gwiazdką jest obowiązkowe. 

2. Uwzględnij kolejność podpisów 

  • Pole jest obowiązkowe w przypadku, jeżeli na Liście pozycji przynajmniej jeden wiersz zawiera rolę Approver. 

 

Ostatnią sekcją w konfiguracji akcji SDK są Dane wyjściowe. Należy w niej wskazać pola, w których będą przechowywane: zewnętrzne ID dokumentu, link do dokumentu w Autenti oraz status dokumentu. 

Rys.12. Dane wyjściowe

 

Po skonfigurowaniu akcji można przejść do Portalu i przetestować działanie rozwiązania. W tym celu należy utworzyć nowy element, uzupełnić listę osób podpisujących, a następnie przejść ścieżką do kroku Akceptacja menedżera. 

Rys. 13. Okno formularza

 

Po zatwierdzeniu przez przełożonego dokument zostaje wysłany do podpisu do osób wskazanych na Liście pozycji Podpisujący. Osoby te otrzymują następującą wiadomość e-mail z Autenti: 

Rys. 14. Treść wiadomości e-mail od Autenti 

 

Przycisk Zobacz i podpisz dokument jest hiperłączem prowadzącym do dokumentu przygotowanego do podpisu. Po jego kliknięciu użytkownik zostaje przekierowany na stronę autoryzacyjną, na której należy wprowadzić kod wysłany w wiadomości SMS w celu odblokowania dokumentu. Jeżeli opcja Odblokuj przez SMS nie została zaznaczona, dokument do podpisu zostanie wyświetlony od razu, z pominięciem kroku autoryzacji. 

Jeżeli w procesie dodano akcję pobrania linku do podpisu, użytkownik może skorzystać z odnośnika dostępnego bezpośrednio na formularzu, bez konieczności otwierania wiadomości e-mail. Jeżeli dokument został zablokowany przy użyciu SMS, to akcja do pobierania linków nie zadziała. 

Rys. 15. Dokument zabezpieczony kodem SMS

 

Po prawidłowym wprowadzeniu kodu SMS wyświetlany jest dokument do podpisu wraz z najważniejszymi informacjami.  Po zapoznaniu się z treścią dokumentu należy wybrać przycisk Dalej. 

Rys. 16. Dokument do podpisu

 

Po przejściu dalej wyświetlany jest monit z prośbą o potwierdzenie złożenia podpisu przez wprowadzenie jednorazowego kodu wysłanego na numer telefonu. Podanie kodu jest wymagane, ponieważ podczas rejestracji elementu w Portalu dla tego użytkownika zaznaczono opcję dodatkowego uwierzytelniania SMS. 

Jeśli ta opcja nie zostanie zaznaczona, podpisanie dokumentu nie będzie wymagało dodatkowego potwierdzenia – wystarczy kliknięcie przycisku Podpisz, aby zakończyć proces podpisywania. 

Rys. 17. Dokument – potwierdzenie złożenia podpisu

 

Po wprowadzeniu kodu system wyświetli informację o podpisaniu dokumentu: 

Rys. 18. Ekran podpisanego dokumentu 

 

Do wszystkich osób znajdujących się na liście podpisujących zostanie wysłane potwierdzenie zakończenia podpisywania dokumentu wraz z kopią podpisanej umowy.

Rys. 19. E-mail zwrotny  

 

Jeżeli dokument został podpisany poprawnie, zostaną do niego dołączone certyfikat oraz pieczęć potwierdzające autentyczność podpisu. 

Rys. 20. Certyfikat podpisu firmy Autenti 

 

Podczas podpisywania dokumentu w Autenti element w WEBCON znajduje się krokuOczekiwanie na podpisyNa tym etapie można skonfigurować dodatkowe akcje, a następnie wywoływać je na przykład za pomocą Timera bądź przycisków dostępnych w menu, jak pokazano na poniższym zrzucie ekranu. 

Rys.21. Przyciski akcji w menu 

 

Akcja Pobierz status osób podpisujących pobiera statusy podpisania dokumentu w kontekście każdej osoby, a następnie zapisuje je na Liście pozycji w kolumnie Status.

Rys.22. Konfiguracja akcji pobierania statusów osób podpisujących

 

Inną akcją, którą można wywołać na tym kroku za pomocą przycisku w menu, jest Wyślij przypomnienie. Po jej uruchomieniu do użytkowników zostaje wysłana wiadomość z przypomnieniem o dokumencie oczekującym na podpisanie. 

Rys.23. Konfiguracja akcji wysyłania przypomnienia 

 

Aby zakończyć proces, należy skonfigurować akcję, która sprawdzi status podpisu całego dokumentu, a następnie pobierze dokument w chwili zmiany statusu na COMPLETED. Automatyzację tę należy dodać na ścieżce Sprawdź status.

Rys. 24. Podgląd akcji pobierania dokumentu 

 

Ustawienia uwierzytelniania są analogiczne jak w przypadku akcji wysyłania dokumentu. W polu Autenti ID należy wskazać pole przechowujące identyfikator dokumentu nadany przez Autenti. 

    

Kolejnym etapem procesu jest konfiguracja kroku warunkowego Czy podpisano?, do którego prowadzi ścieżka Sprawdź status. 

Rys. 25. Konfiguracja kroku warunkowego Czy podpisano? 

 

Jeżeli w wyniku działania akcji pobrania dokumentu w atrybucie Status dokumentu zostanie zapisana wartość COMPLETED, element zostanie przekazany do kroku końcowego. W przeciwnym przypadku powróci do kroku Oczekiwanie na podpisy. 

System może zwrócić różne statusy pobrane ze źródła SDK, m.in.: 

  • PROCESSING 
  • COMPLETED 
  • SUCCESS 
  • REJECTED 
  • FAILED 
  • WITHDRAWN 
  • ERROR 

W kroku Oczekiwanie na podpisy należy również skonfigurować funkcję Timera, która będzie co godzinę sprawdzać, czy dokument został już podpisany. 

Rys. 26. Konfiguracja funkcji Timera 

 

 

Tryb działania należy ustawić na Przejście ścieżką po wywołaniu akcji. Jeżeli nie zdefiniowano akcji do wykonania, Timer będzie co godzinę próbować przekazać dokument do następnego kroku. 

Po poprawnym wykonaniu akcji w polu Status dokumentu pojawia się wartość COMPLETED, co oznacza, że proces podpisywania został zakończony powodzeniem, czyli wszystkie osoby podpisały dokument. W efekcie element zostaje przekazany do kroku końcowego, a w kategorii Podpisano pojawia się podpisany dokument. 

Rys. 27. Element na kroku końcowym 

 

Podsumowanie

Przedstawiony obieg stanowi przykładowe zastosowanie dodatku WEBCON do integracji z Autenti. 

Kod źródłowy dodatków jest dostępny na oficjalnym koncie GitHub WEBCON:https://github.com/WEBCON-BPS i udostępniany na licencji MIT License.