aitu apps
  • Документация Aitu
  • aitu apps
    • Введение в aitu apps
    • Начало работы
      • Внедрение PWA
      • Пример создания
      • Режим разработки
      • Отладка приложения
      • Коллабораторы
    • Публикация в aitu.apps
      • Подготовка к публикации
      • Подача заявки на размещение в каталоге
      • Стилизация приложения
    • Aitu Bridge API
      • API-ключ
      • Права доступа к Aitu Bridge
      • Интеграция с Aitu Bridge
    • Методы Aitu Bridge
      • Проверка поддержки бриджа
      • Проверка поддержки метода
      • Проверка подписи
      • getMe
      • getPhone
      • getContacts
      • getGeo
      • selectContact
      • getQr
      • openSettings
      • share
      • shareImage (deprecated)
      • shareFile
      • storage
      • copyToClipboard
      • vibrate
      • setShakeHandler
      • enableNotifications/disableNotifications
      • enablePrivateMessaging/disablePrivateMessaging
      • getSMSCode
      • getUserProfile
      • setTitle
      • setCustomBackArrowMode
      • setCustomBackArrowVisible
      • setCustomBackArrowOnClickHandler
      • setHeaderMenuItems
      • setHeaderMenuItemClickHandler
      • openExternalUrl
      • closeApplication
      • checkBiometry
      • enableSwipeBack
      • disableSwipeBack
      • setNavigationItemMode
      • getNavigationItemMode
    • Aitu Business Notifications API
      • Отправка таргетированных Push-уведомлений
      • Отправка Push-уведомлений всем пользователям
      • Отправка личного сообщения пользователю от мини-приложения
      • Отправка файла для формирования личного сообщения от мини-приложения
    • Доп. возможности платформы
      • Получение ссылки на ваше приложение
      • Передача параметров в ссылке
      • Открытие другого приложения из вашего приложения
      • Открытие чата с другим пользователем
    • Changelog
  • HackNU 2021 - Workshop 17.03
  • Aitu Passport
    • Введение
    • Термины и определения
    • Список изменений
    • Интеграция с Aitu Passport
      • Ресурсы для интеграции
      • Поддерживаемые браузеры и операционные системы
      • Регистрация Партнера
      • Создание сервиса Партнера
      • Сервис Партнера. Кастомизация интерфейса
      • Список сервисов Aitu Passport (scope)
      • Авторизация
      • Получение данных Пользователя
      • Подписание документов ЭЦП
        • Сервис проверки ЭЦП
      • Aitu Passport -> ЦОИД
        • Получение данных пользователя из ЦОИД
        • ЦОИД идентификация - подписание документов ЭЦП
        • Получение документов по постановлению №56 от 16.08.2024
      • Aitu Passport SDK
        • iOS SDK
        • Android SDK
      • Проверка валидности Access token
      • Logout Пользователя
      • Ошибки в процессе идентификации
      • Получение событий для аналитики данных
    • Путь пользователя
      • Подписание документов пользователем
      • Проверка данных ЭЦП пользователем
      • При оказании услуг по scope gov_doc_verification
    • Customer Identification (CID) модуль
      • Биометрическая аутентификация по документу
      • Биометрическая аутентификация по эталонной фото, полученной от ИС партнера
      • Биометрическая аутентификация по данным из государственной базы данных
      • Сканирование документа
      • Получение медиа-данных сессии
      • Ошибки сервисов CID
    • Hotdocs (платформа подписания документов)
      • Начисление подписаний (API)
  • Aitu Wallet
    • Интеграция с Aitu Wallet 2.0
Powered by GitBook
On this page
  • Основные этапы биометрической аутентификации по документу в CID:
  • Методы взаимодействия
  • Получение токена
  • Старт сессии
  • Получение данных сессии
  • Получение медиа-данных сессии

Was this helpful?

  1. Aitu Passport
  2. Customer Identification (CID) модуль

Биометрическая аутентификация по документу

PreviousCustomer Identification (CID) модульNextБиометрическая аутентификация по эталонной фото, полученной от ИС партнера

Last updated 6 months ago

Was this helpful?

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

Основные этапы биометрической аутентификации по документу в CID:

1) ИС партнера запрашивает токен по логину и паролю, предоставленному CID

2) ИС партнера производит старт сессии в CID по полученному токену

3) СID стартует сессию и отображает пользователю ИС партнера экран выбора типа документа, если в запросе от ИС Парнера не указан тип документа или указано более 1 типа документа.

4) Пользователь выбирает тип документа и CID отображает экран сканирования документа. Экран сканирования документа может отображаться сразу после перехода в CID, если указан один тип документа для сканирования. В зависимости от выбранного документа сканируется:

  • 2 стороны документа: лицевая и оборотная для удостоверения личности гражданина РК и для вида на жительство иностранного гражданина в РК,

  • только одно фото с документа при выборе международного паспорта (паспорт иностранного гражданина)

