В эту цифровую эпоху вы можете воспользоваться множеством услуг на кончиках ваших пальцев. Вы можете забронировать билет на самолет, купить акции на фондовом рынке или заказать еду прямо со своего устройства.

Но иногда этим службам необходимо подтвердить вашу подлинность, выполнив процесс, называемый e-KYC. Чтобы воспользоваться некоторыми юридическими и финансовыми услугами, эта проверка является обязательной. И поверьте мне, это для вашего блага. Эта проверка e-KYC может уберечь вас от мошенников.

Предположим, вы разработчик или предприниматель. Вы хотите предоставить своим клиентам некоторые юридические, финансовые или другие конфиденциальные услуги. Если эти услуги подпадают под действие государственного регулирования, вам необходимо пройти процедуру KYC через приложение или веб-сайт.

Прежде чем углубляться в эту тему, давайте кратко рассмотрим, что такое KYC.

Что такое электронный ЗСК

KYC — это аббревиатура от «Знай своего клиента». eKYC — это цифровая версия KYC. eKYC — это процесс проверки вашего клиента. Это полностью цифровой процесс без какого-либо физического документа.

В некоторых странах клиенты должны предоставить изображение своего удостоверения личности. Вы можете сканировать эти идентификаторы и извлекать из них информацию.

Но в некоторых странах, таких как Индия, вам необходимо получить разрешение от органа aadhar на обработку eKYC вашего пользователя через официальный API.

В этой статье мы собираемся обсудить, как сканировать паспорт, аадхар, удостоверение личности ОАЭ и документ mykad Малайзии и получать из них информацию.

Услуги сканирования документов

Процесс сканирования документов управляется процессами искусственного интеллекта и машинного обучения. Ваше приложение должно отличать релевантную информацию от нерелевантного беспорядка.

Вы можете настроить процесс сканирования документов, используя OpenCV или другую подобную библиотеку машинного обучения. Но обучение и тестирование этих моделей и библиотек может снизить вашу скорость и увеличить ваши затраты. Вы должны нанять разработчика машинного обучения, чтобы настроить службу сканирования, и, поверьте мне, это стоит больших денег.

Какова альтернатива? Вы можете использовать внешние сервисы для процесса сканирования. На рынке существует множество сервисных платформ. Мой любимый — P ixLab. PixLab — это поставщик программного обеспечения как услуги, который предоставляет множество конечных точек API машинного обучения. Вы можете легко интегрировать эти сервисы в свое приложение.

В этом блоге я буду использовать сервисы PixLab для сканирования и извлечения данных из загруженных документов. Вы можете создать там учетную запись, чтобы следить за новостями.

Как отсканировать документ паспорта, выданный государственным органом, в вашем приложении

Если вы обслуживаете иностранных клиентов и хотите сканировать их паспорта, проездные документы и другие удостоверения личности, вам необходимо использовать API Docscan от PixLab. Он распознает данные из паспорта с помощью оптического распознавания символов (OCR), и вы получаете ответ в формате JSON для использования в своем приложении.

Этот API-интерфейсfacetect также может считывать MRZ, которые обозначают машиночитаемую зону, независимо от страны-эмитента.

Для демонстрации мы используем фиктивный документ. Вы также можете использовать это изображение для целей тестирования.

Внутри вашего приложения сначала вам нужно взять документ как файл, введенный вашим пользователем. Если вы используете веб, то в разметке HTML просто добавьте эти строки.

<input type=”file” id=”file-selector” />

Теперь, чтобы прочитать входной файл пользователя, мы должны использовать веб-API FileReader. Или вы можете напрямую загрузить изображение на свой сервер и обработать его на своем сервере.

Для справки, на внешнем веб-сайте API javascript FileReader можно использовать следующим образом.

let reader = new FileReader();
// This onload function invoke when reading is done
reader.onload = () => {
 console.log(reader.result);
};
// If any error takes place
reader.onerror = reject;
// You can set output data fomate here
reader.readAsArrayBuffer(file);

Получив образ, теперь мы вызываем конечные точки PixLab API. В этой статье мы обсуждаем пример кода Python. Вы можете легко преобразовать этот код в предпочитаемый вами язык.

Сначала импортируйте необходимые модули и запросите конечную точку Docscan.

