الانتقال إلى المحتوى الرئيسي
DELETE

الدعم لـ KYC وKYB

يعمل هذا الإجراء مع جلسات التحقق من المستخدم (KYC) وجلسات التحقق من الشركات (KYB). يُحلّ session_id مقابل النوعين، وينطبق سلوك الحذف نفسه على كليهما. لا ينطبق الاحتفاظ بالقالب البيومتري إلا على جلسات KYC، لأن جلسات KYC وحدها تحتوي على تضمين الوجه.

السلوك

  • تُحذف الجلسة مع كل محاولات التحقق التي تتضمنها، بما في ذلك النتائج التي استبدلتها إعادة الإرسال. يشمل ذلك قرارها، وبياناتها المستخرجة، وسجلات الميزات المرتبطة بها (التحقق من الهوية، وفحوصات السجلات، والمستندات، وAML، وتحليل عنوان IP، وغيرها)، ومراجعاتها وسجل نشاطها، وجميع ملفاتها المخزّنة.
  • يؤدي حذف جلسة التحقق من الشركات (KYB) أيضاً إلى حذف التحققات التي أنشأتها للأشخاص الرئيسيين (KYC) ولمالكيها من الشركات (KYB)، بشكل تكراري. تُبلغ الاستجابة عن عددها في deleted_child_verifications. لا يُحذف التحقق الذي تربط به الجلسة فقط، مثل KYC موجود ومعتمد أعادت استخدامه.
  • تُحذف معه بيانات التوقيع الإلكتروني: المستندات المطلوب توقيعها وملفات Word الأصلية الخاصة بها، وملفات PDF الموقّعة، وملفات PDF الخاصة بالأدلة، وصور التوقيع، وكل قيم الحقول. تُعيد مسارات التنزيل الخاصة بها 404.
  • تختفي الجلسة من استجابات القائمة والقرار فوراً، وتتوقف عن العمل روابط الوسائط الصادرة قبل الاستدعاء.
  • تُسقط عمليات تسليم webhook المنتظرة للجلسة، وكذلك إعادة المحاولات الخاصة بها.
  • تتوقف مراقبة AML المستمرة ومراقبة سجل الشركات (KYB) اللتان بدأتهما التحققات المحذوفة.
  • الحذف نهائي ولا يمكن التراجع عنه. لا يوجد endpoint للاستعادة، لذا صدّر أي شيء تحتاجه، مثل ملف PDF للقرار، قبل أن تستدعي هذا الإجراء.
  • الاستجابة هي 200 OK، وتُرسل بعد اكتمال الحذف، مع جسم JSON يوضح ما حدث لبيانات الوجه البيومترية للجلسة. راجع الترحيل إذا كان عميلك ما زال يتوقع 204.

البيانات في تقرير تنظيمي نهائي

إذا كانت الجلسة جزءاً من حالة لها تقرير تنظيمي نهائي، يُرجع الطلب 409 ولا يُحذف أي شيء. تستخدم الاستجابة code: in_filed_report وتسمّي كل تقرير:
احذف كل تقرير باستخدام حذف التقرير، ثم كرر عملية الحذف. حذف التقرير لا يحذف الجلسة، وتبقى الجلسة حتى تستدعي هذا الـendpoint مرة أخرى.

البيانات البيومترية للوجه: الحذف أو الاحتفاظ

