При запросе отчёта по транспортному средству ключевой информацией об объекте поиска является один из идентификаторов: GRZ, VIN, BODY, CHASSIS, STS, PTS, PIN.
Спецификация типов поддерживаемых идентификаторов
GRZ — государственный регистрационный знак транспортного средства (ГРЗ). Требования к формату ГРЗ определяет ГОСТ Р 50577-2018.
Структура регистрационных знаков должна быть следующей:
Структура | Тип ГРЗ | Вид ТС |
---|---|---|
М 000 ММ 55 или М 000 ММ 555 | 1 | Легковые, грузовые автомобили и автобусы |
М 000 ММ 55 |
1А | Легковые, грузовые автомобили и автобусы с нестандартным местом крепления |
ММ 000 55 | 1Б | Легковые такси и ТС для перевозок более восьми человек, действующих на основании лицензии |
ММ 0000 55 | 2 | Автомобильные прицепы и полуприцепы |
0000 ММ 55 |
3 | Тракторы, самоходные дорожно-строительные машины и иные машины и (полу-)прицепы к ним |
0000 ММ 55 |
4 | Мотоциклы, мотороллеры, мопеды и снегоходы |
0000 ММ 55 | 5 | Легковые, грузовые автомобили и автобусы |
ММ 0000 55 | 6 | Автомобильные прицепы и полуприцепы |
0000 ММ 55 |
7 | Тракторы, самоходные дорожно-строительные машины и иные машины и (полу-)прицепы к ним |
0000 ММ 55 |
8 | Мотоциклы, внедорожные мототранспортные средства |
М 0000 55 | 20 | Легковые, грузовые автомобили и автобусы |
000 М 55 | 21 | Автомобильные прицепы и полуприцепы |
0000 М 55 |
22 | Мотоциклы, внедорожные мототранспортные средства |
Условные обозначения:
М
— буква, означающая серию регистрационного знака транспортного средства. На регистрационных знаках могут применяться следующие буквы: А, В, Е, К, М, Н, О, Р, С, Т, У, X
;0
— цифра, означающая номер регистрационного знака транспортного средства;5
— цифра кода региона Российской Федерации, применяемого на регистрационных знаках ТС.{
"queryType": "GRZ",
"query": "А111АА00"
}
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
, а также между собой.
{
"queryType": "VIN",
"query": "EXAMPL0V1N1000000"
}
BODY — номер кузова транспортного средства. Номер кузова представляет собой информацию завода-изготовителя об автомобиле, зашифрованную в виде кода, содержащего в себе буквы и цифры.
{primary.fa-exclamation} Идентификатор не является уникальным.
Формат номера не регламентирован. Общие правила валидации:
^[A-Z\d]{2,}(\-|\s|)[A-Z\d]{2,9}$
.{
"queryType": "BODY",
"query": "EXPLBD-1000000"
}
CHASSIS — номер шасси транспортного средства. Чаще всего используется для проверки автомобилей, не имеющих VIN-номера.
{primary.fa-exclamation} Идентификатор не является уникальным.
Формат номера не регламентирован. Общие правила валидации:
^[A-Z\d]{2,}(\-|\s|)[A-Z\d]{2,9}$
.{
"queryType": "CHASSIS",
"query": "EXPLCHS100000"
}
PIN (Product Identification Number) — это идентификационный номер изделия, неповторяющееся обозначение, состоящее из буквенно-цифровых знаков, присвоенное изготовителем комплектной машине с целью её идентификации.
Формат номера не регламентирован. Общие правила валидации:
^[0-9A-ZА-ЯЁ\-_\s\/\(\)]+$
.{
"queryType": "PIN",
"query": "XMP0LS42EN0005611"
}
STS — номер свидетельства о регистрации транспортного средства (СТС).
Код СТС состоит из серии и номера. Серия — это первые четыре знака, попарно разделенные пробелом: 2 цифры и 2 буквы русского алфавита (вместо букв могут использоваться цифры). Номер свидетельства отделён от серии пробелом и символом №
и содержит 6 цифр.
{
"queryType": "STS",
"query": "1010100000"
}
PTS — номер паспорта транспортного средства (ПТС).
Код ПТС состоит из серии и номера. Серия — это первые четыре знака, попарно разделенные пробелом: 2 цифры и 2 буквы русского алфавита. Номер паспорта отделён от серии пробелом и символом №
и содержит 6 цифр.
{
"queryType": "PTS",
"query": "10АА000000"
}
При отправке запроса на генерацию отчёта /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"
}
]
}