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

السلوك

يُحذف كل جلسة مطابقة تماماً مثلما يحدث عند حذف الجلسة: تُحذف الجلسة، وكل محاولة تحقق تتضمنها، وقرارها والبيانات المستخرجة منها، وسجلات ميزاتها، وكل ملفاتها المخزنة. وتختفي من جميع endpoints القراءة، وتتوقف روابط الوسائط التي صدرت سابقاً عن العمل. تُسقط تسليمات webhook التي ما زالت في قائمة الانتظار لجلسة محذوفة، وكذلك إعادات محاولاتها؛ أما تسليمات webhook التي تمّت بالفعل فلا تتأثر. الحذف دائم ولا يمكن التراجع عنه. إذا كانت أيٌّ من الجلسات المحددة جزءاً من تقرير تنظيمي نهائي، يُعيد الطلب كاملاً الاستجابة 409 ولا يُحذف شيء. تستخدم الاستجابة code: in_filed_report وتسمّي كل تقرير. احذف كل تقرير باستخدام حذف التقرير، ثم أعد الطلب. حذف التقرير لا يحذف الجلسة؛ تبقى الجلسة إلى أن تعيد هذا الطلب. يحدد عدد الجلسات المطابقة كيفية الرد على الطلب، سواء حددتها باستخدام session_numbers أو باستخدام delete_all: تؤكد النتيجة حذف الجلسة، إلا عندما تكون قيمة face_retention_outcome هي failed_retryable: فهذه الجلسة لم تُحذف وما زالت في مكانها، لذا عامل تلك النتيجة كفشل يجب إعادة محاولته، لا كتأكيد للحذف أبداً. تُتخطى الأرقام التي لا تطابق جلسة KYC نشطة في تطبيقك، ولا تظهر في results.

تضييق نطاق delete_all بخيارات التصفية

مع delete_all: true يمكنك تضييق التحديد باستخدام خيارات التصفية في عرض الجلسات، مع بادئة filter_ لكل منها. تقبل القيم نفسها التي تقبلها معاملات الاستعلام. يقبل خيار التصفية الذي يأخذ عدة قيم (status، workflow_id، country، region، document_type، document_name، session_type، warning، organization_name) سلسلة نصية مفصولة بفواصل أو مصفوفة:
  • تُطبَّق خيارات التصفية مع delete_all فقط؛ ومع session_numbers تُتحقق منها لكنها لا تغيّر التحديد.
  • يأخذ كل خيار تصفية آخر قيمة واحدة. تُدمج المصفوفة في قيمة واحدة مفصولة بفواصل، لذا فإن عدة تواريخ أو معرّفات UUID أو قيم api_service تُرجع 400، وعدة نصوص من vendor_data أو search أو screened_full_name لا تُطابَق كبدائل.
  • يُتجاهل خيار التصفية ذو القيمة الفارغة، فلا يضيّق التحديد.
  • يُرجع مفتاح filter_* غير معروف الاستجابة 400 مع {"filter_reviewer": "Unknown filter."}، وتُرجع القيمة التي لا يمكن قراءتها الاستجابة 400 بمفتاح filter_* نفسه، مثل {"filter_date_from": ["Enter a valid date."]}. لا يُحذف شيء في الحالتين، لذا فخيار التصفية المكتوب بشكل خاطئ لا يوسّع الحذف ليشمل كل الجلسات أبداً.
  • تطبّق مهمة الحذف خيارات التصفية نفسها، وكأي delete_all تشمل فقط الجلسات التي أُنشئت قبل الطلب.

حقول الاحتفاظ والتعليمات

يقبل هذا الـ endpoint الحقول الاختيارية نفسها التي يقبلها endpoint الجلسة الواحدة، ويطبّقها على كل جلسة مطابقة: راجع حذف الجلسة لمعرفة ما يحويه القالب المحتفَظ به وما لا يحويه، وكيف يُحسب expires_at، وما الذي تفعله تعليمات محو الخصوصية.

