سجل التحديثات · Changelog

سجل التحديثات — كل جديد في الـAPI أولًا بأول.

تتطوّر واجهة wthaiq البرمجية باستمرار دون أن تكسر تكاملك. نثبّت الإصدار بترويسة مؤرّخة Wthaiq-Version: 2026-07-01: التغييرات غير الكاسرة — كنقطة جديدة أو حقل اختياري أو نوع حدث — تُشحن باستمرار على إصدارك نفسه، بينما تُطرح التغييرات الكاسرة في إصدار مؤرّخ جديد لا يؤثّر عليك حتى تختار ترقيته بنفسك. هذه الصفحة توثّق كل تغيير بتاريخه ووسمه.

اقرأ الوثائق
الإصدار المستقر الحالي: v1 · 2026-07-01
الإصدار المؤرّخ المثبّت Wthaiq-Version: 2026-07-01
إضافةتغييرأمان
إضافةإصلاح
إضافة
تغييرإيقاف
الإصدار المستقر الحالي · v1

دليل الوسوم

كل تغيير في السجل موسوم بلونه ونوعه، لتقرأ أثره على تكاملك في لمحة.

إضافة تغيير إصلاح إيقاف تدريجي أمان
الخط الزمني

الإصدارات الأحدث أولًا.

تُدرج كل الإصدارات التجريبية (beta) ثم الإصدار المستقر v1 بتواريخها ووسومها الدقيقة.

إزالة وضع الاختبار — توحيد صيغة المفاتيح
  • تغيير جوهريأُزيل نظام البيئتين sk_live_/sk_test_. صار كل مفتاح سرّي بصيغة موحّدة sk_ + 40 محرفًا سداسي عشريًا، وهو حيّ منذ لحظة إنشائه — لا وضع اختبار منفصل، وحقل livemode يساوي true دائمًا.
  • إضافةمفاتيح عامة (Publishable) بصيغة pk_ آمنة للكشف في المتصفّح: مقفولة على نطاقات محدّدة عبر allowed_origins، ومحدودة بمجموعة مسارات ثابتة (القوالب، طلبات التوقيع، الموقّعون، التدفّقات) مع منع الكتابة على القوالب/الموقّعين/التدفّقات.
  • أمانكل نداء API — بأي نوع مفتاح — يُحتسب فعليًا على رصيدك المسبوق الدفع (20 ج.م لكل طلب توقيع، +35 ج.م لكل موقّع يتطلّب تحقّق هوية). لا توجد بيئة تجريبية معفاة من الفوترة.
الإصدار المستقر v1
  • إضافةأُطلقت واجهة Signature Requests للعموم على المسار POST /v1/signature_requests بدورة الحياة الكاملة (draft ثم sent ثم completed) ونقاط send وcancel وreminders وdownload وcertificate.
  • إضافةWebhooks موقّعة عبر ترويسة Wthaiq-Signature (HMAC-SHA256 بصيغة t=..,v1=..) مع نافذة تحمّل زمني 300 ثانية وإعادة محاولة تصاعدية حتى 24 ساعة.
  • إضافةمفاتيح API بصيغتَي sk_live_ وsk_test_، وسرّ توقيع الويبهوك whsec_؛ وضع الاختبار لا يُرسل بريدًا حقيقيًا ولا يُصدر شهادات قانونية. ملاحظة (2026-07-26): نظام البيئتين هذا أُزيل لاحقًا — راجع أعلى السجل.
  • إضافةSDKs رسمية من الفئة الأولى — @wthaiq/node وwthaiq (Python) وwthaiq/wthaiq-php — تثبّت ترويسة الإصدار افتراضيًا وتتبع SemVer.
  • تغييرأصبح Wthaiq-Version: 2026-07-01 هو الإصدار المؤرّخ الافتراضي لكل الحسابات الجديدة، مع ترويسة Wthaiq-Request-Id في كل استجابة.
  • أمانفُرض استخدام TLS 1.2 فأعلى، وأتيح تدوير سرّ الويبهوك whsec_ من لوحة التحكّم دون انقطاع الخدمة.
قوالب العقود الجاهزة beta
  • إضافةنقطة القوالب (العقود الجاهزة): GET /v1/templates وGET /v1/templates/{id} مع تعريف الحقول (key وlabel وtype وrequired).
  • إضافةإنشاء طلب توقيع مباشرة من قالب عبر source.type = "template" مع تمرير قيم الحقول في signers[].fields.
  • إصلاحتصحيح احتساب القيم الافتراضية للحقول عند غياب كائن fields من جسم الطلب.
التحقق العلني بالرقم المرجعي beta
  • إضافةنقطة التحقق العلني برقم مرجعي: GET /v1/verifications/{reference} (رموز WTQ- وWTH-) دون مصادقة، لفحص سلامة المستند وأطرافه.
  • إضافةحقل integrity بقيم intact وmodified وunknown في كائن verification، مع أسماء الأطراف مُقنّعة.
  • إضافةحدث verification.created إلى قائمة أحداث الـWebhooks.
جلسات التوقيع المضمّن beta
  • إضافةجلسات التوقيع المضمّن White-label: POST /v1/signers/{id}/signing_session تُصدر رابط/توكن توقيع قصير العمر للتضمين داخل تطبيقك بعلامتك.
  • تغييرأُضيف الحقل signing_url إلى كائن signer لدعم الصفحة المستضافة والمضمّنة عبر الحقل نفسه.
  • إصلاحالتزام التوكنات المضمّنة الصارم بوقت expires_at وإبطالها فور اكتمال التوقيع أو رفضه.
