Tích hợp chữ ký điện tử vào stack của bạn
Gửi phong bì, theo dõi chữ ký, nhận webhooks. API REST đơn giản, OpenAPI 3.0, ví dụ curl/Node/Python — mọi thứ để kết nối Certyneo với HRIS, CRM hoặc phần mềm kinh doanh của bạn trong vài giờ.
Bắt đầu nhanh
Ba bước : tạo khóa API từ cài đặt, mã hóa PDF của bạn bằng base64, gửi. Phản hồi chứa `signUrl` mà bạn có thể chia sẻ trực tiếp với người nhận.
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"])Phong bì
Tạo, gửi, theo dõi trạng thái, hủy. Một phong bì có thể chứa nhiều tài liệu và nhiều người ký (song song hoặc tuần tự).
Webhooks
Nhận `envelope.created`, `envelope.completed`, `envelope.declined` trên URL của bạn. HMAC SHA-256 trên mỗi payload để xác minh nguồn gốc.
Xác thực đơn giản
Bearer token. Một khóa cho mỗi môi trường (test / prod). Có thể thu hồi tức thì. Giới hạn 100 yêu cầu/phút/khóa, burst 200, 429 sạch sẽ với tiêu đề Retry-After.
Các endpoints có sẵn
12 route bao quát toàn bộ vòng đời: envelopes, documents, webhooks, khóa API. Tất cả các route chấp nhận Bearer token và trả về 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 |
Giới hạn tốc độ
Các giới hạn đảm bảo chất lượng dịch vụ ổn định cho tất cả khách hàng. Nếu bạn cần nhiều hơn, vui lòng liên hệ với chúng tôi.
- • 100 yêu cầu mỗi phút trên mỗi khóa API
- • Burst được phép lên tới 200 yêu cầu trong dưới 10 giây
- • Phản hồi 429 với tiêu đề Retry-After chỉ ra độ trễ tính bằng giây