مرجع API · تسجيل المفتاح

إثبات حيازة المفتاح

POST/v1/enrollments/{invitationId}/proof

يرسل إثبات الحيازة. بعد قبوله ينتظر المفتاح أن يسجّل موظفو أنيس بصمته ويؤكّدوه.

الصلاحيةلا شيء
المصادقةرمز التسجيل
حدود الموظفين التي يُحتسب ضمنهالا شيء
حزمة SDK لـ ‎.NETenrollment.ProveAsync(submitted, key)
  • الإثبات الذي لا يُتحقق منه، أو الذي يأتي بعد نحو 30 دقيقة من إرسال المفتاح، لا يُرفض: الرد يقول proofState: "failed". تحقّق من "accepted".
  • بعد خمسة إثباتات فاشلة تُرفض الإثباتات التالية بـ rate_limited حتى يعيد موظفو أنيس بدء التسجيل.

المعاملات

الاسمالموضعالنوعملاحظات
invitationIdإلزاميpathUUIDمعرّف UUID بأحرف صغيرة مع الشرطات.

الاستدعاء

مُصرَّح به عبر Authorization: Enrollment <token>؛ غير موقَّع.

الترويسات: Accept-Language (اختياري). تضبطها حزم SDK كلها نيابةً عنك.

المحتوى: EnrollmentProofRequest، بصيغة JSON.

الحقلالنوعملاحظات
keyIdإلزاميUUIDمعرّف المفتاح من خطوة إرسال المفتاح.
challengeGenerationإلزاميintegerرقم التحدّي الذي تجيب عنه.
signatureإلزاميstringتوقيع ECDSA P-256/SHA-256 على رسالة الإثبات، 64 بايت (ليس DER)، بترميز base64url دون حشو.

الردود

الحالةالمعنىالمحتوى
200نجاح.EnrollmentStatus
401مرفوض: لم تتم المصادقة.مشكلة
404مرفوض: غير موجود، أو ليس لك.مشكلة
409مرفوض: يتعارض مع الحالة الحالية.مشكلة
422مرفوض: الاستدعاء يخالف قاعدة.مشكلة
429مرفوض: بلغتَ حدًا.مشكلة
503لا قرار: خدمة مطلوبة غير متاحة.مشكلة

كل ردّ موقَّع من أنيس؛ وتتحقق منه حزم SDK قبل أن يصلك.

حالات الرفض

كل رفض مشكلةٌ موقَّعة. ابنِ منطقك على رمزها code؛ وكلٌّ منها يرتبط بصفحة تشرح معناه وما عليك فعله.

الخطأالرمزالحالة
الدعوة غير صالحةinvitation_invalid401
غير موجودresource_not_found404
فشل التحققvalidation_failed422
استُبدل التحدّيchallenge_expired409
تجاوزت حدّ الاستدعاءاتrate_limited429
الخدمة غير متاحةdependency_unavailable503
انتهت مهلة الاستدعاءrequest_timeout504
خطأ داخليinternal_error500

الأنواع

EnrollmentProofRequest

الحقلالنوعملاحظات
keyIdإلزاميUUIDمعرّف المفتاح من خطوة إرسال المفتاح.
challengeGenerationإلزاميintegerرقم التحدّي الذي تجيب عنه.
signatureإلزاميstringتوقيع ECDSA P-256/SHA-256 على رسالة الإثبات، 64 بايت (ليس DER)، بترميز base64url دون حشو.

EnrollmentStatus

الحقلالنوعملاحظات
keyIdUUIDمعرّف مفتاحك.
challengeGenerationintegerرقم التحدّي الحالي.
proofStatestringpending أو accepted أو failed — إثبات لم يُتحقق منه أو جاء متأخرًا. بعد خمسة إثباتات فاشلة، اطلب من موظفي أنيس إعادة بدء التسجيل.
approvalStatestringpending ما دام موظفو أنيس لم يؤكّدوا المفتاح، و approved بعد أن يصبح فعّالًا، و notApplicable في غير ذلك.
statestringpendingProof أو pendingApproval أو active — المفتاح يوقّع الاستدعاءات — أو unavailable (أُلغي، أو انتهت صلاحيته، أو استُبدل).
expiresAtstring (date-time)وقت انتهاء الخطوة الحالية.