استخراج داده
یک API اسکن OCR کارت شناسایی که فیلدهای ساختاریافته برمیگرداند، نه یک بلوک متن.
ShieldID یک کارت شناسایی عکسدار دولتی را به دادههای ساختاریافته بهتفکیک فیلد تبدیل میکند: نام، تاریخ تولد، شمارهی سند، تاریخ انقضا، نشانی و موارد دیگر، که هر کدام منبع و نتیجهی مخصوص خود را دارند. یک API استخراج داده از سند و یک API احراز سند در همان نشست.
چه چیزی برمیگردد
فیلدهای ساختاریافته، در جایی که سند واقعاً آنها را دارد.
هر سندی همهی فیلدها را ندارد. ShieldID آنچه را سند دارد برمیگرداند و آنچه را ندارد مشخص میکند.
- نام کامل
- بههمان صورت که چاپ شده و بههمان صورت که در بارکد یا MRZ رمزگذاری شده، در جایی که سند آنها را دارد.
- تاریخ تولد
- از روی چاپی کارت خوانده میشود و با بارکد و MRZ تطبیق داده میشود.
- شمارهی سند
- شمارهٔ گواهینامه یا شمارهٔ گذرنامه، که در صورت امکان قالب صادرکننده، از نظر سازگاری درونی بررسی میشود.
- تاریخ انقضا
- از روی چاپی کارت و بارکد یا MRZ خوانده میشود.
- نشانی
- از روی چاپی کارت و بارکد، در صورت وجود، خوانده میشود؛ قابل مقایسه با یک سند نشانی که جداگانه بارگذاری شده است.
- جنسیت
- در جایی خوانده میشود که سند آن را چاپ یا رمزگذاری کرده باشد.
- حوزه صدور
- در صورتی که سند دارای کد صادرکننده شناختهشدهای باشد، بر حسب امکان از روی کد صادرکننده در بارکد شناسایی میشود.
سه منبع، یک مقایسه
بارکد، MRZ و روی چاپشدهٔ مدرک، آگاهانه خوانده میشوند و بهطور اتفاقی با هم ترکیب نمیشوند.
هر فیلد به منبعی که از آن خوانده شده نسبت داده میشود. وقتی دو منبع با هم تفاوت داشته باشند، این تفاوت بهصورت یک هشدار در نتیجه ثبت میشود، نه میانگینی از دو عدد.
بارکد PDF417
پشت گواهینامه رانندگی یا کارت شناسایی آمریکای شمالی به فیلدهای ساختاریافته AAMVA رمزگشایی میشود. وقتی سند دارای بارکد باشد، فیلدهای بارکد بر اطلاعات چاپشده در روی سند اولویت دارند.
MRZ گذرنامه
ناحیهٔ ماشینخوان شناسایی، خوانده و با فرمولهای ارقام کنترلی ICAO که در همان ناحیه تعبیه شدهاند اعتبارسنجی میشود. یک حداقل امتیاز اعتبار، که با همان امتیاز سنجیده میشود، تعیین میکند که آیا فیلد خواندهشده از MRZ اصلاً قابل اعتماد است یا نه؛ ناحیهای که در بررسی checksum خودش رد شود، اجازه ندارد منبع دقیقتر را کنار بزند.
خواندن ساختاریافته و تمامصفحهٔ OCR از روی مدرک
روی چاپشده سند با استفاده از چیدمان خود سند خوانده میشود، در صورتی که شناسایی شود؛ در غیر این صورت از OCR تمامصفحه استفاده میشود تا حتی یک سند ناآشنا نیز فیلدهای خوانا ارائه دهد.
تعارضها علامتگذاری میشوند، نه میانگینگیری
اگر نام یا تاریخ تولد در روی مدرک، بارکد و MRZ با هم مغایرت داشته باشد، این مغایرت در نتیجه گزارش میشود. هیچ بخشی از فرایند بیسروصدا یکی را برنده نمیکند و اختلاف را پنهان نمیسازد.
اعتبارسنجی checksum در MRZ
ناحیهٔ ماشینخوان باید پیش از اعتماد ما، محاسبات خودش را راستیآزمایی کند.
ناحیهٔ ماشینخوان ICAO در گذرنامه بهطور طراحیشده دارای ارقام کنترلی است. ShieldID پیش از آنکه فیلد خواندهشده از MRZ را قابل اتکا بداند، این ارقام را اعتبارسنجی میکند.
یک شناساگر اختصاصی MRZ را پیدا میکند، یک خواننده نویسهها را استخراج میکند و نتیجه بر اساس فرمولهای checksum خود ناحیه از نظر اعتبار امتیازدهی میشود. تنها فیلدی که از حداقل امتیاز اعتبار عبور کند با اولویت کامل مورد اعتماد قرار میگیرد؛ ناحیهای که ضعیف خوانده شود مطابق همان وضعیت تلقی میشود و طوری عبور داده نمیشود که گویی سالم بوده است.
اولویت با بارکد
وقتی منابع همپوشانی دارند، قابلاعتمادترین منبع برنده است.
یک فیلد واحد میتواند هم روی بارکد، هم در MRZ و هم روی بخش چاپشدهٔ مدرک ظاهر شود. ShieldID این وضعیت را هر بار با یک ترتیب ثابت و یکسان حل میکند.
- بارکد PDF417
- MRZ گذرنامه، پس از عبور از بررسی checksum
- خواندن ساختاریافتهٔ روی چاپشدهٔ مدرک
- جایگزین OCR تمامصفحه
مدارک نشانی
یک مدرک دوم بارگذاری کنید و یک مقایسهٔ ساده و روشن از نشانی دریافت کنید.
وقتی یک احراز هویت نیازمند مدرک نشانی باشد، متقاضی مدرکی جداگانه بارگذاری میکند و ShieldID آن را همانطور میخواند که مدرک شناسایی را میخواند.
مدرک نشانی با OCR پردازش میشود و نشانی آن با نشانی خواندهشده از مدرک شناسایی مقایسه میشود. این یک مقایسهٔ ساده بر پایهٔ متن و توکن است، نه یک طبقهبند مجزای مدرک، و فقط زمانی اجرا میشود که نشست آن را لازم بداند و مدرکی واقعاً ارائه شده باشد.
حذف اطلاعات حساس و مدیریت PII
دادههای استخراجشده همانگونه محافظت میشوند که تصاویر محافظت میشوند.
فیلدهای ساختاریافته در کنار همان کنترلهای حریم خصوصی قرار دارند که برای خود تصاویر مدرک اعمال میشود.
رمزنگاری تاریخ تولد در حالت ذخیره
تاریخ تولد بهصورت رمزنگاریشده ذخیره میشود؛ بدون وجود کلید رمزنگاری، سرویس اجرا نخواهد شد.
پاکسازی تصاویر با زمانبند
تصاویر مدرک و سلفی ثبتشده بهطور خودکار در یک بازهٔ کوتاه، بهطور پیشفرض هفت روز، پاک میشوند. یک پاکسازی در فواصل زمانی مشخص و یک بار دیگر اندکی پس از هر راهاندازی مجدد اجرا میشود، تا در دورههای کمتردد هم هیچ تصویری بیش از روز مقرر باقی نماند.
حذف امتیاز روی دستگاه
در مواردی که ممکن است میزان تطابق یا اطمینان برای تلفن خود متقاضی نمایش داده شود، ShieldID پیش از نمایش پیام، درصد زیربنایی را از آن حذف میکند تا امتیاز خام هرگز خارج از حساب شما نمایش داده نشود.
سابقه از تصاویر ماندگارتر است
تصاویر طبق زمانبندی پاک میشوند. اینکه یک احراز هویت انجام شده و چه نتیجهای داشته است، در حساب شما باقی میماند — و برای یکپارچهسازی Trust Ledger، بهصورت یک ورودی تأییدشده/ناموفق در Activity Ledger ثبت میشود (ورودیهای دفتر برای حسابهای API ShieldID: بهزودی).
نمونهٔ نتیجه
حکم هر فیلد، به همان شکلی که API بازمیگرداند.
نامها، شمارهها و نشانیهای زیر برای این مثال ساختگی هستند. مجموعهٔ فیلدها، منبع هر مقدار و حکمها همان ساختار واقعی یک نتیجهاند.
| فیلد | مقدار | منبع | حکم |
|---|---|---|---|
| person.name | "Priya Chandrasekaran" | barcode | match |
| person.dob | "1991-07-22" | barcode | match |
| person.document_number | "C4839201" | mrz | match |
| person.document_country | "CA" | barcode issuer code | match |
| person.address | "18 Spruce Ave, Ottawa ON" | barcode | match |
| identity.name_match | PASS | front vs barcode vs requester | PASS |
| checks.document_tamper | "no_indication" | advisory model | advisory — not gating |
// Sample result. Names, numbers and addresses are fictional.
{
"session_id": "ses_9f2c...sample",
"status": "VERIFIED",
"environment": "sandbox",
"person": {
"name": "Priya Chandrasekaran",
"dob": "1991-07-22",
"document_type": "DRIVERS_LICENCE",
"document_country": "CA",
"document_jurisdiction": "ON",
"address": "18 Spruce Ave, Ottawa ON"
},
"identity": {
"checks": ["name_match"],
"warnings": [],
"sources": {
"name": "barcode",
"dob": "barcode",
"address": "barcode"
}
},
"checks": {
"document": "PASS",
"identity": "PASS",
"document_tamper": "no_indication"
},
"completed_at": "2026-09-17T14:02:11Z"
}نکات یکپارچهسازی
همان فیلدها، در هر جایی که نتیجه را بخوانید.
فیلدهای ساختاریافته محصولی جدا از نشست احراز هویت نیستند. آنها بهعنوان بخشی از همان نتیجه میرسند.
- فیلدها در نتیجهی نشست ارائه میشوند که پس از تکمیل احراز هویت از طریق API دریافت میکنید.
- همان نتیجه هنگام پایان احراز هویت با یک وبهوک امضاشده به نقطهی پایانی (endpoint) شما ارسال میشود، بنابراین نیازی به پرسوجوی مکرر (polling) نیست.
- هر فیلد به منبع خود نسبت داده میشود و نتیجهی مخصوص خود را دارد، هم در نتیجهی API و هم در payload وبهوک.
- نشستهای sandbox همان ساختار فیلدهای محیط عملیاتی را برمیگردانند، بنابراین میتوانید پیش از خواندن حتی یک سند واقعی، یکپارچهسازی خود را بسازید.
پرسشها
پاسخهای صریح دربارهٔ استخراج داده.
فیلدها را خودتان ببینید
یک احراز هویت sandbox اجرا کنید و نتیجهی ساختاریافته را بخوانید.
یک نشست sandbox بسازید، سندی را با تلفن همراه خودتان اسکن کنید و هر فیلد، منبع و نتیجهی آن را در پاسخ ببینید. نشستهای sandbox هرگز صورتحساب نمیشوند.