




Dotyczy wersji 2020.1.3.x; autor: Miłosz Różycki
Wprowadzenie
Wdrożenie podpisu cyfrowego jest kolejnym krokiem do pełnej digitalizacji procesów biznesowych. Pozwala na potwierdzenie autentyczności oraz integralności dokumentów jednocześnie umożliwiając znaczne oszczędności zasobów. Wersja 2020 systemu WEBCON BPS rozszerza istniejącą funkcjonalność podpisywania elektornicznego o dedykowane dodatki SDK, dzięki którym możliwa jest integracja z widoącymi dostawcami podpisu cyfrowego:
- AdobeSign
- Autenti
- DocuSign
- Skribble
Skribble oferuje zróżnicowane standardy podpisu:
- Simple electronic signature (SES) – najprostszy, stosowany głównie w przypadku dokumentów wewnętrznych
- Advanced electronic signature (AES) – bezpieczniejszy, wykorzystywany w sytuacjach, gdy nie istnieją wymogi prawne odnośnie podpisu
- Qualified electronic signature (QES) – zgodnie z prawem obowiązującym w Unii Europejskiej oraz Szwajcarii równy odręcznemu podpisowi
Podpisywanie dokumentów nie wymaga posiadania konta na platformie Skribble (poza standardem QES) ani w systemie WEBCON BPS
Wymagania
Przed przystąpieniem do implementacji podpisu elektornicznego Skribble w procesie należy upewnić się, czy zostały spełnione następujące wymagania:
- system WEBCON BPS zaktualizowany do wersji 2020 lub wyższej
- zainstalowany odpowiedni dodatek SDK – BpsExt.Signing.Skribble
- nazwa użytkownika oraz klucz API Skribble
Używanie dodatków SDK do WEBCON BPS w zależności od zainstalowanej wersji oprogramowania może wymagać posiadania odpowiedniej licencji.
Dobrą praktyką jest przechowywanie parametrów połączenia ze Skribble w stałych, globalnych lub na poziomie aplikacji, zgodnie z poniższą przykładową tabelą. Dzięki temu w przypadku ewentualnej konieczności wprowadzenia zmian wystarczy zaktualizować je tylko w jednym miejscu.
Nazwa |
Przykładowa wartość |
Opis |
[Skribble] API URL |
https://api.skribble.com/v1 |
Adres API Skribble |
[Skribble] Username |
webcon |
Nazwa użytkownika |
[Skribble] API key |
12345678-90ab-cdef-1234-567890abcdef |
Klucz identyfikacyjny API |
Implementacja obiegu
Scenariusz A – dokument podpisywany przez wiele osób
Prosty obieg wykorzystujący podpis cyfrowy składa się zazwyczaj przynajmniej z następujących kroków:
- Wysłanie dokumentu do podpisania przez wybrane osoby – akcja SendEnvelope. Otrzymają one mailowe powiadomienie z linkiem do platformy Skribble, gdzie będą mogły złożyć podpis.
- Cykliczne sprawdzanie, czy dokument został już podpisany przez wszystkich (akcja CheckDocumentStatus lub CheckAllDocumentsStatus), opcjonalnie wysyłanie przypomnień (akcja SendReminder).
- Pobranie podpisanego dokumentu – akcja DownloadDocument.
Możliwe jest również usunięcie dokumentu z platformy Skribble przy pomocy akcji DeleteDocument. Poniższy schemat przedstawia przykładową realizację powyższego obiegu w systemie WEBCON BPS.
Scenariusz B – dokument podpisywany tylko przez autora
Innym typowym scenariuszem jest podpisywanie dokumentu przez tylko jedną osobę – użytkownika aktualnie pracującego nad danym dokumentem. W takim przypadku powiadomienia mailowe nie są wysyłane, po przygotowaniu dokumentu użytkownik zostanie od razu przekierowany na platformę Skribble w celu złożenia podpisu, a następnie z powrotem do systemu WEBCON BPS lub w dowolne inne miejsce. Wszystkie te kroki realizowane są w ramach akcji SendEnvelopeToEmbededSign.
Konfiguracja akcji
Wszystkie dostępne akcje wymagają odpowiedniej konfiguracji. W każdym przypadku zaczyna się ona sekcją Scribble API Settings. Zalecane jest jej uzupełnienie przygotowanymi wcześniej stałymi.
Pozostałe opcje różnią się w zależności od wybranej akcji.
SendEnvelope
Podstawowa akcja każdego obiegu dokumentów podpisywanych cyfrowo – służy do przesyłania dokumentów na platformę Skribble w celu podpisania.
Attachment selection
- SelectionMode – załączniki mogą być wybierane na podstawie kategorii (wartość Category) lub zapytania SQL (wartość SQL)
- CategoryMode – istnieje możliwość wybrania załączników z konkretnej kategorii (wartość ID), niepowiązanych z żadną kategorią (wartość None) lub wszystkich (wartość All)
- Category ID – ID kategorii, z której zostaną wysłane załączniki do podpisu
- Regex expression – wyrażenie regularne, jedynie załączniki o nazwach do niego pasujących zostaną wysłane do podpisu
- SQL query – zapytanie SQL, które zwróci listę WEBCON ID załączników do wysłania
Message Content
W tej sekcji możemy ustalić temat oraz treść maila wysyłanego do osób, które powinny podpisać dokument.
Output parameters
- Copy Envelope ID to field – pole, do którego zapisane zostanie Skribble ID dokumentu do podpisania
- Copy Document ID to field – pole, do którego zapisane zostanie WEBCON ID dokumentu do podpisania
- Signing URL – kolumna na liście osób podpisujących, do której zapisane zostaną adresy Signing URL osób podpisujących
Recipients selection
- Signer Item List – lista osób podpisujących, musi zawierać kolumny z imieniem i nazwiskiem, adresem mailowym oraz numerem telefonu
- Issuing Country – kod kraju osób podpisujących bez użycia konta Skribble (przykład: PL), wymagany jedynie w przypadku zaznaczenia opcji Additional SMS verification
- Additional SMS verification – zaznaczenie spowoduje konieczność przejścia dodatkowej weryfikacji przed podpisaniem dokumentu za pomocą kodu wysłanego na numer telefonu osoby podpisującej
- Signature Quality:
- AES – dokument zostanie podpisany w standardzie AES
- AES_MINIMAL – dokument zostanie podpisany w standardzie QES jeśli będzie to możliwe, w przeciwnym razie wykorzystany zostanie standard AES
- QES – dokument zostanie podpisany w standardzie QES
- Legislation:
- EIDAS – podpis QES zgodny z prawem Unii Europejskiej
- ZERTES – podpis QES zgodny z prawem Szwajcarii
SendEnvelopeToEmbeddedSign
Konfiguracja tej akcji wygląda podobnie do opisanej powyżej SendEnvelope, jednak w jej przypadku dokument zostanie podpisany tylko przez jedną osobę – aktualnie zalogowanego użytkownika – w związku z czym zamiast listy Signer Item List należy wypełnić następujące pola:
- Signer Name – imię i nazwisko osoby podpisującej
- Signer Mail – adres mailowy osoby podpisującej
- Signer phone number – numer telefonu osoby podpisującej
Ponadto, pojawi się jeden obowiązkowy parametr:
- Url to the form – adres strony, na którą trafi użytkownik po podpisaniu dokumentu
CheckDocumentStatus
Służy do sprawdzania statusu wysłanego do podpisu dokumentu.
- Envelope ID – pole, z którego pobrane zostanie Skribble ID dokumentu do sprawdzenia
- Copy Document ID to field – pole, do którego zapisane zostanie WEBCON ID dokumentu do sprawdzenia
- Copy Status to field – pole, do którego zapisany zostanie status sprawdzonego dokumentu, wypełni się jedną z następujących wartości:
- OPEN – dokument oczekuje na podpisanie
- SIGNED – dokument został podpisany I jest gotowy do pobrania
- DECLINED – dokument został anulowany lub przynajmniej jedna osoba odmówiła podpisania
CheckAllDocumentsStatus
Akcja dostępna jedynie do wykonywania cyklicznego. Pozwala jednocześnie pobrać status wielu wysłanych do podpisu dokumentów, aby na ich podstawie przesuwać dokumenty w systemie WEBCON BPS do wskazanych kroków.
- Step ID – krok, w którym znajdują się dokumenty oczekujące na podpis
- Success Path ID – ścieżka, którą podążą podpisane dokumenty
- Incorrect Path ID – ścieżka, na którą trafią dokumenty anulowane
- Document ID field name – atrybut, w którym przechowujemy Skribble ID wysłanych do podpisu dokumentów
- Execution Time – maksymalny czas wykonywania akcji w sekundach
SendReminder
W razie potrzeby możemy dzięki tej akcji wysłać przypomnienie do osób, które powinny podpisać wybrany dokument.
- Document ID – pole, z którego pobrane zostanie WEBCON ID dokumentu
- Status – pole, z którego pobrany zostanie zapisany wcześniej status dokumentu
Message content – treść wysyłanego przypomnienia
DownloadDocument
Przy pomocy tej akcji możliwe jest pobranie podpisanego dokumentu.
Attachment selection
- Suffix – przyrostek, który zostanie dodany do nazwy pobranego dokumentu
- Category – kategoria, do której trafi pobrany dokument
- Copy attachment ID to field – pole, do którego zapisane zostanie WEBCON ID pobranego dokumentu
Plugin properties
- Document ID – pole, z którego pobrane zostanie Skribble ID dokumentu do pobrania
- Status – pole, z którego pobrany zostanie status dokumentu do pobrania
DeleteDocument
Akcja pozwalająca usunąć lub anulować bez usuwania przesłany wcześniej dokument z platformy Skribble.
- Envelope ID – pole, z którego pobrane zostanie Skribble ID dokumentu do anulowania/usunięcia
- Delete/Decline – wybranie wartości false anuluje proces podpisywania dokumentu, natomiast w przypadku wyboru true dokument zostanie całkowicie usunięty
Przydatne linki
- więcej informacji na temat standardów cyfrowych podpisów Skribble
- kod źródłowy dodatku SDK BpsExt.Signing.Skribble.Przedstawione dodatki są tylko przykładami użycia pluginów SDK. Udostępniamy je na tej licencji.
- pozostałe rozszerzenia umożliwiające integrację systemu WEBCON BPS z dostawcami podpisu cyfrowego