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

إعادة التحقق الصامتة

PrepareInfo attributes
AttributeTypeRequiredDescription
externalUserIdStringمعرّف المستخدم في نظامك. يُجزَّأ تلقائيًا بخوارزمية SHA-256 قبل الإرسال، ولا يُرسَل أبدًا كنص عادي.
بدء إعادة التحقق الصامتة
الخطوة 1 — تطبيق initializeSDK

أنشئ فئة/كائن UnicoSDK جديدًا، مع دالة ثابتة initializeSDK تُعيد نسخة UnicoSDK، وتستقبل context وكائن UnicoSDKConfig يحتوي على sdkKey وbundleId وenvironment. احتفظ بالنسخة المُعادة — فهي مطلوبة لاحقًا لاستدعاء startSilentValidation من Java.

استدعِه عند إطلاق التطبيق

يجب استدعاء UnicoSDK.initializeSDK في أقرب وقت ممكن عند إطلاق التطبيق (مثلاً، في Application.onCreate). استدعاؤه لاحقًا يقلل من وقت المعالجة في الخلفية ويزيد من احتمال الحصول على استجابات مصادقة غير حاسمة.

UnicoSDK.initializeSDK(
context,
UnicoSDKConfig(
sdkKey = "your_sdk_key",
bundleId = "your_bundle_id",
environment = Environment.UAT
)
)
الخطوة 2 — تطبيق startSilentValidation

بعد initializeSDK، اربط عملية الجمع الجارية بالفعل بالمستخدم المحدد من خلال استدعاء startSilentValidation مع كائن PrepareInfo يحتوي على externalUserId.

val prepareInfo = PrepareInfo(
externalUserId = "external_user_id"
)

UnicoSDK.startSilentValidation(prepareInfo)
.onSuccess { result -> /* ... */ }
.onFailure { error -> /* ... */ }

إذا حدث التحقق في بداية التدفق، مثلاً عند تسجيل الدخول، انتظر رد الاستدعاء onSuccess قبل الانتقال إلى الخطوة 3.

الخطوة 3 — إنشاء العملية والمصادقة

مع استمرار التحقق، أنشئ عملية التحقق لإكمال المصادقة. راجع مرجع API ▸ API ▸ إنشاء العملية.

أدرج نفس externalUserId المُرسَل في PrepareInfo من الخطوة 2 داخل نص الطلب — هذا ما يتيح للخادم الخلفي ربط إنشاء العملية بالتحقق الجاري بالفعل.

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"externalUserId": "external_user_id",
"imageBase64": "/9j/4AAQSkZJR..."
}'

تتضمن الاستجابة الحقل silentAuth.result مع نتيجة المصادقة:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
FieldTypeDescription
silentAuth.resultstringyes أو no — راجع القيم الممكنة أدناه.
silentAuth.result — القيم الممكنة
ValueMeaning
yesتمت الموافقة على المصادقة، وتم التعرف على المستخدم بثقة كافية، ولا حاجة إلى التقاط إضافي.
noبيانات غير كافية للموافقة بصمت. يُوصى بالمصادقة عبر القياسات الحيوية (صورة شخصية) أو طريقة بديلة أخرى.