Идентификаторы транспортного средства

При запросе отчёта по транспортному средству ключевой информацией об объекте поиска является один из идентификаторов: GRZ, VIN, BODY, CHASSIS, STS, PTS.

Спецификация типов поддерживаемых идентификаторов

Идентификатор GRZ

GRZ — государственный регистрационный знак транспортного средства (ГРЗ). Требования к формату ГРЗ определяет ГОСТ Р 50577-2018.

Структура регистрационных знаков должна быть следующей:

Структура Тип ГРЗ Вид ТС
М 000 ММ 55 или М 000 ММ 555 1 Легковые, грузовые автомобили и автобусы
М 000
ММ 55
Легковые, грузовые автомобили и автобусы с нестандартным местом крепления
ММ 000 55 Легковые такси и ТС для перевозок более восьми человек, действующих на основании лицензии
ММ 0000 55 2 Автомобильные прицепы и полуприцепы
0000
ММ 55
3 Тракторы, самоходные дорожно-строительные машины и иные машины и (полу-)прицепы к ним
0000
ММ 55
4 Мотоциклы, мотороллеры, мопеды и снегоходы
0000 ММ 55 5 Легковые, грузовые автомобили и автобусы
ММ 0000 55 6 Автомобильные прицепы и полуприцепы
0000
ММ 55
7 Тракторы, самоходные дорожно-строительные машины и иные машины и (полу-)прицепы к ним
0000
ММ 55
8 Мотоциклы, внедорожные мототранспортные средства
ММ 000 М 55 или ММ 000 М 555 15 Легковые, грузовые, грузопассажирские автомобили, автобусы, прицепы и полуприцепы
М 0000 55 20 Легковые, грузовые автомобили и автобусы
000 М 55 21 Автомобильные прицепы и полуприцепы
0000
М 55
22 Мотоциклы, внедорожные мототранспортные средства

Условные обозначения:

  • М — буква, означающая серию регистрационного знака транспортного средства. На регистрационных знаках могут применяться следующие буквы: А, В, Е, К, М, Н, О, Р, С, Т, У, X;
  • 0 — цифра, означающая номер регистрационного знака транспортного средства;
  • 5 — цифра кода региона Российской Федерации, применяемого на регистрационных знаках ТС.

Идентификатор VIN

VIN — идентификационный номер транспортного средства (Vehicle Identification Number), состоящий из 17 знаков. Строение кода основано на стандартах ISO 3779-1983 и ISO 3780.

В VIN разрешено использовать только следующие символы латинского алфавита и арабские цифры:

0 1 2 3 4 5 6 7 8 9 A B C D E F G H J K L M N P R S T U V W X Y Z

Использовать буквы I O Q запрещено, так как они сходны по начертанию с цифрами 1 0 9, а также между собой.

Идентификатор BODY

BODY — номер кузова транспортного средства. Номер кузова представляет собой информацию завода-изготовителя об автомобиле, зашифрованную в виде кода, содержащего в себе буквы и цифры.

{primary.fa-exclamation} Идентификатор не является уникальным.

Формат номера не регламентирован. Общие правила валидации:

  1. Длина строки — от 8 до 15 символов.
  2. Номер должен содержать цифры.
  3. Номер должен соответствовать шаблону ^[A-Z\d]{2,}(\-|\s|)[A-Z\d]{2,9}$.

Идентификатор CHASSIS

CHASSIS — номер шасси транспортного средства. Чаще всего используется для проверки автомобилей, не имеющих VIN-номера.

{primary.fa-exclamation} Идентификатор не является уникальным.

Формат номера не регламентирован. Общие правила валидации:

  1. Длина строки — от 8 до 15 символов.
  2. Номер должен содержать цифры.
  3. Номер должен соответствовать шаблону ^[A-Z\d]{2,}(\-|\s|)[A-Z\d]{2,9}$.

Идентификатор STS

STS — номер свидетельства о регистрации транспортного средства (СТС).

Код СТС состоит из серии и номера. Серия — это первые четыре знака, попарно разделенные пробелом: 2 цифры и 2 буквы русского алфавита (вместо букв могут использоваться цифры). Номер свидетельства отделён от серии пробелом и символом  и содержит 6 цифр.

Идентификатор PTS

PTS — номер паспорта транспортного средства (ПТС).

Код ПТС состоит из серии и номера. Серия — это первые четыре знака, попарно разделенные пробелом: 2 цифры и 2 буквы русского алфавита. Номер паспорта отделён от серии пробелом и символом  и содержит 6 цифр.

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

При отправке запроса на генерацию отчёта /user/reports/{REPORT_TYPE_UID}/_make выполняется первичная валидация по количеству символов и допустимых значений. Если первичная валидация не пройдена, отчёт не создаётся и API возвращает ошибку валидации:

{
  "state": "fail",
  "version": "2.0",
  "stamp": "2020-12-10T10:59:16.045Z",
  "event": {
    "uid": "",
    "stamp": "2020-12-10T10:59:16.045Z",
    "code": "D027",
    "cls": "Data",
    "type": "ValidationFailed",
    "name": "Не пройдена валидация",
    "message": "Не пройдена валидация:{\"type\":\"VIN\",\"body\":\"FKJASLDJKLS\",\"schema_version\":\"1.0\",\"storages\":{}}, причина:",
    "data": {
      "input": "\"type\":\"VIN\",\"body\":\"FKJASLDJKLS\",\"schema_version\":\"1.0\",\"storages\":{}}",
      "cause": ""
    },
    "events": []
  }
}

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

  • state.sources.state для всех источников равно ERROR,
  • state.sources.extended_state для всех источников равно CANCEL,
  • tags принимает значение REJECTED,
  • progress_ok принимает значение 0,
  • progress_wait принимает значение 0,
  • progress_error равно количеству источников в отчёте.

Пример отчёта по невалидному идентификатору

{
  "state": "ok",
  "size": 1,
  "version": "2.0",
  "stamp": "2021-09-06T14:04:39.436Z",
  "data": [
    {
      "domain_uid": "test_domain",
      "report_type_uid": "test_report_type@test_domain",
      "vehicle_id": "XTA21057765666GH6",
      "query": {
        "type": "VIN",
        "body": "XTA21057765666GH6",
        "schema_version": "1.0",
        "storages": {}
      },
      "progress_ok": 0,
      "progress_wait": 0,
      "progress_error": 2,
      "state": {
        "sources": [
          {
            "_id": "base",
            "state": "ERROR",
            "extended_state": "CANCEL"
          },
          {
            "_id": "references.base",
            "state": "ERROR",
            "extended_state": "CANCEL"
          }
        ]
      },
      "requested_at": "2021-09-06T13:25:48.571Z",
      "uid": "test_report_type_XTA21057765666GH6_i_f1981e4bd8a036d8862016d2fc6276b3@test_domain",
      "name": "NONAME",
      "comment": "",
      "tags": "REJECTED",
      "created_at": "2021-09-06T13:25:48.527Z",
      "created_by": "system",
      "updated_at": "2021-09-06T13:25:49.848Z",
      "updated_by": "system",
      "active_from": "1900-01-01T00:00:00.000Z",
      "active_to": "3000-01-01T00:00:00.000Z"
    }
  ]
}