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

نظرة عامة

يسجل تقرير التحقق عبر NFC ما قرأته Didit وتحققت منه من شريحة NFC الخاصة بالمستند — سواء كان جواز سفر إلكتروني، أو بطاقة هوية إلكترونية، أو مستنداً إلكترونياً آخر متوافقاً مع معيار ICAO 9303. ويتضمن البيانات البيوغرافية للشريحة، وعمليات التحقق التشفيرية من سلامة البيانات (تجزئات SOD وتجزئات مجموعات البيانات)، وملخصاً لشهادة موقِّع المستند (DSC) المستخدمة من قبل دولة الإصدار. يتم إصدار التقرير بعد إتمام المستخدم لخطوة NFC في سير العمل. تقرأ Didit مجموعات البيانات للشريحة على جهاز المستخدم، وتتحقق من توقيع كائن أمان المستند (SOD) مقابل شهادة CSCA الخاصة بدولة الإصدار، وتفحص تجزئة كل مجموعة بيانات مقابل القيم الموقعة في SOD، وتطابق MRZ الخاص بالشريحة مع MRZ المستخرج عبر تقنية OCR من الوجه الظاهر للمستند. تتم قراءة بطاقة My Number اليابانية عبر JPKI بدلاً من ذلك (chip_protocol: "jpki"): حيث يتضمن تقريرها عمليات التحقق من الشهادة والتوقيع والإلغاء وبيانات الحامل تحت jpki، بينما تظل حقول ICAO فارغة null. راجع Japan My Number Card (JPKI). يحمل كل تقرير قيمة status خاصة به — بشكل مستقل عن حالة الجلسة الإجمالية — تعكس نتيجة خطوة NFC وحدها:
  • مقبولة — تمت قراءة الشريحة ولم يُطلق أي من التحذيرات التي تم إعدادها لتوجيه الخطوة إلى المراجعة أو الرفض.
  • قيد المراجعة — تم إطلاق تحذير واحد على الأقل إجراءه المُعدّ هو المراجعة (على سبيل المثال NFC_CHIP_NOT_VERIFIED أو NFC_TRUST_ANCHOR_MISSING عند تعيين إجراء الشريحة غير المتحقق منها إلى المراجعة، أو JPKI_REVOCATION_UNCHECKED مع الإجراء الافتراضي الخاص به).
  • مرفوضة — تم إطلاق تحذير واحد على الأقل إجراءه المُعدّ هو الرفض (على سبيل المثال NFC_AND_OCR_DATA_NOT_SAME عند تعيين إجراء عدم تطابق البيانات إلى الرفض).
  • لم تكتمل — لم يُكمل المستخدم خطوة NFC إطلاقاً؛ إما أنه تُركت محاولة قراءة الشريحة أو أن الجهاز لا يدعم NFC.
  • طُلبت إعادة الإرسال — طلب أحد المراجعين من المستخدم إعادة الإرسال؛ وسيتم استبدال التقرير بمحاولة جديدة.

أين يظهر في استجابات API

يأتي تقرير NFC داخل المصفوفة nfc_verifications[] — دائماً كمصفوفة JSON، وليس ككائن nfc فردي مطلقاً. تظهر عناصر متعددة عندما يشغّل سير العمل خطوة NFC أكثر من مرة (على سبيل المثال في مسار ترقية مستوى التحقق)؛ ويحمل كل عنصر قيمة node_id خاصة به.
  • واجهة API لقرار الجلسة — يظهر كـ nfc_verifications[] في المستوى الأعلى لـ GET /v3/session/{sessionId}/decision/. راجع استرداد قرار الجلسة.
  • webhook — تتضمن payload الخاص بـ status.updated نفس المصفوفة nfc_verifications[] بمجرد أن تُنتج خطوة NFC بيانات. راجع webhook.
  • NFC المستقل — للإرسال المباشر لبيانات الشريحة، راجع نظرة عامة على NFC.
