Верификация владения ТС физлицом

P.0280.ONV.ACT-VER

Позволяет показать степени совпадения переданных в запросе идентификаторов физлица с идентификаторами последнего владельца ТС, имеющего действующую регистрацию в ГИБДД.

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

Идентификаторы объекта: идентификатор ТС и данные проверяемого лица: ФИО, дата рождения и номер паспорта. В качестве идентификатора ТС могут использоваться ГРЗ, VIN, номер кузова, номер шасси, номер ПТС или номер СТС.

Иcпользуемые источники: check_person/vehicle_owner_verification.

Время генерации отчёта:

  • 50-й перцентиль — 3 с;
  • 95-й перцентиль — 7 с.

Алгоритм верификации

Сначала в независимых верифицированных источниках производится поиск информации о ТС по его идентификатору (VIN, ГРЗ, номеру шасси, кузова, ПТС или СТС). По полученным из источников данным определяется последний владелец.

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

  • на момент запроса ТС не имеет действующей регистрации в ГИБДД. Полю status устанавливается значение NOT_FOUND;
  • владелец — юридическое лицо. Полю owner_type устанавливается значение COMPANY.

На этапе верификации данные последнего владельца ТС сравниваются с данными из запроса: сравнение производится для каждого поля отдельно, причём перед сравнением данные нормализуются по одинаковым правилам. Для верификации данных рассчитывается расстояние Левенштейна между двумя строками. Для двух одинаковых строк расстояние равно нулю; с увеличением расстояния увеличивается и степень несовпадения строк.

Оценка результатов сравнения позволяет самостоятельно принять решение о том, принадлежит ли проверяемое ТС указанному лицу.

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

При отправке запроса на генерацию отчёта в теле запроса указываются следующие параметры:

Параметр Тип Обязательность Описание
queryType string Обязательный Тип запроса.
Фиксированное значение: MULTIPART
query string Обязательный Значение простого запроса.
Фиксированное значение:  
data object Обязательный Идентификаторы объекта поиска
Параметры объекта data
last_name string Обязательный Фамилия
first_name string Обязательный Имя
patronymic string Необязательный Отчество
birth string Обязательный Дата рождения
document string Необязательный Номер паспорта
grz string Обязательный,
если не указан другой идентификатор ТС
ГРЗ
vin string Обязательный,
если не указан другой идентификатор ТС
VIN
body string Обязательный,
если не указан другой идентификатор ТС
Номер кузова
chassis string Обязательный,
если не указан другой идентификатор ТС
Номер шасси
pts string Обязательный,
если не указан другой идентификатор ТС
Номер ПТС
sts string Обязательный,
если не указан другой идентификатор ТС
Номер СТС

В запросе необходимо передавать данные физлица и какой-либо идентификатор ТС.

Минимальный набор данных о физлице:

  • last_name,
  • first_name,
  • birth.

Дополнительно в запросе можно передать patronymic и document. Если отчество или номер паспорта не были переданы в запросе, то расстояние Левенштейна по ним не будет рассчитываться и не будет возвращено в ответе.

Если запрос содержит несколько идентификаторов ТС, то для поиска будет использоваться один из них, выбираемый в следующем порядке:

  1. grz;
  2. vin;
  3. body;
  4. chassis;
  5. pts;
  6. sts.

Пример тела запроса

{
  "queryType": "MULTIPART",
  "query": " ",
  "data": {
    "last_name": "Иванов",
    "first_name": "Иван",
    "patronymic": "Иванович",
    "birth": "11.02.1991",
    "document": "1234123456",
    "grz": "А111АА00"
  }
}

Структура отчёта

Данные отчёта находятся в объекте data[].content.check_person.vehicle_owner_verification тела ответа.

Поле Тип Описание
status string Статус запроса.
Справочник значений
owner_type string Тип владельца ТС.
Справочник значений
last_name.distance integer Расстояние Левенштейна для фамилии.
0 — строки совпадают; чем больше расстояние, тем более различны строки
first_name.distance integer Расстояние Левенштейна для имени.
0 — строки совпадают; чем больше расстояние, тем более различны строки
patronymic.distance integer Расстояние Левенштейна для отчества.
0 — строки совпадают; чем больше расстояние, тем более различны строки
birth.distance integer Расстояние Левенштейна для даты рождения.
0 — строки совпадают; чем больше расстояние, тем более различны строки
document.distance integer Расстояние Левенштейна для номера паспорта.
0 — строки совпадают; чем больше расстояние, тем более различны строки

Справочник Статус запроса

Значение Описание
OK Успешное выполнение
NOT_FOUND Данные о владении ТС не найдены
BAD_QUERY Невалидный запрос
SOURCE_ERROR Ошибка источника

Справочник Тип владельца ТС

Значение Описание
PERSON Физическое лицо
COMPANY Юридическое лицо
UNKNOWN Неизвестный тип

Пример данных отчёта

{
  "data": [
    {
      "report_type_uid": "P.0280.ONV.ACT-VER_test_report@test_domain",
      "progress_ok": 1,
      "progress_wait": 0,
      "progress_error": 0,
      "state": {
        "sources": [
          {
            "_id": "check_person/vehicle_owner_verification",
            "state": "OK",
            "data": {}
          }
        ],
        "data": {}
      },
      "content": {
        "check_person": {
          "vehicle_owner_verification": {
            "status": "OK",
            "owner_type": "PERSON",
            "last_name": {
              "distance": 0
            },
            "first_name": {
              "distance": 3
            },
            "patronymic": {
              "distance": 6
            },
            "birth": {
              "distance": 1
            },
            "document": {
              "distance": 8
            }
          }
        }
      }
    }
  ]
}

Пример данных отчёта, если владелец — юридическое лицо

{
  "data": [
    {
      "report_type_uid": "P.0280.ONV.ACT-VER_test_report@test_domain",
      "progress_ok": 1,
      "progress_wait": 0,
      "progress_error": 0,
      "state": {
        "sources": [
          {
            "_id": "check_person/vehicle_owner_verification",
            "state": "OK",
            "data": {}
          }
        ],
        "data": {}
      },
      "content": {
        "check_person": {
          "vehicle_owner_verification": {
            "status": "OK",
            "owner_type": "COMPANY"
          }
        }
      }
    }
  ]
}

Пример данных отчёта, если данные о владении не найдены

{
  "data": [
    {
      "report_type_uid": "P.0280.ONV.ACT-VER_test_report@test_domain",
      "progress_ok": 1,
      "progress_wait": 0,
      "progress_error": 0,
      "state": {
        "sources": [
          {
            "_id": "check_person/vehicle_owner_verification",
            "state": "OK",
            "data": {}
          }
        ],
        "data": {}
      },
      "content": {
        "check_person": {
          "vehicle_owner_verification": {
            "status": "NOT_FOUND"
          }
        }
      }
    }
  ]
}