Chuyển đến nội dung chính
Certyneo
API REST eIDAS

API ký điện tử cho các nhà phát triển

Tích hợp chữ ký điện tử eIDAS vào ứng dụng của bạn trong vài giờ. REST, webhooks đáng tin cậy, Node/Python/Ruby SDK, hộp cát miễn phí không giới hạn.

Sandbox miễn phí · 99,95% uptime · EU chủ quyền lưu trữ

REST + OpenAPI 3.1

Các điểm cuối có thể dự đoán được, JSON sạch, mã HTTP tiêu chuẩn, Spec OpenAPI 3.1 có thể tải xuống để tạo các khách hàng của riêng bạn.

Các trang web đáng tin cậy

Tự động tìm lại với hệ số sao lưu, chữ ký HMAC SHA-256, nhật ký truy cập, không có mã hóa.

Tiêu chuẩn eIDAS bản địa

Chữ ký AES, AES-Q và QES có sẵn thông qua API flag.

Lưu lượng < 200 ms

API được lưu trữ tại Strasbourg (EU), p95 < 200 ms từ châu Âu.

Bắt đầu trong 5 phút.

Tạo ra cái bìa đầu tiên của bạn chỉ với một yêu cầu HTTP.

cURL Tạo một phong bì
curl https://api.certyneo.com/v1/envelopes \
  -H "Authorization: Bearer $CERTYNEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Contrat de prestation",
    "documents": [{"file_url": "https://your.app/contract.pdf"}],
    "recipients": [{"email": "client@example.com", "name": "Jane Doe"}],
    "webhook_url": "https://your.app/webhooks/sign"
  }'

Một yêu cầu POST là đủ để tạo một phong bì, thêm tài liệu, người ký và URL webhook.

SDK Node.js chính thức
import Certyneo from '@certyneo/sdk';

const client = new Certyneo({ apiKey: process.env.CERTYNEO_API_KEY });

const envelope = await client.envelopes.create({
  title: 'Contrat de prestation',
  documents: [{ file_url: 'https://your.app/contract.pdf' }],
  recipients: [{ email: 'client@example.com', name: 'Jane Doe' }],
});

console.log(envelope.sign_url); // ready to share with the signer

Node TypeScript SDK cung cấp nhập kiểu đầy đủ, xử lý lỗi tự động với thử lại và một trình xây dựng vỏ bọc lỏng.

Webhooks phản ứng trong thời gian thực

Sáu sự kiện (envelope.sent, viewed, signed, completed, declined, expired) với chữ ký HMAC có thể kiểm tra và tự động thử lại.

envelope.completed
{
  "event": "envelope.completed",
  "envelope_id": "env_3a2f...",
  "signed_at": "2026-05-25T14:32:18Z",
  "evidence_url": "https://api.certyneo.com/v1/envelopes/env_3a2f.../audit-trail.pdf",
  "signers": [
    { "email": "client@example.com", "signed": true, "ip": "82.x.x.x" }
  ]
}
  • HMAC SHA-256 ký hiệu của mỗi payload xác minh tính xác thực ở phía máy chủ.
  • Tự động thử lại nếu thất bại: 5 lần trong 24 giờ với backoff theo cấp số nhân.
  • Lịch trình sự kiện có thể truy cập từ bảng điều khiển: xem từng lần cố gắng, trạng thái HTTP được trả về, body.
  • URL webhook có thể được cấu hình theo lớp phủ hoặc toàn cầu trong dự án.

Tại sao lại có một API dành riêng cho chữ ký điện tử?

Việc tích hợp chữ ký điện tử vào sản phẩm của bạn không phải là dễ dàng. Bạn cần đảm bảo tuân thủ pháp lý (eIDAS), độ tin cậy kỹ thuật (webhooks thực sự đến), và chủ quyền dữ liệu (chế độ lưu trữ châu Âu để tránh Đạo luật đám mây).

Được thiết kế bởi và cho các nhà phát triển, nó tuân theo các quy ước REST hiện đại: trang tính dựa trên con trỏ, khóa idempotency, phiên bản theo URL, OpenAPI 3.1 để tự động tạo khách hàng của bạn. Không có SOAP, không có XML, không có bất ngờ.

Sự tuân thủ eIDAS được giải thích cho các nhà phát triển

