Für Administratoren und Systemintegratoren beschreibt dieser Bereich die tiefergehenden technischen Komponenten des E-Signatur-Moduls.
Datenmodell
Das E-Signatur-Modul führt zwei zentrale Datenbank-Entitäten ein, um den Zustand und die Beteiligten eines Signaturprozesses strukturiert abzubilden.
Bereich: E-Signatur (ESignature)
Dieser Bereich speichert die übergeordneten Metadaten des Signaturvorgangs. Sie ist schreibgeschützt, um Manipulationen zu verhindern.
|
Feldname (intern) |
Anzeigename (DE) |
Datentyp |
Beschreibung |
|---|---|---|---|
|
Status.ESignature |
Status |
Schlüssel |
Zustand des Gesamtprozesses (OFFEN, FEHLERHAFT, UNTERZEICHNET) |
|
SessionId.ESignature |
EnvelopeID |
Text |
Die von DocuSign vergebene eindeutige Umschlag-ID |
|
AuthTypeKey.ESignature |
Authentifizierungstyp |
Schlüssel |
Gewählte Sicherheitsstufe (EES, FES-SMS, FES-PW, QES, MAIL) |
|
DelivMethodKey.ESignature |
Zustellungsmethode |
Schlüssel |
Zustellweg der Benachrichtigung (Standard: MAIL) |
|
SignWidth.ESignature |
Breite der Unterschrift |
Ganzzahl |
Breite des Unterschriftenfeldes im PDF (Default: 100) |
|
SignHeight.ESignature |
Höhe der Unterschrift |
Ganzzahl |
Höhe des Unterschriftenfeldes im PDF (Default: 40) |
|
Deadline.ESignature |
Frist |
Datum |
Bindefrist des Umschlags (Standardmäßig leer, DocuSign-Default: 120 Tage) |
|
ProcessEnd.ESignature |
Prozessende |
Datum |
Zeitpunkt des Abschlusses oder Abbruchs |
|
DurationDays.ESignature |
Dauer in Tagen |
Ganzzahl |
Berechnete Laufzeit des Prozesses |
|
ParentEntity.ESignature |
Entitätsname |
Text |
Name der CRM-Startentität (z.B. Quote) |
|
ParentPk.ESignature |
Elterndatensatz-Pk |
Text |
Primärschlüssel des verknüpften CRM-Datensatzes |
Bereich: Unterzeichner (Signee)
Dieser Bereich bildet die einzelnen Empfänger ab. Sie ermöglicht auch komplexe Szenarien mit mehreren Unterzeichnern.
|
Feldname (intern) |
Anzeigename (DE) |
Datentyp |
Beschreibung |
|---|---|---|---|
|
ESignature.Signee |
E-Signatur |
Nachschlage |
Verknüpfung zur übergeordneten E-Signatur |
|
SigneeId.Signee |
Unterzeichner-ID |
Text |
Dreistellige ID, beginnend mit 001 |
|
SignSequence.Signee |
Reihenfolge |
Ganzzahl |
Reihenfolge beim sequenziellen Signieren (z.B. 1, 2, 3) |
|
SignStatus.Signee |
Status Unterschrift |
Schlüssel |
Status des einzelnen Unterzeichners (OFFEN, UNTERZEICHNET, ABGELEHNT) |
|
SignedAt.Signee |
Zeitpunkt Unterschrift |
Datum |
Exakter Zeitstempel der geleisteten Unterschrift |
|
Employee.Signee |
Mitarbeiter |
Nachschlage |
Verknüpfung zu einem internen Mitarbeiter |
|
ContactPerson.Signee |
Ansprechpartner |
Nachschlage |
Verknüpfung zu einem externen Ansprechpartner |
Skript-Methode: SC0DocusignUtils
Die Skriptbibliothek SC0DocusignUtils kapselt die gesamte technische Logik für die Kommunikation mit der Docusign REST-API. Sie dient als Schnittstelle für BPM-Prozesse und Maskenskripte.
|
Methodenname |
Beschreibung |
|---|---|
|
getAuthenticationEndPoint() |
Liefert den dynamischen Authentifizierungs-Endpunkt für den OAuth-Flow. Die Methode unterscheidet automatisch zwischen DocuSign-Entwicklerkonten (Demo-Umgebung) und Produktivkonten. |
|
getAccessTokenEndPoint() |
Liefert den Endpunkt zum Abruf und zur Erneuerung des OAuth Access Tokens (Refresh-Token-Handling) |
|
createEnvelope(pdfBase64, recipients, metadata) |
Erstellt den Envelope bei Docusign, übergibt das Base64-kodierte Dokument und definiert die Empfänger inklusive deren Signatur-Tabs (Anker-Positionen). |
|
voidEnvelope(envelopeId, reason) |
Bricht einen laufenden Unterschriftenprozess bei Docusign aktiv ab und macht den Umschlag ungültig. |
BPM-Prozesse
Drei vorkonfigurierte BPM-Prozesse steuern die Abläufe im Hintergrund:
1. Docusign: Credentials initialisieren
Dieser administrative Prozess wird einmalig aufgerufen. Er führt den OAuth 2.0 Authorization Code Grant Flow mit Docusign durch. Nach erfolgreicher Anmeldung des System-Benutzers speichert der Prozess das Oauth-Token im System. Für den Prozess sind die Systemeinstellungen vorher zu pflegen.
2. Signaturprozess starten
Dieser Prozess wird durch den Aktionsbox-Eintrag auf dem Angebot getriggert. Er validiert die Ausgangsdaten, erzeugt die Datensätze in den Entitäten ESignature und Signee und ruft die Methode SC0DocusignUtils.createEnvelope() auf. Nach erfolgreicher Rückmeldung von Docusign setzt er das Angebot auf "Versendet" und beendet sich.
3. Signaturstatus abfragen
Dieser Prozess ermöglicht es dem Anwender, den aktuellen Fortschritt einzusehen oder den Prozess abzubrechen. Über einen Aktionsbox-Eintrag öffnet sich eine BPM-Maske. Diese zeigt den Status der E-Signatur sowie die einzelnen Unterzeichner an.
Über die Schaltfläche "Unterzeichnungsprozess abbrechen" kann der Anwender den Prozess vorzeitig beenden. Hierbei muss zwingend ein Abbruchgrund angegeben werden. Der Prozess ruft daraufhin SC0DocusignUtils.voidEnvelope() auf, setzt den CRM-Status auf FEHLERHAFT und erstellt die entsprechende Protokoll-Aktivität.