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

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

Регистрация

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

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

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

Список распространенных ошибок регистрации и авторизации

HTTP кодСообщениеОписаниеКод
400Request "validationRequest.Id" was already completedПопытка регистрации зарегистрированного аппликанта120036
400All available attempts were used for requestId "validationRequest.Id"Все попытки зарегистрироваться исчерпаны120037
400Face image is emptyПереданное изображение пустое120038
400Graphql error: "error message"Платформа вернула ошибки в ответ на запрос120029
400Profile search is missingПопытка поиска профилей на платформе не удалась.120039
400No faces foundПереданное изображение не содержит лиц120058
400Multiple faces foundНа изображении несколько лиц120059
400Quality calculation failedПопытка рассчитать качество в платформе не удалась120039
400Liveness calculation failedПопытка расчета Liveness не удалась120039
400Request is closedПопытка регистрации закрытого аппликанта120040
400This document type is not supportedУ BAF отключена функция «Сохранить профиль лица».120041
400Face image is requiredИзображение не было передано120042
400Applicant doesn't have verified faceПопытка авторизации аппликанта без связанного профиля120043
400
  • Endeavor id is null when required
  • Endeavor liveness reflection info obtain error
  • Endeavor external link not equal to applicant
  • Endeavor liveness reflection confidence info is null
  • Endeavor liveness reflection confidence value is null
  • Попытка от LRS содержит неверные данные120044
    400Applicant profile not foundПрофиль аппликанта не найден на платформе120043

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

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

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

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

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

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

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

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

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

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

    КодСтатусОписание
    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,
    "livenessReflectionIsValid": null,
    "hasBeenBlackListed": false
    },
    "invalidDataErrors": [],
    "validations": {
    "liveness": {
    "verdict": true,
    "details": [
    {
    "name": "FaceLiveness",
    "verdict": true,
    "score": 99
    }
    ]
    },
    "quality": {
    "verdict": true,
    "details": [
    {
    "name": "FaceQuality",
    "verdict": true,
    "score": 53
    }
    ]
    },
    "matching": {
    "verdict": true,
    "details": [
    {
    "name": "FaceMatching",
    "verdict": true,
    "score": 0
    }
    ]
    },
    "motionControl": null
    },
    "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 /publicapi/api​/v2​/public​/Validation

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

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

    • Изображение лица пользователя сохранено в указанную базу данных.
    • 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,
    "livenessReflectionIsValid": true,
    "hasBeenBlackListed": false
    },
    "invalidDataErrors": [],
    "validations": {
    "liveness": {
    "verdict": true,
    "details": [
    {
    "name": "FaceLiveness",
    "verdict": true,
    "score": 99
    }
    ]
    },
    "quality": {
    "verdict": true,
    "details": [
    {
    "name": "FaceQuality",
    "verdict": true,
    "score": 53
    }
    ]
    },
    "matching": {
    "verdict": true,
    "details": [
    {
    "name": "FaceMatching",
    "verdict": true,
    "score": 0
    }
    ]
    },
    "motionControl": null
    },
    "faceSuccess": true,
    "documentSuccess": null,
    "documentHasNotExpired": null,
    "documentValidationTests": [],
    "callBackUrl": null
    }

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

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

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

    Авторизация

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

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

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

    • Указанный запрос на верификацию создан и успешно выполнен.
    • Результат запроса на верификацию содержит 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,
    "livenessReflectionIsValid": true,
    "hasBeenBlackListed": false
    },
    "invalidDataErrors": [],
    "validations": {
    "liveness": {
    "verdict": true,
    "details": [
    {
    "name": "FaceLiveness",
    "verdict": true,
    "score": 99
    }
    ]
    },
    "quality": {
    "verdict": true,
    "details": [
    {
    "name": "FaceQuality",
    "verdict": true,
    "score": 53
    }
    ]
    },
    "matching": {
    "verdict": true,
    "details": [
    {
    "name": "FaceMatching",
    "verdict": true,
    "score": 0
    }
    ]
    },
    "motionControl": null
    },
    "faceSuccess": true,
    "documentSuccess": null,
    "documentHasNotExpired": null,
    "documentValidationTests": [],
    "callBackUrl": null
    }

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

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

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