Integrieren Sie elektronische Signaturen in Ihren Tech-Stack
Versenden Sie Umschläge, verfolgen Sie Signaturen, empfangen Sie Webhooks. Einfache REST-API, OpenAPI 3.0, curl/Node/Python-Beispiele — alles, um Certyneo in wenigen Stunden an Ihr HRIS, CRM oder Geschäftssoftware anzubinden.
Schnelleinstieg
Drei Schritte: Erstellen Sie einen API-Schlüssel in den Einstellungen, kodieren Sie Ihr PDF in Base64, senden Sie es ab. Die Antwort enthält die `signUrl`, die Sie direkt mit dem Empfänger teilen können.
curl -X POST https://certyneo.com/api/v1/envelopes \
-H "Authorization: Bearer ck_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"subject": "Contrat de prestation",
"signers": [
{ "email": "[email protected]", "name": "Marie Dubois" }
],
"documents": [
{ "name": "contrat.pdf", "base64Pdf": "<base64>" }
]
}'// npm install @certyneo/sdk (or call fetch directly)
const r = await fetch("https://certyneo.com/api/v1/envelopes", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CERTYNEO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
subject: "Contrat de prestation",
signers: [{ email: "[email protected]", name: "Marie Dubois" }],
documents: [{ name: "contrat.pdf", base64Pdf }],
}),
});
const envelope = await r.json();
console.log(envelope.id, envelope.signers[0].signUrl);import requests, base64, os
with open("contrat.pdf", "rb") as f:
base64_pdf = base64.b64encode(f.read()).decode()
r = requests.post(
"https://certyneo.com/api/v1/envelopes",
headers={"Authorization": f"Bearer {os.environ['CERTYNEO_API_KEY']}"},
json={
"subject": "Contrat de prestation",
"signers": [{"email": "[email protected]", "name": "Marie Dubois"}],
"documents": [{"name": "contrat.pdf", "base64Pdf": base64_pdf}],
},
)
envelope = r.json()
print(envelope["id"], envelope["signers"][0]["signUrl"])Umschläge
Erstellung, Versand, Statusverfolgung, Stornierung. Ein Umschlag kann mehrere Dokumente und mehrere Unterzeichner enthalten (parallel oder sequenziell).
Webhooks
Empfangen Sie `envelope.created`, `envelope.completed`, `envelope.declined` an die URL Ihrer Wahl. HMAC SHA-256 bei jedem Payload zur Überprüfung des Ursprungs.
Einfache Authentifizierung
Bearer Token. Ein Schlüssel pro Umgebung (Test/Produktion). Sofort widerrufbar. Limit 100 Anfragen/Min/Schlüssel, Burst von 200, saubere 429-Antwort mit Retry-After-Header.
Verfügbare Endpoints
12 Routen, die den gesamten Zyklus abdecken: Umschläge, Dokumente, Webhooks, API-Schlüssel. Alle Routen akzeptieren einen Bearer Token und geben JSON zurück.
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/envelopes | List envelopes |
| POST | /api/v1/envelopes | Create + send |
| GET | /api/v1/envelopes/{id} | Fetch state |
| DELETE | /api/v1/envelopes/{id} | Void |
| POST | /api/v1/envelopes/{id}/send | Re-trigger send |
| GET | /api/v1/documents | List documents |
| GET | /api/v1/webhooks | List webhooks |
| POST | /api/v1/webhooks | Register webhook |
| DELETE | /api/v1/webhooks/{id} | Unregister |
| GET | /api/v1/keys | List API keys |
| POST | /api/v1/keys | Create API key |
| DELETE | /api/v1/keys/{id} | Revoke key |
Durchsatzbegrenzungen
Die Limits garantieren stabilen Service für alle Kunden. Wenn Sie mehr benötigen, kontaktieren Sie uns.
- • 100 Anfragen pro Minute pro API-Schlüssel
- • Burst toleriert bis zu 200 Anfragen in weniger als 10s
- • 429-Antwort mit Retry-After-Header, der die Verzögerung in Sekunden angibt