5) Пользователь осуществляет сканирование документа клиента и CID распознает данные документа и отображает экран с данными распознанного документа

6) Пользователь подтверждает распознанные данные и CID отображает экран биометрической аутентификации

7) Пользователь осуществляет сканирования лица клиента и CID проводит определение живости лица и выделение лучшего кадра

8) CID проводит сверку фото лица из документа с фото лица, полученного при аутентификации, завершает сессию и передает номер сессии в ИС партнера на указанный URI

9) ИС - партнера по номеру сессии получает данные сессии (данные документа, результаты биометрической аутентификации)

Токен, получаемый ИС партнера для сессии - одноразовый. Период жизни токена составляет 15 минут

Методы взаимодействия

Получение токена

Запрос


curl --location 'http://cid.test.supreme-team.tech/api/v1/customer-identification/session-token?identificationType=SCAN_DOCUMENT&redirectUri=https%3A%2F%2Foidcdebugger.com%2Fdebug&state=someState' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Y2lkLWNsaWVudDpwYXNzd29yZA==' \
--data '{
    "documentTypes": ["INTERNATIONAL_PASSPORT"]
}'

Параметры запроса

Заголовок

Параметр
Значение
Обязательный
Коментарий

identificationType

SCAN_DOCUMENT

Нет

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

redirectUri

Указывается в ИС Партнера

Да

ИС Партнера передает ссылку на ресурс, куда CID вернет данные сессии.

Ограничения - указанная ссылка на ресурс должна быть в списке разрешенных. Партнер за ранее должен предоставить BTSD список uri для включения в список разрешенных

state

Указывается в ИС Партнера

Нет

Состояние системы Партнера которое будет передано CID в редиректе на ресурс ИС партнера в неизменном состоянии. Длина параметра должна быть не более 500 символов

Параметры запроса

Параметр
Тип
Обязательный
Описание

documentTypes

ARRAY (String)

Нет

Передаются типы документов для сканирования. Если параметр не передан, то пользователь увидит экран с выбором для сканирования следующих типов документов: Удостоверение личности РК, Вид на жительство иностранца РК, Международный паспорт иностранца. В массиве могут быть переданы следующие типы документов:

  • RESIDENCE_PERMIT - Вид на жительство РК

  • ID_CARD - УЛ гражданина РК

  • INTERNATIONA_PASSPORT - международный паспорт иностранца

confidenceLevel

String

Нет

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

Допустимое значение должно входить в диапазон от 0,3 до 0,6

Если параметр не передан, то для процесса биометрической аутентификации берется значение confidenceLevel заданное по умолчанию и равное 0,4

allowFaceMatchFailure

Boolean

Нет

Признак низко-рисковой операции, если в параметре передано значение TRUE.

При низко-рисковой операции в случае, если биометрическая аутентификация будет не пройдена клиентом, то ИС Партнера получит ответ в котором будут переданы параметры следующих объектов: document, liveness, errorInfo

Ответ

{
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uU2VjcmV0IjoiMjI3MmQyODAtZjA4Zi00M2VmLWJkODQtM2E0M2JkZDM1Mjc1IiwiZXhwIjoxNzQyOTgzNzg1fQ.oOptJPqKxv1LMUKfKnNevyx0hyYstjXiNIW2gbwpfAxoTxzoKd8FHYU2UYu-R79o4-1hbjIGNQUmRDW5X2DmQQ"
}

Старт сессии

https://cid.test.supreme-team.tech?token=$token

Структура запроса

Параметр

Тип

Обязательный

Описание

token

String

Yes

Токен, полученный в методе получения токена

Получение данных сессии

Запрос

curl --location 'http://cid.test.supreme-team.tech/api/v1/customer-identification/6cd28065-a96e-40c0-91be-35da38610e1e/identification-result
' \
--header 'Authorization: Basic Y2lkLWNsaWVudDpwYXNzd29yZA==' \
--data ''

Структура запроса

Параметр

Тип

Обязательный

Описание

<идентификатор сессии>

String

Yes

Уникальный идентификатор сессии в CID

identification-result

String

Yes

Тип запрашиваемых данных.

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

В случае если сессия завершилась успешно, то ИС получит данные ошибки

Ответ

Пример - сессия завершена успешно (пользователь прошел биометрическую аутентификацию, данные документа удостоверения личности получены)

