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

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

Основные этапы биометрической аутентификации по документу в 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 - международный паспорт иностранца

Ответ

{
    "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

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

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

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

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

Ответ

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

{
    "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 фиксируются следующие медиа-данные

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

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

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

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

Last updated