Technische Details

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.