نتائج كل جلسة

للجلسات المطابقة حتى 20، تُرجع الاستجابة 200 OK نتيجة واحدة لكل جلسة:
تحتوي كل نتيجة على الحقول نفسها الموجودة في استجابة حذف الجلسة. biometric_template_expires_at هو الوقت الذي يُحذف فيه القالب المحتفَظ به، وdeleted_child_verifications تكون دائماً 0 هنا لأن هذا الـ endpoint يحذف جلسات KYC فقط. تُحذف الجلسات على شكل مجموعات. عندما يتعذّر حذف المجموعة، يُبلَّغ عن كل جلسة فيها بأنها failed_retryable؛ أما المجموعات الأخرى فلا تتأثر وتبقى محذوفة.

التحديدات الكبيرة تُنفَّذ كمهمة

عند تطابق أكثر من 20 جلسة، تكون الاستجابة 202 Accepted مع مهمة حذف بدلًا من results:
استعلم عن Get Session Deletion Job كل بضع ثوانٍ حتى تصبح قيمة status هي COMPLETED أو FAILED.
  • تُبلغ المهمة عن عدد الجلسات التي انتهت إلى كل نتيجة، ولا تُبلغ أبدًا عن الجلسات التي حذفتها.
  • لا تحذف مهمة delete_all إلا الجلسات التي أُنشئت قبل طلبك. لا تُحذف الجلسات التي تبدأ أثناء تشغيلها.
  • تنطبق حقول الاحتفاظ والتعليمات في طلبك على كل جلسة تحذفها المهمة.
  • إذا تعذّر حذف مجموعة بعد، تعيد المهمة المحاولة تلقائيًا.
  • تشرح المهمة الفاشلة (FAILED) السبب في الحقل error. الجلسات التي لم تصل إليها المهمة ما تزال موجودة: كرّر الطلب لحذفها.

أمثلة

الانتقال من استجابات 204

حتى هذا الإصدار كان endpoint يُرجع 204 No Content. وهو الآن يُرجع 200 OK مع results[]، أو 202 Accepted مع مهمة حذف عند وجود أكثر من 20 جلسة مطابقة. حدّث العملاء الذين يتحققون من 204. سلوك الحذف الافتراضي لم يتغير: تبقى التطبيقات الحالية على delete_with_session حتى تغيّر السياسة صراحةً.

ذات صلة

التفويضات

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.

الجسم

application/json
session_numbers
string[]

قيم session_number الرقمية لجلسات KYC المراد حذفها، كسلاسل نصية تحتوي على أرقام فقط (يتم أيضاً قبول أرقام JSON وتحويلها تلقائياً). مطلوب ما لم يكن delete_all بقيمة true؛ تُرجع القائمة الفارغة الرمز 400. يؤدي أي إدخال غير رقمي إلى رفض الطلب بالكامل بالرمز 400 (ما لم يكن delete_all بقيمة true، وفي هذه الحالة يتم تخطي التحقق وتجاهل المدخلات). الأرقام التي لا تطابق جلسة فعلية في تطبيقك يتم تخطيها دون إشعار.

Minimum array length: 1
Pattern: ^[0-9]+$
مثال:
delete_all
boolean
افتراضي:false

عندما تكون true، تُحذف كل جلسة KYC متبقية في التطبيق الطالب ويتم تجاهل session_numbers، ما لم تقم بتضييق نطاق التحديد باستخدام مفاتيح filter_*. تُنفَّذ عملية الحذف لأكثر من 20 جلسة متطابقة كمهمة حذف (202) تغطي فقط الجلسات التي تم إنشاؤها قبل الطلب. القيمة الافتراضية هي false. لا يمكن التراجع عن هذا الإجراء؛ لا توجد خطوة تأكيد.

مثال:

false

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"