import requests
import json
req = requests.get(‘https://api.pixlab.io/docscan',params={
 ‘img’:’https://i.stack.imgur.com/oJY2K.png', # Passport sample
 ‘type’:’passport’, # Type of document we are a going to scan
 ‘key’:’Pixlab_key’
})

PixLab сканирует ваш запрос и полезную нагрузку и предоставляет вам всю необходимую информацию.

Если вы хотите детектировать и обрабатывать лица в документе, то можете использовать API Facedetect. Это очень хорошая статья по API facetect для ознакомления.

После обнаружения лица вы можете использовать его внутри своего приложения, обрезав лицо с помощью конечной точки API Crop.

Если вам просто нужно оптическое распознавание символов (OCR), то вы можете просто использовать конечную точку OCR для этой цели.

Чтобы обработать ответ, возвращаемый из вышеуказанного запроса, мы используем библиотеку json для python. Функция req.json() преобразует ответ в словарь. Теперь вы можете извлекать поля ответа, как обычный словарь.

reply = req.json()
if reply[‘status’] != 200:
 print (reply[‘error’])
else:
 print (“User Cropped Face: “ + reply[‘face_url’])
 print (“MRZ Cropped Image: “ + reply[‘mrz_img_url’])
 print (“Raw MRZ Text: “ + reply[‘mrz_raw_text’])
 print (“MRZ Fields: “)
 # Display all parsed MRZ fields
 print (“\tIssuing Country: “ + reply[‘fields’][‘issuingCountry’])
 print (“\tFull Name: “ + reply[‘fields’][‘fullName’])
 print (“\tDocument Number: “ + reply[‘fields’][‘documentNumber’])
 print (“\tCheck Digit: “ + reply[‘fields’][‘checkDigit’])
 print (“\tNationality: “ + reply[‘fields’][‘nationality’])
 print (“\tDate Of Birth: “ + reply[‘fields’][‘dateOfBirth’])
 print (“\tSex: “ + reply[‘fields’][‘sex’])
 print (“\tDate Of Expiry: “ + reply[‘fields’][‘dateOfExpiry’])
 print (“\tPersonal Number: “ + reply[‘fields’][‘personalNumber’])
 print (“\tFinal Check Digit: “ + reply[‘fields’][‘finalcheckDigit’])

Если ваш пользователь загружает PDF-файл, вы можете использовать конечную точку Pdftoimg, чтобы сначала преобразовать ваш PDF-файл в изображение. Затем вы можете сделать дальнейшую обработку, как описано выше.

Сканировать индийский аадхар

Индийский аадхар — это удостоверение личности с биометрической привязкой. У каждого гражданина Индии есть карта аадхар. Если вы хотите предоставлять какие-либо юридические и финансовые услуги в Индии, вам необходимо подтвердить своего клиента с помощью aadhar.

Процесс проверки aadhar можно выполнить двумя способами. Либо вы можете отсканировать карту aadhar, предоставленную пользователем, и извлечь ее данные, либо вы можете использовать официальный API aadhar для аутентификации вашего пользователя в вашем приложении.

Если вы хотите извлечь данные из карты aadhar, вы можете использовать конечные точки API PixLab Docscan. Эта конечная точка обеспечивает плавное извлечение данных, на которое вы можете положиться. Все эти API являются рабочими и проверены в боевых условиях.

/docscan API извлекает всю необходимую информацию и отвечает полезной нагрузкой JSON, которую может использовать ваше приложение.

Чтобы получить ввод файла от пользователя, добавьте эти строки в разметку HTML.

<input type=”file” id=”file-selector” />

Это демонстрационная карта Aadhar, которую вы можете использовать для тестирования своего приложения.

В этом примере я собираюсь написать пример кода на Python, но, поскольку код очень простой, вы можете легко преобразовать его в предпочитаемый вами язык. Если у вас возникнут трудности, вы всегда можете связаться со мной.

import requests
import json
req = requests.get(‘https://api.pixlab.io/docscan',params={
 ‘img’:’https://s3.amazonaws.com/pics.pixlab.xyz/adhar-india-pixlab.jpg',
 ‘type’:’idcard’, # Type of document we are a going to scan
 ‘country’:’india’ # Indian aadhar card
 ‘key’:’Pixlab_key’
})