تحتوي كل جلسة KYC تتضمن صورة سيلفي لكشف الحيوية على تضمين للوجه يُستخدم في البحث بالوجه 1:N واكتشاف التكرار. وبشكل افتراضي يُحذف هذا التضمين مع الجلسة (face_retention_policy: delete_with_session)، لذلك يمكن للشخص الذي حذفتَ جلسته أن يتحقق من هويته مرة أخرى دون أن يُعلَّم على أنه مكرر. يمكن للتطبيقات التي تحتاج إلى أن يستمر اكتشاف التكرار بعد حذف الجلسة أن تفعّل الاحتفاظ بالقالب البيومتري. عندئذٍ يحذف Didit الجلسة وجميع بياناتها كالمعتاد، ويحتفظ بقالب بيومتري منفصل للوجه خالٍ من الصور ومرتبط بالمستخدم الذي تنتمي إليه الجلسة.
القالب البيومتري المحفوظ بيانات بيومترية. وهو ليس مجهول الهوية، وليس مؤقتاً، ولا يُحذف مع الجلسة. يبقى حتى انتهاء صلاحيته المجدولة، أو حلول موعد نهائي يفرضه القانون المعمول به قبل ذلك، أو حذف المستخدم، أو طلب محو البيانات للخصوصية، أو الحذف الصريح. فعّل الاحتفاظ فقط عندما تغطيه تعليمات المتحكم وإشعار الخصوصية لديك.
ما يحتويه القالب المحفوظ وما لا يحتويه: يتم ضبط الاحتفاظ في ثلاثة أماكن، من الأعم إلى الأخص:
  1. سياسة التطبيق في Business Console ← إعدادات التطبيق ← الاحتفاظ بالبيانات، أو عبر PATCH /v3/webhook/ (face_retention_policy، face_retention_days). انظر الاحتفاظ بالبيانات.
  2. التجاوز لكل استدعاء عبر retain_face_embeddings في هذا الendpoint وفي حذف الجلسات دفعة واحدة.
  3. فئة التعليمات عبر deletion_instruction. تعليمات privacy_erasure تتغلب دائماً: فهي تحذف كل قالب محفوظ لهذا المستخدم ولا تحفظ أي قالب جديد.

نص الطلب

جميع الحقول اختيارية. لا تُرسل نص الطلب لاتباع سياسة التطبيق.

الاستجابة

تؤكد الاستجابة أن Didit قبل تعليمة الحذف الخاصة بك وطبّقها. وهي ليست شهادة محو: احتفظ بـinstruction_id في سجل المحو لديك حتى تتمكن من مطابقته مع سجل التدقيق لاحقاً.

مدة الاحتفاظ وانتهاؤه

لكل قالب محفوظ expires_at محدد. يضبطه Didit على أقرب الخيارات التالية:
  1. face_retention_days من الطلب، أو face_retention_days الخاصة بالتطبيق عندما يُغفلها الطلب؛
  2. نافذة الاحتفاظ العامة بالبيانات لدى التطبيق، عندما تكون مضبوطة؛
  3. face_retention_deadline من الطلب، عندما يُرسل.
يُرفض الطلب الذي يحفظ قالباً دون أي مدة محددة بالاستجابة 400، ولا يُحذف شيء. لا يمكن أن تتجاوز القوالب المحفوظة أقرب تعليمة مطبَّقة من العميل، أو انتهاء الغرض، أو الانتهاء المضبوط، أو تعليمة محو بيانات صاحب البيانات، أو المهلة القانونية للبيانات البيومترية. أنت مسؤول عن اختيار مدة تفي بالقوانين المنطبقة على مستخدميك، واختر مدة أقصر كلما كانت قاعدة منطبقة تقتضي ذلك.

محو البيانات لأغراض الخصوصية

أرسل deletion_instruction: "privacy_erasure" عندما تتصرف بناءً على طلب من صاحب البيانات. تحذف Didit كل قالب بيومتري محتفظ به مرتبط بـمستخدم الجلسة، ثم تحذف الجلسة وتضمينها. لا يمكن لسياسة الاحتفاظ بالبيانات في التطبيق أن تتجاوز تعليمة الحذف بدافع الخصوصية، ويُرفض retain_face_embeddings: true مع الاستجابة 400. حذف المستخدم باستخدام حذف المستخدمين دفعةً واحدة يُفرّغ أيضاً القوالب المحتفظ بها الخاصة به.

ما الذي لا يتأثر

