Личный кабинет

Главная → Блог → Поиск запчастей по VIN-коду: как привязать каталог интернет-магазина к автомобилю клиента

Интеграции

Поиск запчастей по VIN-коду: как привязать каталог интернет-магазина к автомобилю клиента

· Редакция AvtoVinCod · 8 мин чтения

Поиск запчастей по VIN-коду: как привязать каталог интернет-магазина к автомобилю клиента

Чтобы привязать каталог запчастей к VIN клиента, магазин на этапе ввода VIN или госномера вызывает три метода: /decode (модель, поколение, кузов, двигатель, коробка, привод, годы выпуска), /autopark (номер двигателя) и при необходимости /vin2gos или /gos2vin для перехода между госномером и VIN. Полученные атрибуты работают как фильтр в вашем каталоге (OEM, TecDoc или собственная база), а масло подбирается по двигателю и году. Стоит это от 0,8 до 8 рублей за запрос, оплата только за выполненную проверку.

Ниже - как это собрать так, чтобы поиск запчастей по VIN-коду работал в карточке товара, корзине и личном гараже, и где на этом пути обычно ломается логика.

Почему подбор по VIN снижает возвраты

Клиент выбирает в форме "Škoda Octavia, 2012" и получает список деталей. Проблема в том, что под это описание подходит три-четыре разных автомобиля. Рестайлинг посреди поколения меняет форму крепления фар и разъёмы. В одном поколении стоят бензиновые моторы 1,4 и 1,8 с разными фильтрами и ремнями, а коробка - механика или автомат - определяет набор прокладок и масло. Итог знакомый любому магазину: деталь "не села", возврат, доставка в обе стороны, недовольный клиент.

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

Встраивать подбор можно в три точки воронки:

Схема интеграции: от VIN до фильтра каталога

Последовательность простая:

  1. Клиент вводит VIN или госномер в поле поиска.
  2. Вы нормализуете ввод: верхний регистр, удаление пробелов, замена похожих кириллических букв на латиницу, проверка длины в 17 символов.
  3. Запрашиваете API расшифровки VIN (GET /decode?vin=).
  4. Сопоставляете полученные атрибуты с полями вашего каталога и применяете как фильтр.

Что берём из ответа: модель и поколение, тип кузова, двигатель, коробку, привод, годы выпуска, страну и завод сборки. Всё это превращается в атрибуты фильтра - у вас они, скорее всего, называются иначе, поэтому нужна таблица соответствий между нашими значениями и вашими справочниками (или кодами из TecDoc). Её делают один раз, а потом пополняют по мере появления новых значений, которые не нашлись.

Ключевое поле здесь full. Если full=1, определена единственная модификация, и фильтр можно применять жёстко: показываем только то, что подходит этой машине. Если full не равен 1, под VIN подходит несколько вариантов, и делать вид, что всё однозначно, нельзя. Задайте клиенту один уточняющий вопрос: какой у вас двигатель, какая коробка. Два-три варианта в выпадающем списке закрывают большинство случаев. Выбор клиента сохраняйте вместе с VIN.

Теперь про деньги. Расшифровка одного VIN не меняется, поэтому результат нужно хранить у себя: таблица "VIN - атрибуты - дата запроса". Повторный ввод того же VIN, будь то другой клиент или тот же человек через месяц, обслуживается из вашей базы без нового платного запроса. Подробнее о том, как раскладывать расшифровку по полям, мы писали в материале про автозаполнение карточки авто по VIN.

Поиск запчастей по госномеру

VIN знает не каждый. Он на кузове, в СТС и в ПТС, но клиент в момент заказа фильтра часто сидит без документов, зато номер своей машины помнит наизусть. Поэтому в поле поиска стоит принимать и госномер.

Метод VIN по госномеру (GET /gos2vin?plate=) возвращает VIN, номер кузова или шасси, данные СТС, марку, модель, год и мощность. Дальше всё идёт по уже описанной схеме: полученный VIN отправляется в /decode. Запрос стоит 8 ₽, поэтому ответ тоже кладём в кэш, ключом служит госномер.

Обратная задача решается методом госномер по VIN (GET /vin2gos?vin=, 6 ₽). Она нужна реже, например когда в гараже хранится только VIN, а для отображения в личном кабинете или при самовывозе удобнее показать номер.

Что стоит предупредить в интерфейсе. Госномер - это запись в базе ГИБДД, и если машину недавно сменила собственника или номер, данные могут отличаться от реальных. Покажите клиенту найденные марку, модель и год с вопросом "Это ваш автомобиль?" до применения фильтра. И оставьте запасной путь: ручной выбор марки, модели и модификации, если номер не нашёлся.