Quy định eIDAS xác định ba cấp ký hiệu: đơn (SES), nâng cao (AES) và chuyên nghiệp (QES). Certyneo API cho phép chọn cấp bằng phong bì thông qua một trường `signature_level`. Giá trị mặc định là AES (đủ cho 95% trường hợp B2B). QES có sẵn cho các văn bản đòi hỏi sự tương đương pháp lý chặt chẽ với chữ ký bằng tay (bản chứng nhận, hợp đồng công cộng).

Về mặt kỹ thuật, AES đòi hỏi xác thực mạnh mẽ của người ký (OTP qua SMS mặc định, KYC video tùy chọn) và một đường dẫn kiểm toán có dấu thời gian. QES thêm một chứng chỉ có trình độ được cấp bởi một TSP có trình độ EU. Tất cả điều này được quản lý bởi API bạn gọi đến điểm cuối, chúng tôi sẽ chăm sóc phần còn lại.

Kiến trúc tích hợp được khuyến cáo

Mô hình tích hợp phổ biến nhất là theo dòng chảy này:

  • Các backend của bạn gọi POST /v1/envelopes để tạo envelope và nhận được sign_url để hiển thị cho người dùng.
  • Bạn chuyển hướng người dùng đến sign_url hoặc nhúng nó vào iframe (với thương hiệu của bạn thông qua kế hoạch Pro).
  • Sau khi ký kết hoàn tất, Certyneo sẽ gọi webhook của bạn với sự kiện envelope.completed.
  • Bạn cập nhật cơ sở dữ liệu của mình và thông báo cho người dùng (e-mail, trong ứng dụng, v.v.).

Sandbox miễn phí không giới hạn

Môi trường sandbox là miễn phí và không giới hạn. Tất cả các tính năng sản xuất đều có sẵn, ngoại trừ việc chữ ký không có giá trị pháp lý (PDF được đánh dấu SANDBOX).

Di chuyển từ DocuSign hoặc Yousign

Nếu bạn đã tích hợp DocuSign hoặc Yousign, việc lập bản đồ API là trực tiếp: phong bì → phong bì, người nhận → người nhận, webhooks trạng thái → webhooks trạng thái. Hướng dẫn di chuyển của chúng tôi ghi lại các điểm cuối bằng điểm cuối.

Đánh giá về câu hỏi API

API có giới hạn độ sai nào?

1000 truy vấn mỗi phút theo mặc định, tăng lên theo yêu cầu cho các ứng dụng cao (xưởng, nền tảng đa chủ sở hữu).

API có giá bao nhiêu?

Các sản phẩm được sản xuất bằng cách trả tiền khi đăng ký (bắt đầu từ 0,40 € ký AES với giảm theo khối lượng), không có đăng ký tối thiểu.

Có bệnh ALS không?

99.95% thời gian hoạt động trên các kế hoạch kinh doanh và doanh nghiệp (tối đa 4 giờ không hoạt động mỗi năm). Trang trạng thái công cộng với lịch sử sự cố: status.certyneo.com. Kế hoạch doanh nghiệp bao gồm tín dụng tự động nếu không tuân thủ SLA.

Bạn sử dụng chứng thực nào?

Giấy ký hiệu mang (khóa API) trong tiêu đề Authorization. Các khóa có thể xoay từ bảng điều khiển, có thể bị hủy ngay lập tức. Đối với tích hợp OAuth (nền tảng đa bên), chúng tôi cung cấp OAuth 2.0 Client Credentials trên kế hoạch Doanh nghiệp.

Làm thế nào để xác minh chữ ký HMAC của một webhook?

Mỗi webhook bao gồm một tiêu đề X-Certyneo-Signature chứa một HMAC SHA-256 của payload, được ký với webhook bí mật của bạn.

SDK có nguồn mở không?

Có. Node, Python và Ruby SDK có trên GitHub dưới giấy phép MIT. Bạn có thể forker, đóng góp hoặc chỉ kiểm toán chúng. Các tập tin nhị phân được xuất bản trên npm, PyPI và RubyGems dưới tên không gian @certyneo / certyneo.

Tôi có thể thử không đăng ký không?

Có, thông qua các ví dụ tương tác trong tài liệu API: /developers/playground. Các truy vấn ở đó chạy vào một thực thể sandbox được chia sẻ, không cần khóa. Để sử dụng nghiêm túc, hãy tạo tài khoản nhà phát triển miễn phí (sandbox không giới hạn).

Sẵn sàng để tích hợp chữ ký điện tử?

Sandbox miễn phí không giới hạn, tài liệu đầy đủ, SDK chính thức.