API و وب سرویس استعلام اطلاعات هویتی
با کد ملی و تاریخ تولد، نام، نام خانوادگی، نام پدر و وضعیت حیات ثبتشدهٔ یک شخص برگردانده میشود.
این سرویس چه میکند
شرکت بیمهای که فرم الکترونیکی میگیرد معمولاً با یک مشکل روبهرو است: نام و نام پدری که مشتری تایپ کرده با شناسنامهاش نمیخواند، و کسی این را تا روز صدور بیمهنامه نمیبیند. این استعلام با دو ورودی، کد ملی و تاریخ تولد شمسی، رکورد هویتی را میخواند و مقدارهای ثبتشده را در اختیار شما میگذارد تا خودتان با فرم مقایسه کنید.
خروجی شامل first_name، last_name، father_name، national_code و در صورت وجود وضعیت حیات (alive و is_dead) است. فیلد matched هم همیشه درست است، چون رسیدن پاسخ یعنی رکوردی با این کد ملی و تاریخ تولد خوانده شده.
تاریخ تولد را چطور بفرستیم
تاریخ تولد شمسی است و هشت رقم میشود: چهار رقم سال، دو رقم ماه و دو رقم روز. جداکننده را حذف میکنند و خودشان به شکل 1370/05/09 درمیآورند. روز و ماهی که در تقویم وجود ندارد با invalid_input رد میشود و هزینه ندارد. تاریخ میلادی را بدون تبدیل نفرستید، چون ممکن است معتبر به نظر برسد و رکورد پیدا نشود.
با نتیجه چه کنیم
نامها را همانطور که برگشتهاند ذخیره کنید و مقایسه را سمت خودتان انجام دهید. «علی» و «علیاکبر» یا فاصله و نیمفاصله میتوانند تفاوت ظاهری بسازند بدون آنکه شخص عوض شده باشد. اگر میخواهید فقط بدانید دو نام چقدر به هم نزدیکاند، سرویس سنجش شباهت نام برای همین ساخته شده.
آنچه این سرویس نمیکند
نشانی، عکس، شمارهٔ شناسنامه و سوابق بانکی یا ملکی را برنمیگرداند. با نام و نام خانوادگی کد ملی پیدا نمیکند و بدون تاریخ تولد کار نمیکند. کد ملی و تاریخ تولدی که با هم نخوانند «رکورد پیدا نشد» میدهند و آن پاسخ هزینه دارد.
کجا به کار میآید
- صدور بیمهنامهٔ شخص ثالثبیمهگر نام و نام پدر واردشدهٔ بیمهگذار را با مقدار ثبتشده مقایسه میکند و ناهمخوانی را پیش از صدور اصلاح میکند.
- افتتاح حساب قرضالحسنهٔ آنلاینصندوق قرضالحسنهای که عضوگیری دیجیتال دارد، وضعیت حیات و نامها را پیش از ثبت عضو جدید میخواند.
- ثبت پزشک در پلتفرم نوبتدهیپلتفرم نوبتدهی نام و نام خانوادگی پروفایل پزشک را با رکورد هویتی تطبیق میدهد تا پروفایل جعلی منتشر نشود.
ورودی و خروجی
ورودی
nationalCodestringکد ملیده رقم، با رقم کنترل معتبر.birthDatestringتاریخ تولدتاریخ شمسی (نه میلادی): سال چهاررقمی، ماه و روز دورقمی. 1370/01/05، 1370-01-05 و 13700105 هر سه پذیرفته میشوند.نمونهٔ بدنهٔ درخواست
{
"nationalCode": "0013542419",
"birthDate": "1370/01/05"
}خروجی
alivebooleanfather_namestringنام پدرfirst_namestringنامis_deadbooleanlast_namestringنام خانوادگیmatchedbooleannational_codestring002xxxxxxxقیمت و شرط پرداخت
قیمت هر فراخوان API استعلام اطلاعات هویتی ۷٬۰۰۰ تومان است.
| تعداد استعلام در ماه | قیمت هر استعلام |
|---|---|
| همهٔ فراخوانها | ۷٬۰۰۰ تومان |
آخرین تغییر قیمت:
مبلغ پیش از تماس با سرویس مرجع از موجودی پنل قفل میشود و اگر پاسخی نیاید، آزاد میشود. ورودی نامعتبر، در دسترس نبودن سرویس مرجع و عبور از سقف نرخ هزینهای ندارند. «رکوردی یافت نشد» یک پاسخ معتبر است و هزینه دارد.
کمترین مبلغ شارژ پنل: ۵۰۰٬۰۰۰ تومان
پرسشهای متداول
با این استعلام چه فیلدهایی برمیگردد؟
نام، نام خانوادگی، نام پدر، کد ملی و در صورت وجود وضعیت حیات (alive و is_dead) برمیگردد. فیلد matched هم نشان میدهد رکوردی با این ورودی خوانده شده است.
آیا میتوان فقط با نام و نام خانوادگی کد ملی پیدا کرد؟
نه. ورودی همیشه کد ملی و تاریخ تولد است. سرویسی که با نام کد ملی بدهد در این مجموعه نیست و اطلاعات اشخاص را بر اساس حدس نمیدهد.
تاریخ تولد را شمسی بفرستم یا میلادی؟
شمسی و هشترقمی، مثل ۱۳۷۰۰۵۰۹. تاریخ ناممکن با خطای invalid_input رد میشود. تاریخ میلادی را پیش از ارسال به شمسی برگردانید.
چرا برای کد ملی درست «رکورد پیدا نشد» میگیرم؟
معمولاً کد ملی و تاریخ تولد با هم نمیخوانند، یا تاریخ را اشتباه تبدیل کردهاید. ابتدا تاریخ را از کاربر دوباره بگیرید. این پاسخ هم پاسخ معتبر است و هزینه دارد.
آیا نشانی و عکس هم داده میشود؟
نه. خروجی به همان فیلدهای هویتی بالا محدود است. نشانی، عکس و سابقهٔ مالی یا ملکی در پاسخ نیست.
چقدر میتوان به نامهای برگشتی تکیه کرد؟
مقدار ثبتشده را نشان میدهد، ولی مقایسه با ورودی کاربر با شماست. تفاوت نیمفاصله یا نگارش «ی» و «ک» را پیش از مقایسه یکدست کنید.
تکرار همان استعلام هزینهٔ دوباره دارد؟
هر فراخوان موفق یا بدون رکورد هزینه دارد. خطای ورودی، موجودی ناکافی، حد نرخ و قطعی سرویس مرجع هزینه ندارند. پاسخها چند روز کش میشوند و source.cached آن را نشان میدهد.
اگر شخص فوت کرده باشد چه میشود؟
اگر وضعیت حیات در پاسخ باشد، alive نادرست و is_dead درست میآید. این وضعیت را در جریان کار خودتان کنترل کنید و خطای پذیرش بسازید.