Если нужна лёгкая карточка до полного расчёта, подойдут краткие данные ТС (/brief, 1 ₽): марка, модель, год, мощность, тип и объём двигателя, руль, масса. Её удобно показать сразу после ввода, а полную расшифровку запрашивать, когда клиент реально переходит к подбору. О связке госномера, VIN и мотора в одной карточке рассказано в статье про VIN по госномеру и номер двигателя в CRM.

Подбор масла по VIN

С маслом ошибаться дорого, а подбор по "марке и году" особенно ненадёжен: у одной модели бывает бензиновый атмосферник, турбомотор и дизель, и у каждого свои допуски и вязкость. Нужные данные: двигатель, объём, тип топлива, мощность и год выпуска. Они приходят из /decode и /brief.

Для точной идентификации мотора добавьте метод номер двигателя по VIN (GET /autopark?vin=, также по номеру кузова или шасси). Ответ приходит за доли секунды, а платным он становится только если номер найден. Если нет - ничего не списывается.

Дальше работает ваша часть. У магазина должна быть таблица соответствий: двигатель (код или сочетание объём + тип + мощность + период) - допуски, вязкость, объём заправки. Получив атрибуты мотора, вы ищете строку в этой таблице и подставляете рекомендацию: "5W-30, допуск такой-то, около N литров". Масляный фильтр и прокладку подбираете тем же способом.

Важная оговорка: API не отдаёт допуски масла, объёмы заправки и артикулы. Эти данные берутся из вашей справочной базы или от производителя. Мы даём точную идентификацию автомобиля и мотора, а вы по ней находите нужные строки в своих справочниках. Если строки нет, показывайте не угаданную рекомендацию, а предложение уточнить у менеджера.

Примеры запросов и обработка ответов

Базовый запрос:

curl -H "Authorization: Bearer ВАШ_ТОКЕН" \
 "https://api.avtovincod.ru/decode?vin=X7TEST00000000001"

Схема цепочки на Python (упрощённо):

import requests

API = "https://api.avtovincod.ru"
H = {"Authorization": "Bearer ВАШ_ТОКЕН"}

def get_car(vin):
 cached = db.get_car(vin)
 if cached:
 return cached

 d = requests.get(f"{API}/decode", params={"vin": vin}, headers=H).json()
 if d.get("success") != 1:
 return None # не найден, ничего не списано

 car = {"vin": vin, "decode": d, "full": d.get("full")}

 e = requests.get(f"{API}/autopark", params={"vin": vin}, headers=H).json()
 if e.get("success") == 1:
 car["engine_number"] = e.get("engineNumber")

 db.save_car(car)
 return car

Названия полей в коде приведены для иллюстрации, точные имена смотрите в документации API. Затем вы прогоняете decode через свою таблицу соответствий и формируете фильтр.

Для проверки без пополнения используйте тестовые значения: VIN X7TEST00000000001 и госномер Т000ТТ00. Любой метод отвечает образцом своей схемы бесплатно, в ответе стоит "testMode": true. Токен при этом нужен. Тестовые ответы удобно прогнать через весь путь до фильтра каталога, не потратив ни рубля.

Ошибки. Ответ с success: 0 означает, что проверка не выполнена или данных нет, и он бесплатный. Для "не найденного VIN" заведите отдельную ветку: сообщение "Не удалось определить автомобиль по этому VIN", проверка на опечатку и переход к ручному выбору модификации. Не стоит блокировать клиента, если API не ответил: в такой ситуации корзина должна продолжать работать без проверки применимости, с пометкой "уточните у менеджера".

Учёт затрат. В каждом ответе, записанном в историю запросов, есть блок billing (charged, currency, balance, requestId) и заголовки X-Charged, X-Balance, X-Request-Id. Сохраняйте charged вместе с заказом, и вы всегда увидите, сколько стоил подбор для каждой покупки. Нет блока - запрос не списан.

Дополнительные сценарии для магазина

Когда автомобиль привязан к клиенту, на этом можно построить больше, чем фильтр.

Что обычно меняют. Метод плюсы и минусы модели (/pros-cons, 0,8 ₽) возвращает характеристику модели: надёжность, кузов и коррозию, ликвидность, списки сильных и слабых сторон (prosList, consList). На странице гаража это превращается в блок "типовые слабые места модели" и подборку расходников под них.