حذف الجلسة لا ينظّف هذه البيانات تلقائياً. إذا كنت تتعامل مع طلب محو بموجب حق المحو، فعالجها بشكل منفصل.
  • إدخالات قائمة الحظر المنشأة من الجلسة (الوجه أو المستند) تبقى في مكانها. أزلها من قائمة الحظر. يحتفظ إدخال الوجه في قائمة الحظر بإدخاله البيومتري الخاص، وهو مستقل عن أي قالب محتفظ به.
  • رموز المشاركة الصادرة للجلسة لا تُلغى، لكن لم يعد هناك ما تستورده: الاستيراد باستخدامها يُرجع 400 مع {"share_token": ["Original session does not exist."]}.
  • webhook التي سُلّمت بالفعل للجلسة لا تتأثر. التسليمات التي ما زالت في قائمة الانتظار، ومحاولات إعادتها، تُسقط. لا يُرسل أي webhook للحذف نفسه.
  • الأرصدة المستهلكة في عملية التحقق لا تُسترد.
  • النسخ الموقعة التي أُرسلت بالفعل بالبريد الإلكتروني إلى الموقّع عبر خطوة التوقيع الإلكتروني موجودة في صندوق بريد الموقّع ولا تتأثر.
  • لا يُحذف الكيان الأب مستخدم أو شركة. استخدم حذف المستخدمين أو حذف الشركات لحذفهما. إذا كانت صورة الملف الشخصي للمستخدم قد جاءت من الجلسة المحذوفة، فستُزال الصورة.
  • القالب البيومتري المحتفظ به (فقط عند اختيار الاحتفاظ) يبقى حتى تنتهي صلاحيته أو تمسحه. امسحه عبر Biometric Templates API، أو بحذف المستخدم، أو بتكرار حذف جلسة أخرى للمستخدم نفسه مع deletion_instruction: "privacy_erasure".

أمثلة

الاستجابة في تطبيق لم يختر تفعيل الاحتفاظ:

الأخطاء

عند 400 لا يُحذف شيء. عند 503 تبقى الجلسة في مكانها: أعد الطلب نفسه حتى يُرجع 200. قد تكون بعض ملفاتها المخزنة أو تضمين وجهها قد حُذف بالفعل، فلا تعتمد عليها بعد 503.

الإذن

يتطلب delete:sessions. الإذن نفسه يغطي جلسات التحقق من المستخدمين (KYC) وجلسات التحقق من الشركات (KYB)، وتجاوز سياسة الاحتفاظ.

الحذف الجماعي

للعمليات الجماعية على جلسات KYC، استخدم POST /v3/sessions/delete/. تقبل الطلب الحقول نفسها الخاصة بالاحتفاظ والتعليمات. تُحذف حتى 20 جلسة مطابقة داخل الطلب مع نتيجة لكل جلسة، ويُنفَّذ الباقي كـمهمة حذف. انظر حذف الجلسات دفعةً واحدة.

الترحيل من استجابات 204

حتى هذا الإصدار كانت نقطة النهاية تُرجع 204 No Content. تُرجع الآن 200 OK مع جسم JSON الموثق أعلاه، حتى يتضمن كل حذف قيمة face_retention_outcome الخاصة به. حدّث العملاء الذين يتحققون من 204. السلوك الافتراضي لم يتغير: تبقى التطبيقات الحالية على delete_with_session، ولا يفعّل أي ترحيل الاحتفاظ نيابةً عنك. فعّله صراحةً من وحدة التحكم أو عبر PATCH /v3/webhook/.

ذات صلة

التفويضات

x-api-key
string
header
مطلوب

مفتاح API الخاص بتطبيقك، من Developers -> API keys في Business Console. يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير 404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع https://docs.didit.me/console/api-keys.

معلمات المسار

sessionId
string<uuid>
مطلوب

معرّف UUID (session_id) لجلسة التحقق من المستخدمين (KYC) أو التحقق من الشركات (KYB) المراد حذفها، كما تم إرجاعه عند إنشاء الجلسة. يجب أن يكون معرّف UUID قياسياً مفصولاً بشرطات — أي قيمة ليست بصيغة UUID لا تتطابق مع المسار وترجع 404.

مثال:

"11111111-2222-3333-4444-555555555555"

الجسم

application/json

اختياري. احذف نص الطلب بالكامل لاتباع سياسة الاحتفاظ بالبيانات الخاصة بالتطبيق مع حذف تشغيلي.

retain_face_embeddings
boolean | null

تجاوز face_retention_policy الخاصة بالتطبيق لعملية الحذف هذه. القيمة true تحتفظ بقالب بيومتري واحد للوجه خالٍ من الصور ومرتبط بمستخدم الجلسة بعد حذف الجلسة؛ والقيمة false تحذف تضمين الوجه مع الجلسة؛ احذف المعامل أو عيّنه كـ null لاتباع سياسة التطبيق. يتم تجاهله لجلسات KYB وللجلسات التي لا تحتوي على تضمين للوجه.