تأكيد الهوية (AES) عبر Didit beta
  • إضافةتأكيد الهوية للمستوى المتقدّم (AES) عبر Didit — كائن identity_verification ونقطة GET /v1/identity_verifications/{id} (مستند رسمي + مطابقة وجه حيّة).
  • إضافةبوابة require_identity على مستوى الطلب والموقّع، وحدثا signer.otp_verified وsigner.identity_verified.
  • إضافةدعم legal_level = "aes" الذي يربط التوقيع بشخص حقيقي مؤكَّد قبل فتح صفحة التوقيع.
ختم PAdES-LT وحفظ DSS/LTV beta
  • إضافةختم pades-lt مع DSS/LTV (شهادات + OCSP + CRL مضمّنة) للحفظ طويل الأمد والتحقق دون اتصال بجهة الإصدار.
  • تغييرصار format = "pades-lt" القيمة الافتراضية لطلبات المستوى aes بدلًا من pades-t.
  • إضافةحدث document.sealed يُطلَق عند دمج توقيع CMS/PAdES في ملف الـPDF النهائي.
أساسيات المنصّة (أول beta عام) beta
  • إضافةختم زمني وفق RFC 3161 على كل توقيع (المستوى pades-t) لإثبات لحظة التوقيع إثباتًا مستقلًّا.
  • تغييرتُوحِّد كل النقاط مغلّف الأخطاء { error: { type, code, message, param, request_id } } مع رموز HTTP قياسية (400/401/402/409/422/429).
  • إضافةدعم ترويسة Idempotency-Key على طلبات POST (تُخزَّن 24 ساعة) لجعل إعادة المحاولة آمنة.
  • إضافةحدود المعدّل 100 طلب لكل 10 ثوانٍ مع ترويسات X-RateLimit-Limit وRemaining وReset، ورمز 429 مصحوبًا بـRetry-After.
  • إيقاف تدريجيإيقاف تدريجي لمسار المعاينة القديم غير المؤرّخ /v1/preview لصالح الإصدار المؤرّخ الجديد؛ ستُزال النقطة في إصدار مؤرّخ لاحق.
سياسة الإصدارات

كيف نُصدر التغييرات دون أن نكسر تكاملك.

نتّبع إصدارًا مؤرّخًا (date-based versioning). إصدارك المثبّت لا يتغيّر سلوكه أبدًا بتغيير كاسر — أنت وحدك من يقرّر متى يرقّيه.

تغييرات كاسرة

تتطلّب إصدارًا مؤرّخًا جديدًا

  • حذف نقطة أو حقل أو قيمة enum، أو إعادة تسميتها.
  • تغيير نوع حقل قائم (مثلًا من string إلى integer).
  • إضافة معامل مطلوب (required) جديد إلى طلب قائم.
  • تشديد قواعد التحقق بحيث تُرفض طلبات كانت تُقبل سابقًا.
  • تغيير الدلالة الافتراضية لاستجابة أو ترتيب عناصر قائمة.

تغييرات غير كاسرة

تُشحن باستمرار على إصدارك نفسه

  • إضافة نقطة (endpoint) جديدة كليًّا.
  • إضافة حقل جديد اختياري إلى جسم استجابة.
  • إضافة قيمة enum جديدة (عالِج القيم غير المعروفة بمرونة).
  • إضافة نوع حدث Webhook جديد إلى القائمة.
  • إضافة معامل اختياري جديد إلى طلب قائم.
نافذة الإيقاف التدريجي: نُعلن أي إيقاف تدريجي في هذا السجل بوسم «إيقاف تدريجي»، ونُرسل ترويسة Wthaiq-Deprecation على الاستجابات المعنيّة، ونُبقي السلوك القديم عاملًا مدة لا تقل عن 6 أشهر قبل إزالته في إصدار مؤرّخ جديد — كي يتّسع الوقت للترقية بأمان.

ثبّت الإصدار بإرسال ترويسة Wthaiq-Version مع كل طلب. إن لم تُرسلها، يُستخدم آخر إصدار مؤرّخ مثبّت على حسابك (أو أحدث إصدار افتراضي). لا يتغيّر سلوك إصدارك المثبّت أبدًا بتغيير كاسر:

pin-version.sh
curl https://wthaiq.com/api/v1/signature_requests \
  -H "Authorization: Bearer sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Wthaiq-Version: 2026-07-01"

# الاستجابة تعيد الإصدار المستخدم فعليًّا في الترويسة:
# Wthaiq-Version: 2026-07-01
# Wthaiq-Request-Id: req_9f2a1c
الترقية بوعي: عند الاستعداد لاعتماد إصدار مؤرّخ أحدث، راجِع فروقه في هذا السجل، جرّبه أولًا بطلب صغير على حسابك (لا يوجد مفتاح اختبار منفصل — الطلب حقيقي ويُفوتَر)، ثم بدّل قيمة Wthaiq-Version في بيئة الإنتاج. لا حاجة إلى ترقية دفعة واحدة — كل تكامل يرقّي على إيقاعه.

جاهز لبناء تكاملك؟

ابدأ من الوثائق الكاملة للواجهة البرمجية، وثبّت إصدارك المؤرّخ، واشترك لتصلك كل التحديثات أولًا بأول.