Перейти к основному содержимому
Версия: 1.1.0

Верификация пользователя

Регистрация

Доступны два способа регистрации пользователя с сохранением изображения лица:

  • Через верификацию документов с проверкой соответствия лица пользователя
  • Через сохранение лица пользователя без верификации документов

Верификация документов с проверкой соответствия лица пользователя

Эндпоинт POST ​/api​/v2​/public​/Validation

  1. Создайте запрос на верификацию с указанием обязательной проверки соответствия лиц

  2. Загрузите изображение документа пользователя в base64

  3. Загрузите изображение лица пользователя в base64

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

Возможные ошибки

КодСообщениеОписание
404Validation Request {applicantId} not foundУказанный запрос на верификацию не найден
400Request {applicantId} was already completedЗапрос на верификацию уже был выполнен (не гарантирует успешную регистрацию пользователя в прошлом)
400All available attempts were used for requestId {applicantId}Попытки на верификацию закончились

Результаты верификации

Верификация состоит из следующих проверок:

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

Результат верификации может иметь следующие статусы:

КодСтатусОписание
0SuccessВсе проверки верификации успешно пройдены
1FailОдна или несколько проверок верификации не пройдена
2InvalidDataЗапрос на верификацию содержал некорректные или недостающие данные
3ErrorВнутренняя ошибка при попытке верификации

Регистрация пользователя считается успешной, если:

  • Успешно пройдены все проверки
  • Изображение лица пользователя сохранено в указанную базу данных
  • ProfileId лица пользователя сохранен в результате запроса на верификацию

Пример запроса:

{
"model": {
"faceImageBase64": "вставьте изображение лица в base64",
"frontImageBase64": "вставьте изображение документа в base64",
"documentType": 2
},
"applicantId": "вставьте applicantId",
"endeavorId": "вставьте endeavorId"
}

Пример ответа:

Status Code200
{
"applicantId": "05fcd***",
"attemptId": 1,
"documentType": 1,
"document": {
"privateName": "JOHN SAMPLE",
"abbr3Country": "USA",
"abbrCountry": null,
"address": "111 N 5TH ST",
"city": "COLUMBUS",
"class": "D",
"country": "United States of America",
"dob": "1999-01-12",
"expires": "2024-01-12",
"eyes": "BLUE",
"familyName": null,
"firstName": "JOHN",
"fullName": "JOHN SAMPLE",
"gender": "MALE",
"hair": "BLONDE",
"height": "70",
"id": "12345678",
"idType": "DL",
"issued": "2020-12-30",
"middleName": "SAMPLE",
"postalBox": null,
"state": "OH",
"issuedBy": "OH",
"template": "09",
"weight": "159",
"zip": "12345-6789"
},
"attemptsCount": 5,
"attemptsLeft": 0,
"status": 0,
"validationStatus": {
"expired": false,
"documentIsValid": true,
"faceIsValid": true,
"antiSpoofingIsValid": null,
"qualityIsValid": true
},
"invalidDataErrors": [],
"faceSuccess": true,
"documentSuccess": true,
"documentHasNotExpired": true,
"documentValidationTests": [
{
"displayName": "AddressValidation",
"name": "AddressValidation",
"status": 2,
"statusString": "Skipped",
"reason": "Integration was skipped by flow"
},
{
"displayName": "DMV",
"name": "DMVValidation",
"status": -1,
"statusString": "Disabled",
"reason": "Integration was turned off"
},
{
"displayName": "IdentiFraud",
"name": "IdentiFraudValidation",
"status": -1,
"statusString": "Disabled",
"reason": "Integration was turned off"
}
],
"callBackUrl": null
}

Сохранение лица пользователя без верификации документов

Эндпоинт POST ​/api​/v2​/public​/Validation

  1. Создайте запрос на верификацию
  2. Загрузите изображение лица пользователя
  3. Укажите DocumentType: 10 (регистрация/авторизация по лицу)

Возможные ошибки:

КодСообщениеОписание
400Face image is requiredЗапрос не содержит фотографии лица
404Validation Request {applicantId} not foundУказанный запрос на верификацию не найден

Регистрация пользователя считается успешной, если:

  • Изображение лица пользователя сохранено в указанную базу данных
  • ProfileId лица пользователя сохранен в результате запроса на верификацию

Пример запроса:

{
"model": {
"faceImageBase64": "вставьте изображение лица в base64",
"documentType": 10
},
"applicantId": "вставьте applicantId",
"endeavorId": "вставьте endeavorId (только если включен LRS)"
}

Пример ответа:

Status Code200
{
"applicantId": "05fcd***",
"attemptId": 1,
"documentType": 10,
"document": null,
"attemptsCount": 5,
"attemptsLeft": 0,
"status": 0,
"validationStatus": {
"expired": null,
"documentIsValid": null,
"faceIsValid": true,
"antiSpoofingIsValid": null,
"qualityIsValid": true
},
"invalidDataErrors": [],
"faceSuccess": true,
"documentSuccess": null,
"documentHasNotExpired": null,
"documentValidationTests": [],
"callBackUrl": null
}

В случае успешной регистрации пользователь будет проинформирован системным сообщением Status Code 200.

Если первая попытка регистрации не оказалась успешной, можно повторить попытку загрузки изображения документа и/или селфи: число попыток регистрации можно настроить в диапазоне от 1 до 5.

Если все попытки регистрации оказались неудачными, пользователь получит сообщение Status Code 400.

Авторизация

Эндпоинт POST ​/api​/v2​/public​/Validation

  1. Укажите ID аппликанта
  2. Загрузите изображение лица пользователя
  3. Укажите DocumentType: 10 (регистрация/авторизация по лицу)

Возможные ошибки:

КодСообщениеОписание
404Validation Request {applicantId} not foundУказанный запрос на верификацию не найден
400Request doesn't have a verified faceДля запроса не проводилась проверка на соответствие лица, либо проверка не подтвердила соответствие
404Face profiles not foundЛица, проходящие порог соответствия лицу пользователя, не найдены
400Found faces don't belong to the applicantНи одно из найденных в базе лиц, проходящих порог соответствия лицу пользователя, не принадлежит последнему

Поиск лица по базе начнётся, если:

  • Указанный запрос на верификацию создан и успешно выполнен
  • Результат запроса на верификацию содержит ProfileId лица пользователя

В результате поиска будет получен список лиц, проходящих порог соответствия.

Значения по умолчанию:

  • Порог соответствия - 90%
  • Максимальное количество полученных лиц - 50

Авторизация пользователя считается успешной, если среди найденных в базе данных лиц, проходящих порог соответствия, содержалось то, чей ProfileId совпал с ProfileId пользователя.

Пример запроса:

{
"model": {
"faceImageBase64": "вставьте изображение лица в base64",
"documentType": 10
},
"applicantId": "вставьте applicantId",
"endeavorId": "вставьте endeavorId (только если включен LRS)"
}

Пример ответа:

Status Code200
{
"applicantId": "05fcd***",
"attemptId": 1,
"documentType": 10,
"document": null,
"attemptsCount": 5,
"attemptsLeft": 0,
"status": 0,
"validationStatus": {
"expired": null,
"documentIsValid": null,
"faceIsValid": true,
"antiSpoofingIsValid": null,
"qualityIsValid": true
},
"invalidDataErrors": [],
"faceSuccess": true,
"documentSuccess": null,
"documentHasNotExpired": null,
"documentValidationTests": [],
"callBackUrl": null
}

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

Регистрация/авторизация по applicantId

Подлежит уточнению.