Когда вы отправляете этот запрос, если все поля заполнены правильно и все идет правильно, вы получите ответ. Ответ находится в формате JSON и может выглядеть следующим образом.

Вы можете обработать этот ответ с помощью пакета Python JSON. Пример кода будет выглядеть так.

reply = req.json()
if reply[‘status’] != 200:
 print (reply[‘error’])
else:
 print (“User Cropped Face: “ + reply[‘face_url’])
# print (“Scanned Text: “ + reply[‘full_text’])
print (“Fields: “)
# Display all scanned fields
if “country” in reply[‘fields’]:
 print (“\tIssuing Country: “ + reply[‘fields’][‘country’])
if “id” in reply[‘fields’]:
 print (“\tID number: “ + reply[‘fields’][‘id’])
if “name” in reply[‘fields’]:
 print (“\tName: “ + reply[‘fields’][‘name’])
if “address” in reply[‘fields’]:
 print (“\tAddress: “ + reply[‘fields’][‘address’])
if “sex” in reply[‘fields’]:
 print (“\tGender: “ + reply[‘fields’][‘sex’])
if “birth” in reply[‘fields’]:
 print (“\tDate of birth: “ + reply[‘fields’][‘birth’])

Это легко правильно. Представьте, какую боль вы испытываете, если вам приходится делать все это самостоятельно.

Если вы хотите извлечь лицо, вы можете использовать API Facedetect от PixLab. Он обнаружит ваше лицо и отметит квадратную координату вокруг вашего лица.

Чтобы обрезать и использовать это лицо в своем приложении, вы можете использовать API Crop, это может обрезать обнаруженное лицо и дать вам окончательное изображение.

Резюме: если вы хотите обнаружить и извлечь лицо из удостоверения личности, вы должны использовать совместно API `/facedetect` и `/crop`.

Сканировать идентификатор ОАЭ

Объединенные Арабские Эмираты предоставляют каждому гражданину удостоверение личности. Если вы хотите предоставлять какие-либо государственные, охранные и финансовые услуги и хотите отсканировать свой идентификатор ОАЭ, то это руководство для вас.

Как я упоминал ранее в этой статье, вы можете выполнить этот процесс на своем сервере, используя некоторую модель машинного обучения, но правильная настройка конвейера очень важна. Для готового к производству сервиса я не рекомендую этого делать.

PixLab — ​​ведущий поставщик API машинного обучения для оптимизации вашего рабочего процесса, а его проверенный в боевых условиях API поможет вам максимально плавно интегрировать все эти функции.

Теперь, чтобы получить удостоверение личности от вашего пользователя, добавьте следующее поле ввода файла в HTML-разметку.

<input type=”file” id=”file-selector” />

Теперь мы запрашиваем API-сервер PixLab для извлечения всех данных из данной ID-карты.

Если пользователь предоставил вам документ .pdf, вы должны преобразовать его в изображение. Это очень легко сделать с помощью API Pdftoimage. Ссылки на API можно получить здесь.

Это образец удостоверения личности ОАЭ, который вы можете использовать для тестирования.

Мы делаем запрос, используя библиотеку запросов python для простой демонстрации. Вы можете использовать свой любимый языковой стек, чтобы сделать то же самое.

import requests
import json
req = requests.get(‘https://api.pixlab.io/docscan',params={
 ‘img’:’https://pixlab.xyz/images/pixlab-uae-id.jpg',
 ‘type’:’idcard’, # We are expecting an ID card
 ‘country’: ‘uae’, 
 ‘key’:’PIXLAB_API_KEY’
})

После отправки запроса PixLab обработает его и вернет ответ, который будет выглядеть следующим образом.

Для обработки этого ответа мы используем пакет JSON python. Пакет JSON преобразует ответ в словарь. Теперь мы можем легко прочитать все поля данного ответа.

Код Python для чтения ответа будет выглядеть так.

reply = req.json()
if reply[‘status’] != 200:
 print (reply[‘error’])