عندما يتضمن سير العمل خطوة NFC تم تخطيها أو تجاوزها، يحمل payload القرار أيضاً حقلاً في المستوى الأعلى باسم nfc_skip_reason يوضح السبب بدقة — سواء كان المستند لا يحتوي على شريحة، أو شهادة دولة الإصدار غير متوفرة، أو الجهاز لا يحتوي على قارئ NFC، أو تم التحقق دون استخدام SDK أصلي (لا يوجد وصول لـ NFC من المتصفح)، أو تعذر اشتقاق مفتاح الوصول إلى الشريحة من MRZ، أو تعذرت قراءة بطاقة My Number عبر JPKI، أو اختار المستخدم التخطي. ويظل الحقل null للنتائج الخارجة عن هذا التصنيف — والأكثر شيوعاً هو المستخدم الذي ترك المحاولة في منتصفها (حالة التقرير Not Finished) أو الجلسة التي لا تزال خطوة NFC فيها قيد الانتظار. راجع أسباب التخطي لمعرفة القيم الدقيقة.
أشارت الوثائق القديمة إلى حقل nfc فردي. هذا الشكل غير موجود على endpoint قرار v3 — يظهر فقط في الوجهات المثبتة صراحة على webhook في الإصدار V2، حيث يحمل أيضاً chip_protocol وjpki. احرص دائماً على قراءة response.nfc_verifications[0] والتكرار عبر عناصر المصفوفة.

المخطط

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

قيم الحالة

تحذيرا الشهادة (DSC_CERTIFICATE_REVOKED وDSC_CERTIFICATE_EXPIRED) هما للعلم فقط: يظهران في warnings[] لكنهما لا يغيران قيمة status لـ NFC بمفردهما أبداً. راجع تحذيرات NFC للاطلاع على مصفوفة السلوك الكاملة.

أمثلة

Approved — تمت قراءة الشريحة وهي صالحة تشفيرياً

Declined — عدم تطابق بين OCR والشريحة

بطاقة My Number اليابانية (JPKI)

تُقرأ بطاقة My Number اليابانية عبر JPKI في حزم SDK الأصلية: يُدخل الشخص رقم PIN الخاص بالبطاقة وتوقّع البطاقة تحدياً يُستخدم لمرة واحدة (راجع آلية العمل). يحتوي تقريرها على chip_protocol: "jpki" ويحمل الأدلة ضمن jpki. تكون الحقول portrait_image وsignature_image وchip_data وauthenticity وcertificate_summary بالقيمة null، لأن البطاقة لا تحتوي على بيانات ICAO.
قراءة بطاقة My Number عبر JPKI ليست مفعّلة في بيئة الإنتاج بعد. وحتى تفعيلها، تتخطى بطاقة My Number خطوة NFC مع سبب التخطي JPKI_UNAVAILABLE.

حقول JPKI

لا يحمل التقرير أبداً الشهادات نفسها، أو أرقامها التسلسلية، أو التوقيعات، أو الرقم الفردي (My Number) المكوّن من 12 رقماً للبطاقة، والذي لا تقرأه خطوة NFC مطلقاً.

مثال: قراءة بطاقة My Number

عند تعذر التحقق من الإبطال لإحدى القراءات، يتضمن التقرير نفسه revocation_status: "unchecked"، وتحذيراً بقيمة JPKI_REVOCATION_UNCHECKED، وstatus: "In Review" وفقاً للإعدادات الافتراضية. راجع تحذيرات NFC.

ملاحظة أمنية

يتم توقيع بيانات شريحة NFC بواسطة جهة الإصدار، لذا فإن التقرير المقبول الذي يحتوي على sod_integrity: true وdg_integrity: true يمثل أقوى إثبات هوية يمكن لـ Didit تقديمه. تعامل مع روابط الصور الموقعة (portrait_image، وsignature_image) على أنها قصيرة الأجل: نزّلها فوراً ولا تخزنها مؤقتاً بصورة عامة — أعد طلب القرار عندما تحتاج إلى روابط جديدة.

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

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