مثال:

true

face_retention_days
integer

مدة الاحتفاظ المحدودة، بالأيام، للقالب المحتفظ به. مطلوبة عند الاحتفاظ بالقالب ما لم يكن التطبيق قد عيّن بالفعل face_retention_days. يتم تعيين expires_at للقالب وفقاً للتاريخ الأقرب بين هذه المدة، وفترة الاحتفاظ بالبيانات العامة للتطبيق، وface_retention_deadline.

النطاق المطلوب: 1 <= x <= 3650
مثال:

365

face_retention_deadline
string<date-time>

انتهاء صلاحية نهائي اختياري لقالب تم الاحتفاظ به. يجب أن يكون في المستقبل.

مثال:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
افتراضي:operational_session_delete

فئة التعليمات التي تقدمها. يقوم operational_session_delete بحذف الجلسة والاحتفاظ بالقالب فقط عندما تنص السياسة أو retain_face_embeddings على ذلك. بينما يقوم privacy_erasure بمسح كل قالب بيومتري تم الاحتفاظ به ومرتبط بمستخدم الجلسة قبل حذف الجلسة، ولا يمكن تجاوزه بواسطة سياسة التطبيق، ولا يمكن دمجه مع retain_face_embeddings: true (400).

الخيارات المتاحة:
operational_session_delete,
privacy_erasure
مثال:

"operational_session_delete"

instruction_id
string

مرجعك الدائم لتعليمات الحذف هذه (على سبيل المثال معرّف تذكرة المسح). يُسجل في سجل التدقيق وعلى أي قالب يتم الاحتفاظ به. تنشئه Didit عند إغفاله.

Maximum string length: 255
مثال:

"dsar-2026-0142"

الاستجابة

تم حذف الجلسة. يوضّح جسم الاستجابة ما حدث لبيانات الوجه البيومترية للجلسة، وبالنسبة لجلسة KYB، عدد عمليات التحقق التي أنشأتها وتم حذفها معها.

session_id
string<uuid>

الجلسة المحذوفة.

session_number
integer | null

رقم الجلسة المحذوفة.

face_retention_outcome
enum<string>

ما حدث للبيانات البيومترية للوجه الخاصة بالجلسة. deleted: تم حذف تضمين الوجه مع الجلسة (افتراضي). retained_with_user: يتم حذف الجلسة ويظل قالب بيومتري واحد خالٍ من الصور مرتبطاً بالمستخدم؛ راجع biometric_template_uuid. none: لم تتضمن الجلسة أي تضمين للوجه (على سبيل المثال جلسة KYB، أو جلسة KYC بدون صورة سيلفي لكشف الحيوية). ineligible_no_vendor_user: تم طلب الاحتفاظ ولكن لا يوجد مستخدم مرتبط بالجلسة، لذا تم حذف التضمين مع الجلسة. لا يتم الإبلاغ عن فشل مخزن البيانات البيومترية مطلقاً عبر هذا الحقل في هذا الـ endpoint: بل يُرجع 503 ولا يتم حذف الجلسة.

الخيارات المتاحة:
retained_with_user,
deleted,
none,
ineligible_no_vendor_user
biometric_template_uuid
string<uuid> | null

معرّف القالب البيومتري المحتفظ به عندما تكون قيمة face_retention_outcome هي retained_with_user؛ وnull بخلاف ذلك. يمكنك إدارته عبر /v3/biometric-templates/{template_uuid}/.

biometric_template_expires_at
string<date-time> | null

متى يُحذف القالب البيومتري المحتفظ به، عندما تكون قيمة face_retention_outcome هي retained_with_user؛ وتكون null عند عدم الاحتفاظ بأي قالب.

deleted_child_verifications
integer

لجلسة التحقق من الشركات (KYB): عدد عمليات التحقق التي أنشأتها (جلسات KYC للأشخاص الرئيسيين وجلسات KYB للشركات المالكة، بشكل تكراري) والتي حُذفت معها. دائماً 0 لجلسة KYC.

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