filter_status

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية status في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_vendor_data
string

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية vendor_data في List Sessions، بالقيمة نفسها. قيمة واحدة، وليس قائمة: يتم دمج المصفوفة في نص واحد مفصول بفواصل، لذا لا تتم مطابقة عدة قيم كبدائل. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية search في List Sessions، بالقيمة نفسها. قيمة واحدة، وليس قائمة: يتم دمج المصفوفة في نص واحد مفصول بفواصل، لذا لا تتم مطابقة عدة قيم كبدائل. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_workflow_id

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية workflow_id في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_date_from
string<date>

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر date_from الخاص بـ سرد الجلسات، بالقيمة نفسها. قيمة واحدة وليست قائمة: يتم دمج المصفوفة في قيمة واحدة مفصولة بفواصل، وبالتالي تُرفض القيم المتعددة بالرمز 400. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_date_to
string<date>

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر date_to الخاص بـ سرد الجلسات، بالقيمة نفسها. قيمة واحدة وليست قائمة: يتم دمج المصفوفة في قيمة واحدة مفصولة بفواصل، وبالتالي تُرفض القيم المتعددة بالرمز 400. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_country

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر country الخاص بـ سرد الجلسات، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_document_type

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر document_type الخاص بـ سرد الجلسات، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_document_name

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر document_name الخاص بـ سرد الجلسات، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_region

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية region في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_didit_internal_id
string<uuid>

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر didit_internal_id الخاص بـ سرد الجلسات، بالقيمة نفسها. قيمة واحدة وليست قائمة: يتم دمج المصفوفة في قيمة واحدة مفصولة بفواصل، وبالتالي تُرفض القيم المتعددة بالرمز 400. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_session_type

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية session_type في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_api_service
string

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر api_service الخاص بـ سرد الجلسات، بالقيمة نفسها. قيمة واحدة وليست قائمة: يتم دمج المصفوفة في قيمة واحدة مفصولة بفواصل، وبالتالي تُرفض القيم المتعددة بالرمز 400. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_screened_full_name
string

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية screened_full_name في List Sessions، بالقيمة نفسها. قيمة واحدة، وليس قائمة: يتم دمج المصفوفة في نص واحد مفصول بفواصل، لذا لا تتم مطابقة عدة قيم كبدائل. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_warning

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية warning في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_status_initialized_as_in_review
boolean

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية status_initialized_as_in_review في List Sessions، بالقيم نفسها. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_is_kyc_to_be_reviewed
boolean

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر is_kyc_to_be_reviewed الخاص بـ سرد الجلسات، بالقيم نفسها. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_euuid
string<uuid>

يضيّق نطاق delete_all على الجلسات التي تطابق فلتر euuid الخاص بـ سرد الجلسات، بالقيمة نفسها. قيمة واحدة وليست قائمة: يتم دمج المصفوفة في قيمة واحدة مفصولة بفواصل، وبالتالي تُرفض القيم المتعددة بالرمز 400. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

filter_organization_name

يُضيّق نطاق delete_all ليشمل الجلسات التي تطابق تصفية organization_name في List Sessions، بالقيم نفسها. سلسلة نصية مفصولة بفواصل أو مصفوفة. عند استخدام مفتاح API، لا يمكن أن يطابق سوى اسم مؤسستك الخاصة، لذا فإنه يحدد جميع جلساتك أو لا يحدد أيًا منها. يتم تجاهله بدون delete_all. يتم تجاهل القيمة الفارغة ولا تؤدي إلى تضييق نطاق التحديد.

الاستجابة

تمت مطابقة ومعالجة ما يصل إلى 20 جلسة في الطلب. نتيجة واحدة لكل جلسة متطابقة؛ ويتم تخطي الأرقام التي لم تطابق أي شيء (غير معروفة أو محذوفة بالفعل) ولا تظهر. تؤكد النتيجة الحذف إلا عندما تكون قيمة face_retention_outcome هي failed_retryable: لم تُحذف تلك الجلسة ويجب إعادة المحاولة.

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