Integrera elektronisk signatur i din stack
Skicka kuvert, följ signaturer, ta emot webhooks. Enkelt REST API, OpenAPI 3.0, curl/Node/Python-exempel — allt för att koppla Certyneo till din HRIS, CRM eller affärsmjukvara på några timmar.
Snabbstart
Tre steg: skapa en API-nyckel från inställningarna, koda din PDF i base64, skicka. Svaret innehåller `signUrl` som du kan dela direkt med mottagaren.
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"])Kuvert
Skapande, sändning, statusövervakning, annullering. Ett kuvert kan innehålla flera dokument och flera undertecknare (parallell eller sekventiell).
Webhooks
Ta emot `envelope.created`, `envelope.completed`, `envelope.declined` på din valda URL. HMAC SHA-256 på varje payload för att verifiera ursprunget.
Enkel autentisering
Bearer-token. En nyckel per miljö (test / prod). Återkallningsbar omedelbar. Gräns 100 req/min/nyckel, burst på 200, ren 429 med Retry-After-rubrik.
Tillgängliga endpoints
12 rutter som täcker hela cykeln: kuvert, dokument, webhooks, API-nycklar. Alla rutter accepterar en Bearer-token och returnerar JSON.
| 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 |
Hastighetsgränser
Gränserna garanterar stabil servicekvalitet för alla kunder. Om du behöver mer, kontakta oss.
- • 100 förfrågningar per minut per API-nyckel
- • Burst tolererat upp till 200 förfrågningar på mindre än 10 sekunder
- • 429-svar med Retry-After-rubrik som anger fördröjningen i sekunder