Перейти к основному содержимому
Версия: 1.7.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. Загрузите изображение лица пользователя.
    3. Укажите DocumentType: 10 (регистрация/авторизация по лицу).

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

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

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

    {
    "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": [
    {
    "code": null,
    "message": "Multiple faces or strong face movement spotted when recording liveness reflection video",
    "description": null
    }
    ],
    "validations": {
    "liveness": {
    "verdict": true,
    "details": [
    {
    "name": "FaceLiveness",
    "verdict": true,
    "score": 0.99
    }
    ]
    },
    "quality": {
    "verdict": true,
    "details": [
    {
    "name": "FaceQuality",
    "verdict": true,
    "score": 0.53
    }
    ]
    },
    "matching": {
    "verdict": true,
    "details": [
    {
    "name": "FaceMatching",
    "verdict": true,
    "score": 0.0
    }
    ]
    },
    "motionControl": {
    "verdict": false,
    "motionControlInfo": [
    {
    "pattern": "up",
    "result": true
    },
    {
    "pattern": "left",
    "result": false
    }
    ]
    }
    },
    "faceSuccess": true,
    "documentSuccess": null,
    "documentHasNotExpired": null,
    "hasRiskEvents": false,
    "riskEvents": [
    {
    "created": "2024-08-14T09:21:08.2064762Z",
    "riskNumber": 8,
    "riskName": "MissingMetadata",
    "isActive": false
    }
    ],
    "documentValidationTests": [],
    "callBackUrl": null
    }

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

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

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

    Авторизация

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

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

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

    • Все включенные опциональные проверки успешно пройдены.
    • Качество фото с лицом выше порога в настройках.
    • Живость лица с фото выше порога в настройках.
    • Скор сравнения лица из фото на авторизацию с лицом из фото на регистрацию выше порога в настройках.

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

    {
    "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": 0.99
    }
    ]
    },
    "quality": {
    "verdict": true,
    "details": [
    {
    "name": "FaceQuality",
    "verdict": true,
    "score": 0.53
    }
    ]
    },
    "matching": {
    "verdict": true,
    "details": [
    {
    "name": "FaceMatching",
    "verdict": true,
    "score": 0.0
    }
    ]
    },
    "motionControl": {
    "verdict": false,
    "motionControlInfo": [
    {
    "pattern": "up",
    "result": true
    },
    {
    "pattern": "left",
    "result": false
    }
    ]
    }
    },
    "faceSuccess": true,
    "documentSuccess": null,
    "documentHasNotExpired": null,
    "hasRiskEvents": false,
    "riskEvents": [
    {
    "created": "2024-08-14T09:21:08.2064762Z",
    "riskNumber": 8,
    "riskName": "MissingMetadata",
    "isActive": false
    }
    ],
    "documentValidationTests": [],
    "callBackUrl": null
    }

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

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

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