Отзывы производителя. По методу отзывные кампании (/recalls, 0,8 ₽) видно, попадала ли машина под отзыв, какая причина и какие работы предусмотрены. Это честное предупреждение клиенту и повод предложить связанные детали и записать его на установку.

Напоминания о ТО. Сервисная история (/service, 26 ₽) показывает даты, города и виды работ. Метод дорогой, поэтому применять его стоит выборочно: для клиентов с высоким чеком или подписки на персональные напоминания, когда по истории понятно, что замена ремня или тормозных жидкостей пора.

Гараж и повторные продажи. Клиент один раз вводит автомобиль, вы сохраняете VIN и расшифровку, а дальше каждое возвращение на сайт начинается с уже отфильтрованного каталога. Ни одного платного запроса на повторный визит.

Сколько это стоит и как подключиться

Базовые цены за запрос: /decode - 1,6 ₽, /brief - 1 ₽, /autopark - 0,8 ₽, /gos2vin - 8 ₽, /vin2gos - 6 ₽.

Пример расчёта на один заказ. Клиент вводит VIN: /decode 1,6 ₽ + /autopark 0,8 ₽ = 2,4 ₽. Если он ввёл госномер, добавляется /gos2vin: 8 + 1,6 + 0,8 = 10,4 ₽. Для масла и деталей двигателя это вся стоимость идентификации автомобиля, и она заметно меньше цены одного возврата с логистикой.

Как не тратить лишнего:

Подключение самостоятельное: регистрация в кабинете, токен выдаётся сразу, пополнение от 100 ₽ банковской картой или по счёту для юрлиц, без договора. Бесплатного пробного периода нет, но тестовые значения работают без оплаты. Для крупных магазинов и маркетплейсов запчастей есть формат сотрудничества и white-label.

Частые вопросы

Как работает поиск запчастей по VIN коду в интернет-магазине?

Клиент вводит VIN, магазин отправляет его в /decode и получает модель, поколение, кузов, двигатель, коробку, привод и годы выпуска. Эти атрибуты применяются как фильтр в вашем каталоге (OEM, TecDoc или собственная база), и клиент видит только подходящие детали.

Можно ли подобрать запчасти по госномеру без VIN?

Да. Метод /gos2vin по госномеру возвращает VIN, номер кузова или шасси, данные СТС, марку, модель, год и мощность. Дальше этот VIN отправляется в /decode, и подбор идёт по той же схеме. Стоит показать клиенту найденные марку и модель для подтверждения и оставить ручной выбор как запасной путь.

Как определить подходящее масло по VIN автомобиля?

По VIN определяются двигатель, объём, тип, мощность и год (поля /decode и /brief), а номер двигателя можно получить через /autopark. Допуски, вязкость и объём заправки подставляются из вашей справочной таблицы "двигатель - рекомендации". API эти данные не отдаёт, он идентифицирует автомобиль и мотор.

Что делать, если расшифровка VIN не определила единственную модификацию?

Если поле full не равно 1, под VIN подходит несколько вариантов. Задайте клиенту уточняющий вопрос: двигатель, коробка, привод. Выбор сохраните вместе с VIN и применяйте как фильтр. До уточнения покажите детали с пометкой, что применимость требует подтверждения.

Отдаёт ли API каталог запчастей или артикулы?

Нет. API возвращает данные об автомобиле: модель, поколение, кузов, двигатель, коробку, привод, годы выпуска, номер двигателя. Артикулы, применимость и цены остаются в вашем каталоге или в TecDoc, а наши данные служат для точного фильтра.

Как получить номер двигателя по VIN для точного подбора?

Вызовите метод /autopark?vin= (также доступен поиск по номеру кузова или шасси). Ответ приходит за доли секунды, стоимость 0,8 ₽, причём списание происходит только если номер найден.

Сколько стоит один подбор по VIN для магазина?

Расшифровка стоит 1,6 ₽, номер двигателя 0,8 ₽, итого 2,4 ₽ при вводе VIN. Если клиент вводит госномер, добавляется /gos2vin за 8 ₽, итого 10,4 ₽. Повторные обращения к тому же VIN обслуживаются из вашего кэша без новых списаний.

Как протестировать интеграцию бесплатно?

Используйте тестовые значения: VIN X7TEST00000000001 и госномер Т000ТТ00. Любой метод отвечает образцом своей схемы без списания, в ответе есть поле testMode: true. Нужен только токен из личного кабинета.

Проверка автомобилей через API

Без договора и долгих согласований: пополните баланс от 100 ₽ и проверяйте реальные машины. Тестовые значения бесплатно, документация с примерами на популярных языках.

Получить токен   Документация API

Читайте также