else:
 print (f”ID Card Holder’s
if “issuingCountry” in reply[‘fields’]: 
 print (“Issuing Country: “ + reply[‘fields’][‘issuingCountry’]) 
 
if “documentNumber” in reply[‘fields’]: 
 print (“Document Number: “ + reply[‘fields’][‘documentNumber’]) 
 
if “fullName” in reply[‘fields’]: 
 print (“Holder Full Name: “ + reply[‘fields’][‘fullName’]) 
 
if “nationality” in reply[‘fields’]:
 print (“Holder’s Nationality: “ + reply[‘fields’][‘nationality’])

Теперь вы можете легко интегрировать функцию сканирования идентификатора ОАЭ в свое приложение.

Если вы хотите, чтобы я сделал еще несколько примеров кода для предпочитаемого вами языка, вы можете попросить меня в Твиттере.

Сканировать малайзийский микад

Малазийские удостоверения личности называются mykad. Если вы хотите аутентифицировать своего пользователя с помощью mykad, вам необходимо отсканировать и извлечь загруженный пользователем документ.

Сканирование и извлечение данных из изображения называется оптическим распознаванием символов. Это процесс машинного обучения. Если вы хотите сделать это самостоятельно, вам нужно добавить в свой стек микросервис машинного обучения.

Да, это сложно, как кажется, и может помешать вашему росту. Что, если есть доступный сервис, который вы можете использовать для этой цели и который очень надежен? Да, PixLab — ​​это компания, основанная на SaaS, которая обеспечивает производительность и надежный API. Вы можете узнать больше о них здесь.

Теперь мы будем использовать это изображение для справки. Вы также можете использовать это изображение для тестирования своего API.

Теперь запросим PixLab API. Здесь, в этом примере, я использую python, но, поскольку пример кода очень минимален и прост, вы можете легко преобразовать его в предпочитаемый вами язык.

Мы собираемся использовать конечную точку API docscan для сканирования документа. Docscan API может легко извлекать данные из загруженного документа, а также считывать машиночитаемый код.

Вы можете извлечь лицо человека с помощью API facedetect и обрезать изображение с помощью конечных точек API Crop.

Как видите, у них есть конечные точки API для каждого варианта использования, который вы можете себе представить. Вы можете увидеть здесь больше конечных точек API, которые могут удовлетворить ваши потребности.

Теперь вернемся к нашему запросу docscan.

import requests
import json
req = requests.get(‘https://api.pixlab.io/docscan',params={
 ‘img’:’https://pixlab.xyz/images/pixlab-uae-id.jpg',
 ‘type’:’idcard’, # We are expecting an ID card
 ‘country’:’malaysia’ 
 ‘key’:’PIXLAB_API_KEY’
})

Ответ на этот запрос может выглядеть следующим образом. Вы можете увидеть ответ в своем браузере.

Но поскольку вам нужны данные ответа в более удобном для разработчиков и удобном виде, мы используем JSON-пакет python для анализа ответа и преобразования его в словарь python.

reply = req.json()
if reply[‘status’] != 200:
 print (reply[‘error’])
else:
 print (f”ID Card Holder’s
if “issuingCountry” in reply[‘fields’]: 
 print (“Issuing Country: “ + reply[‘fields’][‘issuingCountry’]) 
 
if “documentNumber” in reply[‘fields’]: 
 print (“Document Number: “ + reply[‘fields’][‘documentNumber’]) 
 
if “fullName” in reply[‘fields’]: 
 print (“Holder Full Name: “ + reply[‘fields’][‘fullName’]) 
 
if “nationality” in reply[‘fields’]:
 print (“Holder’s Nationality: “ + reply[‘fields’][‘nationality’])

Заключение

Итак, как видите, существует множество возможностей, которые мы можем использовать, чтобы воплотить наше видение в реальность. Поскольку рабочие процессы машинного обучения являются дорогостоящими, и если они не будут выполнены должным образом, вы можете потерять много денег.

Так зачем идти на эти риски. Теперь вы знаете, куда вам следует обратиться и искать надлежащую помощь. Кроме того, вы можете изучить другую документацию PixLab по API, чтобы найти то, что вам нужно.

Покажи мне, что ты построил. Расскажите, как это руководство поможет вам в вашем путешествии. Я в Твиттере как @hrishikshpathak.

Если вы здесь и читаете все эти абзацы, я рад, что могу написать статью, которую люди читают. Большое спасибо. Желаю отличного дня.