Wie binde ich E-Signaturen mit der Sealique-API in meine eigene Software ein?
Erstellen Sie ein Dokument mit einem POST an /api/v1/documents, lassen Sie Unterzeichner über die zurückgegebenen Links unterschreiben, empfangen Sie HMAC-signierte Webhooks und rufen Sie das versiegelte PDF mit seiner digitalen PAdES-Signatur ab.
Die Sealique-API ist eine einfache REST-API unter /api/v1 mit einer OpenAPI-3.1-Beschreibung, Bearer-Schlüsseln im Test- und Live-Modus, Idempotenzschlüsseln, Ratenlimits pro Schlüssel und mit HMAC signierten Webhooks. Die Prüf-Endpunkte benötigen überhaupt keinen Schlüssel, sodass jedes System ein versiegeltes PDF prüfen kann. Diese Seite ist die Übersicht; die vollständige Referenz mit jeder Anfrage und Antwort steht in der Entwicklerdokumentation.
Entwicklerdokumentation lesen Signiertes Dokument prüfen
Das Wichtigste in Kürze
- Eine Anfrage erstellt ein Dokument und versendet es: POST /api/v1/documents mit dem PDF, den Unterzeichnern und der Unterschriftsreihenfolge gibt das Dokument und einen persönlichen Signaturlink pro Unterzeichner zurück.
- Schlüssel gibt es im Test- und Live-Modus (af_test_… und af_live_…) mit den Scopes documents:read, documents:write, verify und webhooks; das Standardkontingent beträgt 120 Anfragen pro Minute und Schlüssel.
- Webhooks liefern document.sent, signer.opened, signer.signed, signer.declined, document.completed, document.finalized und document.canceled, jeweils mit einem HMAC-Header signiert und bei Fehlern erneut zugestellt.
- GET /api/v1/verify/{verification_id} und POST /api/v1/verify (Upload) sind öffentlich: kein Schlüssel, begrenzt auf 20 Anfragen pro Minute und IP.
- Das versiegelte PDF und das Abschlusszertifikat werden mit GET /api/v1/documents/{id}/file und /certificate abgerufen; die Signaturseite kann über erlaubte Origins in Ihre eigene Website eingebettet werden.
Wie sende ich ein PDF per Code zur Unterschrift?
Erstellen Sie unter „Integrationen“ einen API-Schlüssel und rufen Sie dann POST /api/v1/documents als Multipart (file, title, signers als JSON-String, signing_order) oder als JSON mit file_base64 auf. Fügen Sie einen Idempotency-Key-Header hinzu, damit ein erneuter Versuch nie zwei Dokumente erzeugt. Die Antwort enthält die Dokument-ID, ihren Status und signing_links, einen pro Unterzeichner. Unterzeichner öffnen den Link, akzeptieren die Einwilligungserklärungen und unterschreiben; mit auto_finalize (Standard) wird das Dokument versiegelt, sobald der letzte Unterzeichner unterschrieben hat.
curl-Beispiel: curl -X POST https://your-host/api/v1/documents -H "Authorization: Bearer af_test_…" -H "Idempotency-Key: order-1042" -F "file=@contract.pdf" -F "title=Service agreement" -F 'signers=[{"name":"Aline Uwase","email":"aline@example.com"}]' -F "signing_order=sequential"
Python-Beispiel: requests.post(base + "/api/v1/documents", headers={"Authorization": "Bearer af_test_…"}, files={"file": open("contract.pdf", "rb")}, data={"title": "Service agreement", "signers": '[{"name": "Aline Uwase", "email": "aline@example.com"}]'}).json()
JavaScript-Beispiel: const form = new FormData(); form.append("file", pdfBlob, "contract.pdf"); form.append("title", "Service agreement"); form.append("signers", JSON.stringify([{ name: "Aline Uwase", email: "aline@example.com" }])); const doc = await (await fetch(base + "/api/v1/documents", { method: "POST", headers: { Authorization: "Bearer af_test_…" }, body: form })).json();
Woher weiß ich, wann ein Dokument unterschrieben ist?
Registrieren Sie einen Webhook-Endpunkt (POST /api/v1/webhooks oder die Seite „Integrationen“) und abonnieren Sie die benötigten Ereignisse. Jede Zustellung ist ein JSON-Body mit dem Ereignisnamen und dem Dokument, signiert mit einem HMAC über einen Zeitstempel und den Body in einem Signatur-Header, damit Sie gefälschte Aufrufe ablehnen können; fehlgeschlagene Zustellungen werden wiederholt. Polling über GET /api/v1/documents/{id} liefert nach der Versiegelung denselben Status, verification_id und verify_url.
Wie rufe ich das versiegelte PDF ab und prüfe es?
GET /api/v1/documents/{id}/file gibt das versiegelte PDF zurück und /certificate das Abschlusszertifikat; beide benötigen den Scope documents:read. Um eine Datei von überall zu prüfen, rufen Sie GET /api/v1/verify/{verification_id} oder POST /api/v1/verify mit dem PDF auf; beide sind öffentlich und geben die Unterzeichner, den Zeitpunkt der Versiegelung und einen Integritätscode wie authentic, modified_after_sealing oder flattened_copy zurück. GET /api/v1/verify/{id}/page/{page}/{digest} prüft eine einzelne Seitenmarke.
Kann ich die Signaturseite in meine Anwendung einbetten?
Ja. Legen Sie die erlaubten Origins am API-Schlüssel fest; die Signaturseite sendet dann eine Content-Security-Policy, die Ihrem Origin das Einbetten erlaubt, und leitet nach dem Unterschreiben auf Ihre return_url weiter und sendet eine Nachricht mit dem Ereignis an das übergeordnete Fenster. Unterzeichner brauchen nie ein Konto.
Was kostet die API?
Derzeit nichts: Test- und Live-Schlüssel sind in jedem Konto enthalten, standardmäßig mit 120 Anfragen pro Minute und Schlüssel sowie Sandbox-Dokumenten, die keine E-Mails versenden. Die OpenAPI-Beschreibung unter /api/v1/openapi.json lässt sich in Postman, Insomnia oder einen Codegenerator importieren.
Was E-Signatur-API umfasst
- REST-API unter /api/v1 mit OpenAPI-3.1-Beschreibung
- Test- und Live-Schlüssel mit Scopes und Ablaufdatum
- Idempotenzschlüssel und Ratenlimits pro Schlüssel
- HMAC-signierte Webhooks mit Wiederholungen
- Öffentliche Prüf-Endpunkte ohne Schlüssel
- Einbettbare Signaturseite mit return_url
Häufige Fragen
Kostet die API etwas?
Nein. API-Schlüssel und Webhooks sind derzeit in jedem Konto enthalten, und die Prüfung ist öffentlich; standardmäßig gilt ein Ratenlimit von 120 Anfragen pro Minute und Schlüssel.
Kann ich ein signiertes PDF über die API ohne Schlüssel prüfen?
Ja. GET /api/v1/verify/{verification_id} und POST /api/v1/verify sind öffentlich und auf 20 Anfragen pro Minute und IP begrenzt.
Welche Webhook-Ereignisse gibt es?
document.sent, signer.opened, signer.signed, signer.declined, document.completed, document.finalized und document.canceled sowie ein Ping zum Testen.
Wie sind Webhooks abgesichert?
Jede Zustellung trägt eine HMAC-Signatur über einen Zeitstempel und den Inhalt, berechnet mit dem Geheimnis des Endpunkts; prüfen Sie sie, bevor Sie der Nutzlast vertrauen.
Endpunkt-URLs werden vor jeder Zustellung gegen private Netzbereiche geprüft.
Gibt es eine Sandbox?
Ja. Mit einem Testschlüssel erstellte Dokumente sind Sandbox-Dokumente: Der Ablauf ist identisch, aber es werden keine E-Mails an Unterzeichner gesendet.