Guía técnica · VIN a partes

    Decode VIN to parts catalog: el paso que la API gratis no resuelve y que de verdad vende

    Decodificar el VIN es la mitad fácil. Cruzar la respuesta contra el catálogo de partes correcto, aplicar supersesiones y devolver un número OEM vigente con stock es donde se gana o se pierde la venta. Esta guía cubre la lógica de matching, las trampas por marca, supersesiones SSPL y arquitectura de producción.

    Lectura de 13 minutos · Actualizado junio 2026 · Por el equipo de Efficiency IT Services

    Resumen ejecutivo

    • El VIN decoder (NHTSA o comercial) devuelve vehículo, NO partes. El cruce a catálogo es un proyecto aparte.
    • Las claves de match cambian por marca: Toyota usa Frame Code + Engine Code, GM usa GM Part Number, BMW usa Realoem Bauplan.
    • Las supersesiones SSPL (Supersession Service Parts List) reemplazan números OEM obsoletos por vigentes. Ignorarlas = pedir piezas descontinuadas.
    • El cruce VIN → OEM se hace contra el EPC oficial (autorizado vía concesionario) o aggregators (CarParts, RockAuto, PartsAuthority).
    • Para producción: cache por (vin, part_category), TTL 7 días, fallback a 'mejor coincidencia' cuando no hay match exacto.

    Qué cubre y qué NO cubre el VIN

    El VIN es un identificador del vehículo, no de sus partes. Decodificarlo te dice marca, modelo, año, trim, configuración del motor, planta de ensamble, año modelo y opciones de fábrica que afectan al chasis (4x4 vs 4x2, manual vs automática). Eso es lo que la API del NHTSA o cualquier API comercial te da.

    Lo que el VIN NO te dice es: qué número de parte específico necesitás para reemplazar la pastilla delantera de ESE vehículo, considerando que el modelo 2021 tuvo dos proveedores distintos de frenos durante el año-modelo (Akebono hasta enero, NBK desde febrero). Esta información vive en el EPC (Electronic Parts Catalog) del fabricante, que se consulta con datos del VIN ya decodificado más reglas adicionales.

    La lógica de matching VIN→OEM, paso a paso

    El matching de VIN a número OEM no es un join SQL trivial. Es una cascada de pasos que aplica filtros del más específico al más general, donde el primer match con stock gana. La cascada típica que implementamos en producción tiene 5 niveles.

    • Nivel 1 (match exacto): (Make + Model + Year + Trim + Engine Code + Production Date Range) → 1 OEM número. Lo ideal, pero requiere production date que NHTSA NO devuelve.
    • Nivel 2 (match por trim): (Make + Model + Year + Trim + Engine Config) → 1-2 OEM números. Cubre 70% de los casos con NHTSA solo.
    • Nivel 3 (match por motor): (Make + Model + Year + Engine Config) → 2-4 OEM números. Para vehículos donde no se decodificó trim.
    • Nivel 4 (match por modelo + año): (Make + Model + Year) → 4-8 OEM candidatos. Mostrar al usuario para que confirme.
    • Nivel 5 (fuzzy): (Make + Model + Year ±1) → lista de candidatos con tag 'verificar'. Última opción antes de devolver 'no encontrado'.

    Cómo varía el matching por marca

    Cada fabricante tiene su propio sistema de identificación de partes y su propia idiosincrasia. Toyota usa Frame Code (un código alfanumérico que identifica plataforma + región) combinado con Engine Code; sin ambos, el match cae al 60%. GM usa el GM Part Number directo y tiene buena estandarización, pero divide modelos por planta (un Silverado de Flint vs uno de Fort Wayne usa pastillas diferentes).

    BMW y Mercedes son los más complejos: dependen del Bauplan / SA-Code, una lista de opciones de fábrica que NHTSA no devuelve. Para estos, necesitás API de Realoem (BMW) o EPC Mercedes vía concesionario autorizado. Honda y Hyundai son los más amables: el VIN + año + modelo + engine config suele bastar.

    Esta variación por marca es una de las razones principales por las que un agente IA bien entrenado supera a un buscador genérico: aprende qué pedir según la marca decodificada y no fuerza el mismo flujo para todos.

    Supersesiones SSPL: el detalle que mata las cotizaciones

    Una supersesión SSPL (Supersession Service Parts List) es cuando el fabricante reemplaza un número OEM por otro, normalmente porque rediseñó la pieza o cambió de proveedor. La pieza vieja queda obsoleta; pedirla devuelve 'no disponible' aunque tu catálogo interno la siga listando.

    El problema en cotizaciones: tu vendedor cotiza el número viejo (porque sale primero en el catálogo), el cliente acepta, vas a pedirlo al proveedor y descubrís que está supersededo. Reabrir la cotización con el cliente al precio nuevo (a veces 15-30% más caro) destruye la conversión.

    La solución correcta es aplicar la tabla de supersesiones al final del matching, antes de devolver el número al usuario. El EPC oficial trae las supersesiones en tiempo real; los aggregators las tienen con 1-3 meses de retraso. Si usás aggregators, mantené una tabla propia de supersesiones críticas para tus modelos top.

    Arquitectura de producción para VIN→OEM

    La arquitectura recomendada es un pipeline serverless con dos servicios: vin-decode (cubierto en el tutorial NHTSA) y parts-match. El segundo recibe el perfil decodificado + una categoría de parte (brake_pad_front, oil_filter, spark_plug, etc.), aplica la cascada de matching contra tu catálogo y devuelve una lista priorizada con números OEM, precios y stock.

    Cache es crítico acá pero distinto al del VIN. La clave de cache es (vin, part_category) con TTL de 7 días, no infinito: stock y precio cambian. Para vehículos comunes (Hilux, Civic, Corolla) y categorías comunes (frenos, aceite, filtros), el hit rate del cache supera el 60%.

    • Endpoint: GET /parts/match?vin={VIN}&category={cat} → lista priorizada de OEM + stock + precio.
    • Cache key: hash(vin + category), TTL 7 días.
    • Background job: revalidar cache cuando un proveedor empuja actualización de stock.
    • Telemetría: log de mismatches (categoría sin match) para mejorar el catálogo.

    Caso real: pastilla de freno Honda Civic 2021

    Cliente envía VIN 1HGBH41JXMN109186 al agente por WhatsApp y dice 'necesito pastilla delantera'. Paso 1: vin-decode devuelve Honda Civic 2021 EX-L, motor 2.0L, ensamble Greensburg. Paso 2: parts-match consulta Honda PartsLink con (Make=Honda, Model=Civic, Year=2021, Trim=EX-L, Engine=2.0L, Position=front) y obtiene OEM 45022-TBA-A02 (Akebono ProACT).

    Paso 3: aplicar supersesión. 45022-TBA-A02 sigue vigente, no hay supersedeo. Paso 4: consultar stock interno y de proveedores autorizados. 14 unidades en stock local, USD 89.40 instalado. Paso 5: devolver al cliente con propuesta de cita. Todo el flujo, sin intervención humana, en 1 minuto 58 segundos. Tasa de conversión observada en este flujo: 41%, vs 18% del flujo manual previo.

    ¿Querés que tu equipo cotice repuestos por VIN automáticamente?

    AutoParts AI Agent encadena decodificación + matching + supersesión + stock en una conversación de WhatsApp.

    Preguntas Frecuentes

    Todo lo que necesitas saber antes de comenzar.