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

نظرة عامة

يحذف مستخدماً واحداً أو أكثر من كيانات المستخدمين. تُزال سجلات المستخدمين نهائياً. لا يشمل هذا endpoint جلسات التحقق الخاصة بهم، فهذه الجلسات تبقى بعد الحذف مع مسح ارتباطها بالمستخدم، واحذفها باستخدام حذف الجلسة أو حذف الجلسات دفعةً واحدة. كما لا تشمل المعاملات، ويمكنك حذفها باستخدام حذف المعاملات دفعةً واحدة.

متى تستخدمه

  • طلبات الحق في النسيان (GDPR / CCPA).
  • تنظيف المستخدمين التجريبيين أثناء ضمان الجودة.
  • إلغاء توفير المستخدمين الذين أُزيلوا من منصتك.

ملاحظات

  • يقبل قائمة من قيم vendor_data، أو قائمة من قيم didit_internal_id، أو delete_all: true. يمكن دمج القائمتين، وتُجمعان بمنطق OR.
  • لا يُقيّد هذا endpoint delete_all بالمرشحات أبداً، وتُرفض معاملات الدُفعات filter_* في Console بالاستجابة 400، لذلك لا يؤدي الطلب المُقيَّد النطاق إلى حذف كل مستخدمي التطبيق. الاستثناءان هما filter_has_approved_sessions وfilter_has_declined_sessions: لا يُرفضان ولا يُطبَّقان، لذا لا ترسلهما مع delete_all.
  • الكل أو لا شيء: إذا تعذّر إتمام الحذف للمستخدمين الذين اخترتهم، فلن يُحذف أيٌّ منهم، ويمكنك إعادة الطلب نفسه بأمان.
  • يتمتع بخاصية idempotency: إعادة إرسال القائمة نفسها تُرجع deleted: 0 بعد التشغيل الأول.
  • تُرجع عدد ما حُذف فقط، لا تقريراً لكل عنصر. تُتخطى القيم التي لم تطابق أي شيء بصمت. أرسل قائمة خالية من التكرار إذا أردت مقارنة deleted بعدد المعرّفات التي أرسلتها، لأن المعرّف المكرر يُحسب مرة واحدة فقط.
  • لا يُصدر أي webhook عند الحذف. تُطلق webhooks عند تغيّر حالة المستخدم وبياناته، لا عند الحذف، لذلك يجب على أي تكامل يحتاج إلى إشارة حذف أن يسجلها على جانبه.
  • لا تُحذف جلسات التحقق المرتبطة بالمستخدم بهذا endpoint. تبقى مع مسح ارتباطها بالمستخدم، ولا تُزال مستنداتها ووجوهها ووسائطها إلا عند حذف الجلسات نفسها.
  • retain_face_embeddings (منطقي، والافتراضي false) وface_retention_days (من 1 إلى 3650) هما خيارك الصريح للاحتفاظ بقالب بيومتري واحد خالٍ من الصورة لكل شخص محذوف، لاكتشاف التكرار، لهذا العدد من الأيام. لا يُحتفظ بأي معلومة أخرى عن الشخص. اترك كليهما لحذف القوالب مع المستخدمين. يُرجع face_retention_days دون retain_face_embeddings: true، أو retain_face_embeddings: true دون face_retention_days، الاستجابة 400 على face_retention_days.
  • ما لم تضبط retain_face_embeddings على true، فإن القوالب البيومترية المحفوظة المرتبطة بالمستخدم تُمحى فعلاً قبل حذف المستخدم. إذا تعذّر محو قالب لأن مخزناً بيومترياً غير متاح، تُرجع الاستجابة 503، ولا يُحذف أي مستخدم في الطلب، وإعادة الطلب تُكمل المهمة.

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

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

حذف جارٍ بالفعل

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

الأذونات

يمكن لأي مفتاح API نشط للتطبيق استدعاء هذا endpoint. مفاتيح Didit API مقيّدة بالتطبيق، لا بالدور: تحدد الأدوار والأذونات في Console (delete:users وغيرها) ما يستطيع الشخص فعله داخل Console، ولا تُطبَّق على حركة Management API. للتحكم في من يستدعي هذا endpoint، تحكّم في من يمكنه قراءة مفتاح API الخاص بالتطبيق.

ذات صلة

التفويضات

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

قدّم vendor_data_list، أو didit_internal_id_list، أو delete_all: true. يمكن الجمع بين القائمتين وتطبيق معامل الربط OR بينهما. عندما تكون قيمة delete_all هي true، فإن لها الأسبقية ويتم تجاهل كلتا القائمتين.

vendor_data_list
string[]

المعرّفات الخاصة بك المراد حذفها، وتتم مطابقتها تماماً كما أُرسلت.

didit_internal_id_list
string<uuid>[]

معرّفات المستخدم الداخلية لـ Didit المطلوب حذفها - وهو didit_internal_id الذي تُرجعه endpoints الخاصة بالإنشاء والجلب.

delete_all
boolean
افتراضي:false

إذا كانت القيمة true، فسيتم حذف كل مستخدم في التطبيق.

retain_face_embeddings
boolean
افتراضي:false

اختيارك الصريح للاحتفاظ بقالب بيومتري واحد خالٍ من الصور لكل شخص تم حذفه للكشف عن التكرار، لمدة face_retention_days. يتم حذف كل شيء آخر متعلق بالشخص. أغفله، أو أرسل false، لحذف القوالب مع المستخدمين. عندما يكون true، يكون face_retention_days مطلوباً.

face_retention_days
integer

عدد الأيام التي يتم فيها الاحتفاظ بالقالب البيومتري الخالي من الصور عندما يكون retain_face_embeddings مضبوطاً على true. مطلوب معه، ويُرفض بدونه بخطأ 400 في face_retention_days.

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

365

الاستجابة

تم حذف المستخدمين. يرجع عدد المستخدمين الذين تم حذفهم بالفعل.

deleted
integer

عدد المستخدمين المحذوفين (يستثني قيم vendor_data التي لم تطابق أي شيء).

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