التقاط المستندات
التقاط وثائق الهوية. يعرض 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 غير مرغوبة.
- سطح المكتب
- الجوّال
لف الإطار في عنصر أب لتقييد أبعاده:
<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);
});
للاطلاع على معالجة النتيجة الكاملة، راجع استلام النتيجة.