API-Schnellstart
Die API legt Verträge aus Ihrer eigenen Anwendung an und meldet den Stand zurück. Hier der kürzeste Weg, die vollständige Referenz steht auf Englisch.
Schlüssel anlegen
Legen Sie in den Einstellungen einen API-Schlüssel an. Er beginnt mit canu_ und gehört in den Header jeder Anfrage. Erlaubt sind 60 Anfragen je Minute.
Authorization: Bearer canu_ihr_schluesselVertrag anlegen
Schicken Sie Ihr PDF als Base64 (bis 3 MB) und setzen Sie die Felder in Prozent der Seite, gemessen von oben links. Eine Person mit E-Mail-Adresse in signers bekommt ihren persönlichen Link.
PDF_B64=$(base64 < auftrag.pdf | tr -d '\n')
curl -X POST https://canusign.com/api/v1/contracts \
-H "Authorization: Bearer canu_ihr_schluessel" \
-H "Content-Type: application/json" \
-d "{
\"title\": \"Auftrag 4711\",
\"language\": \"de\",
\"document\": { \"name\": \"auftrag.pdf\", \"pdf\": \"$PDF_B64\" },
\"signatureFields\": [
{ \"label\": \"Kunde\", \"page\": 1, \"x\": 10, \"y\": 80 },
{ \"label\": \"Auftragnehmer\", \"page\": 1, \"x\": 60, \"y\": 80 }
],
\"signers\": [{ \"label\": \"Kunde\", \"email\": \"kunde@example.com\" }],
\"finalize\": true
}"Antwort lesen
Die Antwort enthält id, signUrl für den geteilten Link, publicId und verifyUrl für die Prüfseite. Ohne Guthaben und ohne Pro wartet der Vertrag auf die Zahlung: requiresPayment ist dann true und signUrl leer.
Auf die Unterschriften warten
Legen Sie einen Webhook für contract.completed an, oder fragen Sie GET /api/v1/contracts/{id} ab.
curl -X POST https://canusign.com/api/v1/webhooks \
-H "Authorization: Bearer canu_ihr_schluessel" \
-H "Content-Type: application/json" \
-d '{ "url": "https://ihre-anwendung.example/hooks/canusign", "events": ["contract.completed"] }'PDF laden
Solange nicht alle unterschrieben haben, antwortet der Endpunkt mit 409.
curl -o signiert.pdf https://canusign.com/api/v1/contracts/{id}/pdf \
-H "Authorization: Bearer canu_ihr_schluessel"