eSign
Codemeta OS hat eine eingebaute eSign-Funktion (geplant in mehreren Phasen). Sie erfüllt die Anforderungen der Fortgeschrittenen Elektronischen Signatur (FES) nach eIDAS Art. 26 und liefert PAdES-konforme PDFs zurück.
Resources
| Resource | Pfad | Permission-Präfix |
|---|---|---|
| Envelopes | /api/v1/sign_envelopes | sign_envelope |
| Templates | /api/v1/sign_templates | sign_template |
Empfänger, Dokumente und der Audit-Trail eines Envelopes liegen als
typisierte Listen direkt am sign_envelope-Datensatz — kein eigenes
Sub-Resource-Schema.
Workflow
- Envelope anlegen mit Dokumenten und Empfängern.
- Felder platzieren (Unterschrift, Initialen, Datum, Textfelder).
- Versenden — der Server schickt jedem Empfänger einen Public-Link.
- Empfänger signiert über die Public-API (
/api/v1/public/sign/...). - Server signiert das PDF mit dem Plattform-X.509-Zertifikat (PAdES).
- Envelope abgeschlossen — der Audit-Trail am Envelope ist vollständig.
Schemas
Envelope
Electronic signature envelope — a document sent to one or more signers
title
Display name of the envelope
message
Optional message shown to all signers
documentId
DMS document ID of the PDF to be signed
templateId
Optional sign template used to pre-populate fields
signers
name
email
signerIndex
role
E.g. "Geschäftsführer"
message
verificationMethod
EMAIL_LINKSMS_OTPEMAIL_OTPIN_PERSON phoneNumber
Required when verificationMethod = SMS_OTP
fields
type
SIGNATUREINITIALSTEXTDATECHECKBOXSTAMP signerIndex
page
x
y
width
height
required
label
placeholder
defaultValue
options
Dropdown options (for TEXT fields rendered as select)
characterLimit
dateFormat
group
Group name — one checkbox in a group must be checked
signingOrder
SEQUENTIAL = in order; PARALLEL = all at once; MIXED = grouped
PARALLELSEQUENTIALMIXED signingGroups
For MIXED signing order: groups of signers that sign in parallel within the group, sequential between groups
groupIndex
signerIndices
expiresAt
ISO 8601 expiry — envelope is voided after this date
reminderIntervalDays
Send reminder emails every N days until signed
linkedEntityType
Schema ID of linked entity (e.g. "contract", "avv")
linkedEntityId
ID of the linked entity
allowDecline
Whether signers are allowed to decline signing
requireSignatureReason
Prompt signers to enter a reason/declaration with their signature
bulkSendId
Groups envelopes from a bulk send operation
Keine Felder passen zum Filter.
Template
Reusable envelope template with pre-defined signer roles and field placements
name
Template name
description
Internal description of the template
defaultMessage
Default message pre-filled when creating an envelope from this template
defaultExpiryDays
Default expiry in days from send date
defaultReminderIntervalDays
signingOrder
PARALLELSEQUENTIAL allowDecline
requireSignatureReason
signerRoles
Named signer roles (filled in when creating an envelope)
signerIndex
roleName
roleDescription
verificationMethod
EMAIL_LINKSMS_OTPEMAIL_OTPIN_PERSON defaultEmail
defaultName
fields
type
SIGNATUREINITIALSTEXTDATECHECKBOXSTAMP signerIndex
page
x
y
width
height
required
label
placeholder
defaultValue
options
characterLimit
dateFormat
group
linkedEntityType
Schema ID of the linked entity type this template is designed for
tags
category
Template category for organization and filtering
GDPRCONTRACTOFFERHRCUSTOM isSystemTemplate
System templates are managed by Codemeta and cannot be deleted
documentId
Default DMS document ID used when creating envelopes from this template
Keine Felder passen zum Filter.
Public-Signing-Endpoint
Empfänger öffnen den Link, der unter /api/v1/public/sign/session/<token>
auflöst. Kein X-Tenant-Id, kein Cookie — Auth erfolgt über den Token.
Endpoints (Auszug):
| Operation | Pfad |
|---|---|
| Session laden | GET /api/v1/public/sign/session/<token> |
| Feld setzen | PATCH /api/v1/public/sign/session/<token>/fields/<id> |
| Unterzeichnen | POST /api/v1/public/sign/session/<token>/finalize |
Mehr unter Public Endpoints.
Audit-Trail
Jeder relevante Schritt — Versand, Öffnen, Unterzeichnen, Abschluss, Storno — landet als Event-Eintrag in der typisierten Audit-Liste am Envelope. Status-Übergänge:
| Event | Hinweis |
|---|---|
envelope.sent | Versand an Empfänger |
recipient.opened | Empfänger hat Link geöffnet |
recipient.signed | Empfänger hat unterschrieben |
envelope.completed | Alle Empfänger signiert, Server-Signatur gesetzt |
envelope.voided | Manuell oder durch Frist gestoppt |
Phasen
- Phase 1 (in Implementierung): Envelope, Felder, E-Mail-Link-Auth, Plattform-Signatur, Audit.
- Phase 2: Templates, Bulk-Send, Workflow-Trigger.
- Phase 3: QES (Qualifizierte Signatur) über TSP-Integration.
Verwandt
- DMS — eSign-Dokumente werden im DMS abgelegt
- Verträge — Verträge unterschreiben lassen
- Public Endpoints — Signing-Session ohne Mandant