الانتقال إلى المحتوى الرئيسي
تُنتج كل خطوة من خطوات التوقيع الإلكتروني نتيجة واحدة لكل موقِّع. وتجدها كعنصر ضمن signatures[] في:
  • GET /v3/session/{sessionId}/decision/، لجلسات التحقق من المستخدمين (KYC) والتحقق من الشركات (KYB).
  • حقل decision في webhook الخاصة بالجلسة للإصدار V3، والتي تُرسل عندما تكون الجلسة Approved أو Declined أو In Review أو Abandoned.
  • علامة تبويب التوقيع الخاصة بالجلسة في لوحة التحكم، وقسم التوقيع في تقرير PDF.
لا يظهر signatures في القرار إلا عندما يتضمن سير العمل خطوة التوقيع الإلكتروني. ويكون عبارة عن مصفوفة فارغة حتى يصل الموقِّع إلى هذه الخطوة. وتحتوي خطوة KYC على عنصر واحد؛ بينما تحتوي خطوة KYB على عنصر واحد لكل موقِّع.

مثال

كائن التوقيع

لا تعامل أبدًا أي مُوقِّع على أنه قد وقّع حتى تصبح status هي signed. في التوقيع المتقدم (AES)، تعني القيمة null للشهادة أو الطابع الزمني أو signed_file أنه لا يوجد توقيع بعد. يحتوي التوقيع البسيط (Simple) المُوقَّع على signed_file ولكنه يحتوي دائمًا على شهادة وطابع زمني بقيمة null.

المُوقِّع

المستندات

الحقول

يمثل كل عنصر في documents[].fields[] حقلاً واحداً من المستند، مع قيمته في نسخة هذا الموقِّع:

تنزيل المستندات الموقعة

استخدم المسارات الموجودة في signed_file وevidence_file مع مفتاح API الخاص بك. يعيد كل مسار ملف PDF نفسه.
قبل الرد، تتحقق Didit من الملف المخزن مقابل قيمة SHA-256 المسجلة له. إذا اختلفا، تُرجع مسارات PDF الموقّع والأدلة الرمز 409، ويُرجع مسار الصورة الرمز 400، وكل منها مصحوب بـ signature_document_changed. قم دائماً بتمرير signature_id إلى مسار الأدلة عندما تتضمن خطوة KYB عدة موقّعين.

ملف PDF الموقّع

يحتوي ملف PDF الموقّع، بالترتيب، على:
  1. صفحات المستند التي عُرضت على الموقِّع، مع ختم قيمة كل حقل في الموضع الذي حددته.
  2. صفحة الأدلة، ما لم تقم بإيقاف تفعيل signature_evidence_page.
  3. بالنسبة إلى المستوى Advanced (AES) فقط، توقيع PAdES، مع الختم الزمني وفق RFC 3161 الصادر عن Didit وبيانات الإلغاء اللازمة للتحقق من صحته في المستقبل. ينتهي ملف Simple PDF بعد صفحة الأدلة ولا يحتوي على توقيع رقمي أو ختم أو ختم زمني.
في ملف PDF من المستوى Advanced (AES)، يغطي التوقيع كل بايت يسبقه، بما في ذلك قيم الحقول وصفحة الأدلة. يؤدي تغيير أي شيء في الملف بعد ذلك إلى إبطال صلاحيته، وتُظهر أي أداة تحقق تدعم PAdES ذلك. توضح تفاصيل التوقيع اسم الموقِّع وتشير إلى جلسة التحقق من هويته وتأكيد الرمز الخاص به. تصبح قيم الحقول جزءاً من محتوى الصفحة وليست حقول نماذج، لذا لا يمكن تعديلها لاحقاً وتظهر في كل عارض PDF. تُظهر خانة الاختيار المحددة علامة اختيار، بينما تُترك الخانة غير المحددة كما رسمها المستند. يحصل مربع التوقيع الذي يزيد ارتفاعه عن 24 نقطة أيضاً على تسمية توضيحية صغيرة أسفل التوقيع: Signed with Didit · متبوعة بأول 8 أحرف من id الخاص بالتوقيع. تضيف Didit قيم الحقول وصفحة الأدلة والتوقيع بعد بايتات المستند الذي عُرض على الموقِّع. يُعد ذلك المستند بادئة مطابقة تماماً للملف الموقّع، لذا لا يزال من الممكن التحقق من sha256_original مقابل ملف PDF الموقّع.

