API v1.0 لوحة التحكم

📡 توثيق SABSign API

واجهة برمجية RESTful كاملة للتوقيع الرقمي وإدارة المستندات. جميع الطلبات والردود بصيغة JSON.

Base URL: https://sign.sabgate.ae/api
المصادقة: أضف header في كل طلب: Authorization: Bearer {token} — احصل على التوكن من POST /api/auth/login
المصادقة والمستخدمون
POST /api/auth/login تسجيل الدخول
الحقلالنوعالوصف
email *stringالبريد الإلكتروني
password *stringكلمة المرور
// مثال الطلب fetch('/api/auth/login', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({email: 'user@company.com', password: 'Pass@123'}) }) // الرد {"success": true, "token": "eyJ...", "user": {"id": "usr-001", "name": "...", "role": "admin"}}
GET /api/auth/me بيانات المستخدم الحالي

يعيد بيانات المستخدم المسجّل دخوله حالياً. يتطلب token صالح.

POST /api/auth/users إضافة مستخدم جديد admin
الحقلالنوعالوصف
name *stringالاسم الكامل
email *stringالبريد الإلكتروني
password *stringكلمة المرور (8+ أحرف)
role *admin|manager|viewerدور المستخدم
المستندات
GET /api/documents قائمة المستندات

يعيد كل المستندات للمستخدم الحالي. Admin يرى كل المستندات.

// الرد {"success": true, "count": 5, "documents": [ {"id": "doc-001", "sabId": "SAB-2026-XXXX", "documentName": "عقد خدمات", "pages": 3, "status": "signed", "createdAt": "2026-07-04T..."} ]}
POST /api/documents/record تسجيل مستند موقّع
الحقلالنوعالوصف
sabId *stringمعرّف SAB (SAB-2026-XXXX)
documentName *stringاسم المستند
pagesnumberعدد الصفحات
actionsigned|sentنوع الإجراء
sentTostringأُرسل إلى (بريد/هاتف)
sentViawhatsapp|emailطريقة الإرسال
DELETE /api/documents/:id حذف مستند

يحذف المستند بمعرّفه. يتطلب صلاحية admin أو أن يكون المستخدم مالك المستند.

التوثيق والتحقق
POST /api/registry/record تسجيل مستند في سجل التوثيق
الحقلالنوعالوصف
sabId *stringمعرّف SAB
documentName *stringاسم المستند
pagesnumberعدد الصفحات
GET /api/registry/verify/:sabId التحقق من صحة مستند

لا يتطلب مصادقة — متاح للعموم.

// مثال GET /api/registry/verify/SAB-2026-XXXX // الرد - موثّق {"success": true, "verified": true, "document": { "sabId": "SAB-2026-XXXX", "documentName": "عقد خدمات", "signedBy": "Kassem Ghatrif", "signedAt": "2026-07-04T...", "pages": 3 }} // الرد - غير موثّق {"success": true, "verified": false, "message": "لم يتم العثور على مستند بهذا المعرّف"}
أدوات PDF
POST /api/pdftools/merge دمج ملفات PDF

Content-Type: multipart/form-data — أرفق الملفات كـ files[] (2-20 ملف). يعيد PDF مدموج.

POST /api/pdftools/split تقسيم PDF
الحقلالنوعالوصف
file *Fileملف PDF (multipart)
fromnumberمن صفحة (افتراضي: 1)
tonumberإلى صفحة (افتراضي: الأخيرة)
POST /api/pdftools/encrypt تشفير PDF بكلمة مرور
الحقلالنوعالوصف
file *Fileملف PDF (multipart)
password *stringكلمة المرور
الإشعارات والإرسال
POST /api/notify/whatsapp إرسال مستند عبر واتساب
الحقلالنوعالوصف
phone *stringرقم الهاتف (971XXXXXXXXX)
sessionId *stringمعرّف جلسة واتساب
sabIdstringمعرّف SAB للمستند
documentNamestringاسم المستند
pdfBase64stringPDF بصيغة Base64 (اختياري)
POST /api/notify/email إرسال مستند عبر البريد الإلكتروني
الحقلالنوعالوصف
to *stringالبريد المستلم
subjectstringموضوع الرسالة
messagestringنص الرسالة
sabIdstringمعرّف SAB
pdfBase64stringPDF بصيغة Base64 (اختياري)
SABSign API v1.0 · sign.sabgate.ae · © 2026 SABGate Technology