الانتقال إلى المحتوى الرئيسي
Certyneo
API العام v1

دمّج التوقيع الإلكتروني في مكدس التكنولوجيا الخاص بك

أرسل المغاليف، تابع التوقيعات، استقبل webhooks. API REST بسيط، OpenAPI 3.0، أمثلة curl/Node/Python — كل ما تحتاجه لربط Certyneo بنظام إدارة الموارد البشرية أو CRM أو برنامجك خلال بضع ساعات.

البدء السريع

ثلاث خطوات: أنشئ مفتاح API من الإعدادات، قم بترميز ملف PDF الخاص بك بصيغة base64، أرسله. تحتوي الاستجابة على `signUrl` الذي يمكنك مشاركته مباشرة مع المستقبل.

cURLbash
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>" }
    ]
  }'
JavaScript / Nodets
// 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);
Pythonpython
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"])

الأظرف

الإنشاء والإرسال والمراقبة والإلغاء. يمكن للظرف أن يحتوي على عدة مستندات وعدة موقعين (متوازي أو متسلسل).

Webhooks

استقبل `envelope.created` و `envelope.completed` و `envelope.declined` على عنوان URL من اختيارك. HMAC SHA-256 على كل حمولة للتحقق من المصدر.

المصادقة البسيطة

Bearer token. مفتاح واحد لكل بيئة (الاختبار / الإنتاج). قابل للإلغاء فوراً. الحد 100 طلب/دقيقة/مفتاح، رفقة 200، 429 نظيفة مع رأس Retry-After.

نقاط النهاية المتاحة

12 مساراً يغطي الدورة الكاملة: الأظرف والمستندات والـ webhooks ومفاتيح API. جميع المسارات تقبل Bearer token وترجع JSON.

MethodPathDescription
GET/api/v1/envelopesList envelopes
POST/api/v1/envelopesCreate + send
GET/api/v1/envelopes/{id}Fetch state
DELETE/api/v1/envelopes/{id}Void
POST/api/v1/envelopes/{id}/sendRe-trigger send
GET/api/v1/documentsList documents
GET/api/v1/webhooksList webhooks
POST/api/v1/webhooksRegister webhook
DELETE/api/v1/webhooks/{id}Unregister
GET/api/v1/keysList API keys
POST/api/v1/keysCreate API key
DELETE/api/v1/keys/{id}Revoke key

حدود معدل النقل

الحدود تضمن جودة خدمة مستقرة لجميع العملاء. إذا كنت بحاجة إلى المزيد، فاتصل بنا.

  • 100 طلب في الدقيقة لكل مفتاح API
  • رفقة مقبولة حتى 200 طلب في أقل من 10 ثوان
  • استجابة 429 مع رأس Retry-After يشير إلى التأخير بالثواني