التقاط المستندات
التقاط وثائق الهوية. يعرض SDK إطارًا لمساعدة المستخدم في تحديد موضع المستند؛ وبعد تحديد الموضع، يضغط المستخدم على الزر لالتقاط الصورة.
لا يُجري SDK أي نوع من التحقق على ما يجري التقاطه.
| الإطار | الوصف |
|---|---|
DocumentCameraTypes.CPF | التقاط CPF |
DocumentCameraTypes.CNH | التقاط CNH المفتوح |
DocumentCameraTypes.CNH_FRENTE | التقاط الوجه الأمامي لـ CNH |
DocumentCameraTypes.CNH_VERSO | التقاط الوجه الخلفي لـ CNH |
DocumentCameraTypes.RG_FRENTE | التقاط الوجه الأمامي لـ RG |
DocumentCameraTypes.RG_VERSO | التقاط الوجه الخلفي لـ RG |
DocumentCameraTypes.RG_FRENTE_NOVO | التقاط الوجه الأمامي لـ RG الجديد |
DocumentCameraTypes.RG_VERSO_NOVO | التقاط الوجه الخلفي لـ RG الجديد |
DocumentCameraTypes.OTHERS("descrição") | إطار عام لأي مستند آخر |
إذا كنت بحاجة إلى التقاط مستند لا يوجد له إطار محدد (مثل RNE)، فاستخدم DocumentCameraTypes.OTHERS("description") — إطار مستطيل عام يمكن استخدامه لتوجيه أي التقاط.
للاطلاع على القائمة الكاملة لأنواع المستندات المدعومة، راجع مرجع API > التعدادات.
يُوصى بتهيئة حجم الإطار داخل تطبيقك لتحسين منطقة الالتقاط.
يمكن أن تتأثر وظيفة الإطار بأنظمة التصميم التي تحتوي على مكونات شبكية (Bootstrap، Material-UI، إلخ). للحد من هذه المشكلة ، ضع الإطار (id="box-camera") في موضع لا يرث منه قواعد CSS غير مرغوب فيها.
- Desktop
- Mobile
أحِط الإطار بعنصر أصل للتحكم في أبعاده:
<div class="container">
<div id="box-camera"></div>
</div>
.container {
width: 800px;
height: 600px;
position: relative;
}
حافظ على نسبة ارتفاع إلى عرض مناسبة لتسهيل تأطير وجه المستخدم.
لن تعمل الاختبارات التي تتضمن تغيير حجم الشاشة من خلال وضع المطور في المتصفح كما هو متوقع. قم بتغيير حجم نافذة المتصفح مباشرةً.
في طرق عرض الويب للجوال، يجب أن يشغل إطار الالتقاط 100% من شاشة الجهاز (100vw/100vh) لتجنب مشكلات خوارزميات الرؤية الحاسوبية. تجنب التمرير الأفقي أو الرأسي — يساعد استخدام نافذة منبثقة في تقليل هذا.
لا يعمل الاختبار باستخدام وضع المطور في المتصفح — إذ تكون الكاميرا المستخدمة في المتصفح هي نفسها كاميرا سطح المكتب، ذات دقة مختلفة جدًا عن كاميرا الجهاز المحمول. اختبر مباشرةً على الجهاز.
الخطوة 1 — تنفيذ كائن callback
يستخدم Web SDK كائن callback — يُمرَّر إلى open() — للتعامل مع أحداث النجاح والأخطاء. كلا المعالجَين إلزاميان:
| المعالج | متى يُستدعى |
|---|---|
on.success(obj) | اكتمل الالتقاط بنجاح — يستقبل كائنًا يحتوي على base64 وencrypted |
on.error(error) | حدث خطأ أثناء الجلسة — يستقبل كائن ErrorBio |
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
كائن callback إلزامي. إذا لم يُنفَّذ بشكل صحيح (بحيث يغطي كلًّا من حدثَي success وerror)، فإن SDK يُطلق استثناءً يُعرض في وحدة تحكم المستخدم إذا لم يُعالَج.
الخطوة 2 — بناء الكاميرا وتجهيز جلسة المستند
ابنِ نسخة الكاميرا واستدعِ prepareDocumentCamera مع تمرير UnicoConfig ونوع DocumentCameraTypes المطلوب:
const unicoCamera = unicoCameraBuilder.build();
const config = new UnicoConfig()
.setHostname("<YOUR_HOSTNAME>")
.setHostKey("<YOUR_HOST_KEY>");
unicoCamera.prepareDocumentCamera(
config,
DocumentCameraTypes.CNH
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
للاطلاع على معالجة النتيجة الكاملة، راجع استقبال النتيجة.