{
    "sessionId": "6cd28065-a96e-40c0-91be-35da38610e1e",
    "sessionStarted": "2024-03-27T12:10:34.745435Z",
    "sessionEnd": "2024-03-27T12:13:11.813523Z",
    "sessionStatus": "SUCCESS",
    "document": {
        "recognizedDocumentType": "ID_CARD",
        "countryCode": "KAZ",
        "documentNumber": "12345678",
        "firstName": "МАРЖАН",
        "lastName": "ТҰРСЫН",
        "patronymic": "АЛИ",
        "gender": "F",
        "dateOfBirth": "1986-07-12",
        "placeOfBirth": "АЛМАТЫ ОБЛ.",
        "nationality": "ҚАЗАҚ",
        "issueDate": "2020-10-08",
        "expireDate": "2030-10-07",
        "authority": "ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ІІМ",
        "identificationNumber": "860712401756"
    },
    "liveness": {
        "verificationType": "VERIFICATION_3D",
        "selfieConfidenceLevel": 0.91967,
        "creationTime": "2024-03-27T12:13:07.397741Z",
        "responseTime": "2024-03-27T12:13:11.813523Z"
    },
    "errorInfo": null
}

Пример - сессия завершена не успешно пользователь завершил сессию (пользователь не прошел процесс получения данных с документа удостоверяющего личность или биометрическую аутентификацию)

{
    "sessionId": "bc8f8267-0c1d-44d0-8473-927035688941",
    "sessionStarted": "2024-03-28T07:48:25.045395Z",
    "sessionEnd": "2024-03-28T07:50:52.255556Z",
    "sessionStatus": "FAILED",
    "document": null,
    "liveness": null,
    "errorInfo": {
        "eventType": "LIVENESS_FAILED",
        "error": "CID_9",
        "errorMessage": "The face in the photo and the face on the document did not match, start the whole process again"
    }
}

Структура ответа

Параметр

Тип

Обязательный

Описание

sessionId

String

Yes

Уникальный идентификатор сессии в CID

sessionStarted

DateTime

Yes

Дата/время начала сессии в CID

sessionEnd

DateTime

Yes

Дата/время окончания сессии в CID

sessionStatus

String

Yes

Статус сессии в CID. Может принимать следующие значения:

  • SUCCESS - сессия завершена успешно биометрическая аутентификация пройдена

  • FAILED - сессия не завершена, остановлена пользователем

document

Object

No

Данные документа, удостоверяющего личность

  • recognizedDocumentType

String

YES

Вид документа удостоверяющего личность. Может принимать следующие значения

  • RESIDENCE_PERMIT - Вид на жительство РК

  • ID_CARD - УЛ гражданина РК

  • PA - Международный паспорт

  • countryCode

String

YES

Код страны (ISO 3166-1 Alfa-3), выдавшей документ

  • Для УЛ РК и ВНЖ РК - KAZ

  • Для паспортов иностранцев, код указанный в их документах

  • documentNumber

String

YES

Номер документа

  • firstName

String

YES

Имя

  • lastName

String

YES

Фамилия

  • patronymic

String

NO

Отчество

  • gender

String

YES

Пол. Передается:

  • F - для женщин

  • M - для мужчин

  • dateOfBirth

Data

YES

Дата рождения

  • placeOfBirth

String

NO

Место рождения

  • nationality

String

YES

  • Указывается страна гражданства для документов: RESIDENCE_PERMIT и FOREIGN_PASSPORT

  • Указывается национальность для УЛ РК документа ID_CARD

  • issueDate

Data

NO

Дата выдачи

  • expireDate

Data

YES

Срок действия

  • authority

String

NO

Орган выдавший документ

  • identificationNumber

String

NO

ИИН

liveness

Object

No

Данные биометрической аутентификации

  • verificationType

String

YES

Тип биометрической верификации примененной CID.

  • VERIFICATION_3D - была применена 3D Liveness

  • selfieConfidenceLevel

String

YES

Полученный коэффициент схожести лиц при сравнении эталонной фото лица в CID с лучшим кадром из процесса определения витальности лица

  • creationTime

DateTime

YES

Дата создания медиа материалов (прохождение лайвнеса)

  • responseTime

DateTime

YES

Дата/время формирования ответа

errorInfo

Object

No

Данные об ошибке

  • eventType

String

Yes

Событие/этап на котором произошла ошибка

  • error

String

Yes

Код ошибки

  • errorMessage

String

Yes

Текст ошибки

Ошибки

Получение медиа-данных сессии

В рамках данной сессии в CID фиксируются следующие медиа-данные

  • Лучший снимок с изображением лица;

  • Видо-ролик определеия живости лица;

  • Фото документа удостоверяющеего личнность клиента.

- вернуть результат сессии.

Перечень ошибок см., статью

Описание методов получения медиа-данных см., статью

Ошибки сервисов CID
Получение медиа-данных сессии
identification-result