ملف PDF الخاص بالأدلة

يسجل ملف PDF الخاص بالأدلة، لموقّع واحد:
  • المستوى والصيغة.
  • اسم الموقِّع، وصفته في التوقيع، والشركة بالنسبة لـ KYB.
  • جلسة التحقق من الهوية (Advanced (AES) فقط).
  • التأكيد: القناة، والوجهة المحجوبة، والوقت (Advanced (AES) فقط).
  • عنوان IP الخاص بالموقِّع.
  • كل مستند: العنوان، وعدد الصفحات، وقيمة SHA-256 للمستند الأصلي. بالنسبة لمستند Word، اسم ملف Word وقيمة SHA-256 الخاصة به، وإصدار أداة التحويل، وقيمة SHA-256 لملف PDF.
  • التوقيع المعتمد: مكتوباً (مع نمط خط اليد الخاص به) أو مرسوماً، ووقت اعتماده، وصور التوقيع والأحرف الأولى.
  • كل حقل لكل مستند: تسميته وصفحته ونوعه، وقيمته (الصورة بالنسبة للتوقيع أو الأحرف الأولى)، ومصدر القيمة (على سبيل المثال تمت كتابتها بواسطة الموقِّع أو الهوية المتحقق منها أو API الخاص بك)، ووقت ملئه (بالتوقيت العالمي الموحد UTC)، وعنوان IP الخاص بالموقِّع في ذلك الوقت بالنسبة للقيمة التي كتبها.
  • الموافقة النهائية: النص الذي وافق عليه الموقِّع في شاشة المراجعة، ووقت الموافقة.
  • قيمة SHA-256 لكل ملف موقّع، وبالنسبة لـ Advanced (AES)، الشهادة (الجهة الصادرة إليها، والجهة المصدرة، والرقم التسلسلي، والصلاحية) والختم الزمني.
تحتوي الصفحة الملحقة بكل ملف PDF موقّع على نفس المحتوى دون قسم الشهادة، لأنه يُضاف قبل تطبيق التوقيع.

التحقق من التوقيع مجددًا

يعيد POST /v3/session/{session_id}/signatures/{node_id}/validate/ قراءة كل مستند PDF موقّع في الخطوة ويتحقق من تجزئة SHA-256 الخاصة به. بالنسبة للتوقيع المتقدم (AES)، فإنه يتحقق أيضًا من صحة توقيع PAdES وشهادته وبيانات الإلغاء والطابع الزمني. لا يحتوي التوقيع البسيط على توقيع رقمي، لذا يقتصر التحقق على سلامة الملف فقط. يتم حفظ النتيجة في validation وإرجاع مصفوفة signatures[] المُحدّثة. أرسل signature_id للتحقق من موقّع واحد فقط. يتطلب ذلك إذن write:sessions، وهو ما يقابل زر التحقق مجددًا في لوحة التحكم. إذا كان ملف PDF الموقّع والمخزّن لم يعد يطابق sha256_signed الخاصة به، فسيتم إرجاع الخطأ 400 مع الرمز signature_document_changed. تكون قيمة validation هي null حتى يتم توقيع المستندات. إذا لم تتمكن Didit من تأكيد نتيجة التوقيع، فستكون قيمة validation هي { "valid": null, "reason": "signature_provider_outcome_unknown", "checked_at" } وستبقى status على signing حتى يتم حل المشكلة: تعامل معها على أنها غير موقّعة.

في تقرير PDF

يطبع تقرير PDF قسمًا خاصًا بالتوقيع يتضمن الموقّع والتأكيد والشهادة والطابع الزمني والمستندات مع قيم التجزئة الخاصة بها. عندما تحتوي المستندات على حقول، تتبعها صفحة التوقيع الإلكتروني · الحقول مع جدول واحد لكل مستند: قيمة كل حقل، وصور التوقيع والأحرف الأولى، والأوقات، والمصادر. يأتي قسم التوقيع بعد التحقق البنكي في تقرير KYC، وبعد المستندات في تقرير KYB. مرّر pages=signature لطباعة هذا القسم فقط.

مواضيع ذات صلة

آخر تعديل في ٧ نوفمبر ٢٠٢٦