{"id":311909,"date":"2024-03-05T14:21:03","date_gmt":"2024-03-05T19:21:03","guid":{"rendered":"https:\/\/yokomotor.com.co\/toyota\/?page_id=311909"},"modified":"2026-08-24T14:12:34","modified_gmt":"2026-08-24T19:12:34","slug":"recall","status":"publish","type":"page","link":"https:\/\/yokomotor.com.co\/toyota\/recall\/","title":{"rendered":"Recall"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_image src=&#8221;https:\/\/yokomotor.com.co\/toyota\/wp-content\/uploads\/sites\/2\/2024\/04\/Yokomotor-toyota-recall-banner-hero.webp&#8221; alt=&#8221;recall revisa airbargs&#8221; title_text=&#8221;Yokomotor-toyota-recall-banner-mobile&#8221; src_tablet=&#8221;https:\/\/yokomotor.com.co\/toyota\/wp-content\/uploads\/sites\/2\/2024\/04\/Yokomotor-toyota-recall-banner-hero.webp&#8221; src_phone=&#8221;https:\/\/yokomotor.com.co\/toyota\/wp-content\/uploads\/sites\/2\/2024\/04\/Yokomotor-toyota-recall-banner-mobile.webp&#8221; src_last_edited=&#8221;on|phone&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_fullwidth_image][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; module_id=&#8221;form&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; background_enable_mask_style=&#8221;on&#8221; background_mask_style=&#8221;blades&#8221; background_mask_color=&#8221;#fcfcfc&#8221; background_mask_transform=&#8221;invert&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code admin_label=&#8221;Nav XT Breadcrumb&#8221; module_class=&#8221;yoastBreadcrumbs&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; text_orientation=&#8221;center&#8221; custom_margin=&#8221;||0px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<div class=\"breadcrumbs\" typeof=\"BreadcrumbList\" vocab=\"https:\/\/schema.org\/\">\n    <span property=\"itemListElement\" typeof=\"ListItem\"><a property=\"item\" typeof=\"WebPage\" title=\"Ir a Venta de carros | Concesionario Toyota | Yokomotor.\" href=\"https:\/\/yokomotor.com.co\/toyota\" class=\"home\" aria-current=\"page\"><span property=\"name\">Toyota<\/span><\/a><meta property=\"position\" content=\"1\"><\/span><\/div>\n[\/et_pb_code][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#000000&#8243; text_font_size=&#8221;3vw&#8221; text_line_height=&#8221;1em&#8221; header_text_color=&#8221;#000000&#8243; header_font_size=&#8221;3vw&#8221; header_line_height=&#8221;1.01em&#8221; header_2_text_color=&#8221;#000000&#8243; header_2_font_size=&#8221;3vw&#8221; header_2_line_height=&#8221;1.01em&#8221; text_orientation=&#8221;center&#8221; custom_margin=&#8221;||10px||false|false&#8221; header_font_size_tablet=&#8221;3vw&#8221; header_font_size_phone=&#8221;26px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; header_2_font_size_tablet=&#8221;3vw&#8221; header_2_font_size_phone=&#8221;26px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Recall<\/h1>\n<p>[\/et_pb_text][dipl_separator separator_color=&#8221;#EB0A1E&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; width=&#8221;80px&#8221; module_alignment=&#8221;center&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/dipl_separator][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; width=&#8221;85%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#000000&#8243; header_2_text_color=&#8221;#000000&#8243; header_2_font_size=&#8221;24px&#8221; text_orientation=&#8221;center&#8221; max_width=&#8221;600px&#8221; module_alignment=&#8221;center&#8221; custom_margin=&#8221;||0px||false|false&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;22px&#8221; text_font_size_phone=&#8221;18px&#8221; text_font_size_last_edited=&#8221;off|desktop&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2 class=\"headline\"><strong>\u00a1Atenci\u00f3n! No pongas en riesgo tu seguridad.Consulta si tienes una campa\u00f1a de seguridad de tu Toyota ahora.<\/strong><\/h2>\n<p class=\"headline\">Ingresa un n\u00famero VIN, chasis o placa para realizar la b\u00fasqueda.\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.5&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->    .recall-container {<!-- [et_pb_line_break_holder] -->      position: relative;<!-- [et_pb_line_break_holder] -->      color: #5a646e;<!-- [et_pb_line_break_holder] -->      padding: 25px 1.25rem 0;<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-content {<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      padding: 25px 1.25rem 3rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-title {<!-- [et_pb_line_break_holder] -->      color: #000;<!-- [et_pb_line_break_holder] -->      font-size: 2rem;<!-- [et_pb_line_break_holder] -->      line-height: 2.25rem;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      margin: 0;<!-- [et_pb_line_break_holder] -->      margin-bottom: 1rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-subtitle {<!-- [et_pb_line_break_holder] -->      color: #5a646e;<!-- [et_pb_line_break_holder] -->      font-size: .875rem;<!-- [et_pb_line_break_holder] -->      font-weight: 400;<!-- [et_pb_line_break_holder] -->      line-height: 1.25rem;<!-- [et_pb_line_break_holder] -->      margin-top: 0;<!-- [et_pb_line_break_holder] -->      margin-bottom: 16px;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-description {<!-- [et_pb_line_break_holder] -->      margin: 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-form-content {<!-- [et_pb_line_break_holder] -->      padding: 0 1.25rem 3rem;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-form {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: stretch;<!-- [et_pb_line_break_holder] -->      gap: 3rem;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      padding-bottom: 5vh !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-input {<!-- [et_pb_line_break_holder] -->      padding: 10px;<!-- [et_pb_line_break_holder] -->      outline: none;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-button {<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->      background-image: linear-gradient(-60deg, #000 50%, transparent 0);<!-- [et_pb_line_break_holder] -->      border-width: 2px;<!-- [et_pb_line_break_holder] -->      border-color: #000 !important;<!-- [et_pb_line_break_holder] -->      border-style: solid;<!-- [et_pb_line_break_holder] -->      color: #000;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      background-color: transparent;<!-- [et_pb_line_break_holder] -->      transition: color .3s ease-in-out, background-position .3s ease-in-out;<!-- [et_pb_line_break_holder] -->      background-size: 500% 500%;<!-- [et_pb_line_break_holder] -->      background-position: 0 50%;<!-- [et_pb_line_break_holder] -->      padding: 0.75rem 2rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-button:hover,<!-- [et_pb_line_break_holder] -->    .recall-button:active {<!-- [et_pb_line_break_holder] -->      color: #fff;<!-- [et_pb_line_break_holder] -->      background-color: transparent;<!-- [et_pb_line_break_holder] -->      background-position: 99% 50%;<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .recall-messages {<!-- [et_pb_line_break_holder] -->      padding: 1.5rem 1.25rem 0;<!-- [et_pb_line_break_holder] -->      padding: 10px !important;<!-- [et_pb_line_break_holder] -->      margin: auto !important;<!-- [et_pb_line_break_holder] -->      font-size: 18px !important;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    @media (min-width: 768px) {<!-- [et_pb_line_break_holder] -->      .recall-container {<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .recall-content {<!-- [et_pb_line_break_holder] -->        max-width: 50%;<!-- [et_pb_line_break_holder] -->        width: 50% !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .recall-form {<!-- [et_pb_line_break_holder] -->        flex-direction: row;<!-- [et_pb_line_break_holder] -->        justify-content: center;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .recall-title {<!-- [et_pb_line_break_holder] -->        font-size: 3.938rem;<!-- [et_pb_line_break_holder] -->        line-height: 4.375rem;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .recall-messages {<!-- [et_pb_line_break_holder] -->        max-width: 50%;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  <\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"recall-container\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"recall-form-content\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"recall-form\"><!-- [et_pb_line_break_holder] --> <input id=\"vinInput\" class=\"recall-input\" maxlength=\"20\" type=\"text\" placeholder=\"N\u00famero VIN, chasis o placa\" \/><!-- [et_pb_line_break_holder] --> <button class=\"recall-button\" onclick=\"searchRecall()\">Buscar<\/button><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee id=\"recall-messages\" class=\"recall-messages\" style=\"<!-- [et_pb_line_break_holder] -->    color: #e02b20 !important;&#8221;><\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --> <script><!-- [et_pb_line_break_holder] -->const config = {<!-- [et_pb_line_break_holder] -->  csvUrl: '\/recall\/recall-yokomotor-2.csv',<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Nombres de cabecera para la columna de pendientes (opcional, solo para el<!-- [et_pb_line_break_holder] -->  \/\/ contador). Se comparan normalizados; la \u00f1 y los espacios se eliminan.<!-- [et_pb_line_break_holder] -->  pendientesHeaders: ['CAMPAASPENDIENTES', 'PENDIENTES'],<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  messages: {<!-- [et_pb_line_break_holder] -->    \/\/ Se usa cuando S\u00cd se pudo identificar el n\u00famero de campa\u00f1as<!-- [et_pb_line_break_holder] -->    foundWithCount: 'Tu veh\u00edculo tiene {{pendientes}} campa\u00f1a(s) de servicio pendiente(s). Por favor cont\u00e1ctanos a trav\u00e9s de nuestros canales de atenci\u00f3n para brindarte informaci\u00f3n.',<!-- [et_pb_line_break_holder] -->    \/\/ Se usa cuando el veh\u00edculo est\u00e1 en la lista pero no hay dato de cantidad<!-- [et_pb_line_break_holder] -->    found: 'Tu veh\u00edculo tiene campa\u00f1as de servicios disponibles. Por favor cont\u00e1ctanos a trav\u00e9s de nuestros canales de atenci\u00f3n para brindarte informaci\u00f3n.',<!-- [et_pb_line_break_holder] -->    notFound: 'Tu veh\u00edculo no tiene llamados a revisi\u00f3n, ni campa\u00f1as de servicios disponibles.',<!-- [et_pb_line_break_holder] -->    empty: 'Ingresa un n\u00famero de VIN, chasis o placa para realizar la b\u00fasqueda.',<!-- [et_pb_line_break_holder] -->    error: 'Hubo un error al cargar la informaci\u00f3n. Intente de nuevo m\u00e1s tarde.',<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->let records = {};<!-- [et_pb_line_break_holder] -->const recallMessageElement = document.getElementById('recall-messages');<!-- [et_pb_line_break_holder] -->const vinInputElement = document.getElementById('vinInput');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Normaliza: may\u00fasculas y solo letras\/n\u00fameros.<!-- [et_pb_line_break_holder] -->\/\/ \"dhk-941\", \"DHK 941\" y \"dhk941\" caen en la misma llave. Igual para VIN.<!-- [et_pb_line_break_holder] -->function normalize(value) {<!-- [et_pb_line_break_holder] -->  return String(value || '').toUpperCase().replace(\/[^A-Z0-9]\/g, '');<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Un VIN real: 17 caracteres alfanum\u00e9ricos CON al menos un d\u00edgito.<!-- [et_pb_line_break_holder] -->\/\/ El d\u00edgito es clave: descarta cabeceras como \"Campa\u00f1as pendientes\" (17 letras).<!-- [et_pb_line_break_holder] -->function isVin(n) {<!-- [et_pb_line_break_holder] -->  return \/^(?=.*[0-9])[A-Z0-9]{17}$\/.test(n);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Una placa: 5 a 8 caracteres con letras Y n\u00fameros mezclados.<!-- [et_pb_line_break_holder] -->\/\/ Descarta columnas de solo texto (Estado, Concesionario) y de solo n\u00fameros (No.).<!-- [et_pb_line_break_holder] -->function isPlaca(n) {<!-- [et_pb_line_break_holder] -->  return n.length >= 5 && n.length <= 8 &#038;&#038; \/[A-Z]\/.test(n) &#038;&#038; \/[0-9]\/.test(n);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Detecta el separador: si hay m\u00e1s ';' que ',' asume Excel en espa\u00f1ol.<!-- [et_pb_line_break_holder] -->function detectDelimiter(text) {<!-- [et_pb_line_break_holder] -->  const sample = text.slice(0, 3000);<!-- [et_pb_line_break_holder] -->  const commas = (sample.match(\/,\/g) || []).length;<!-- [et_pb_line_break_holder] -->  const semis = (sample.match(\/;\/g) || []).length;<!-- [et_pb_line_break_holder] -->  return semis > commas ? ';' : ',';<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Parser CSV que respeta comillas: soporta comas y saltos de l\u00ednea dentro de<!-- [et_pb_line_break_holder] -->\/\/ campos entrecomillados (la cabecera del Excel viene partida en varias l\u00edneas).<!-- [et_pb_line_break_holder] -->function parseCsv(text, delimiter) {<!-- [et_pb_line_break_holder] -->  const rows = [];<!-- [et_pb_line_break_holder] -->  let row = [], field = '', inQuotes = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  for (let i = 0; i < text.length; i++) {<!-- [et_pb_line_break_holder] -->    const ch = text[i];<!-- [et_pb_line_break_holder] -->    if (inQuotes) {<!-- [et_pb_line_break_holder] -->      if (ch === '\"') {<!-- [et_pb_line_break_holder] -->        if (text[i + 1] === '\"') { field += '\"'; i++; } \/\/ comilla escapada \"\"<!-- [et_pb_line_break_holder] -->        else inQuotes = false;<!-- [et_pb_line_break_holder] -->      } else field += ch;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      if (ch === '\"') inQuotes = true;<!-- [et_pb_line_break_holder] -->      else if (ch === delimiter) { row.push(field); field = ''; }<!-- [et_pb_line_break_holder] -->      else if (ch === '\\n') { row.push(field); rows.push(row); row = []; field = ''; }<!-- [et_pb_line_break_holder] -->      else if (ch === '\\r') { \/* ignorar; se maneja con \\n *\/ }<!-- [et_pb_line_break_holder] -->      else field += ch;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  if (field !== '' || row.length) { row.push(field); rows.push(row); }<!-- [et_pb_line_break_holder] -->  return rows;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->fetch(config.csvUrl)<!-- [et_pb_line_break_holder] -->  .then(response => response.text())<!-- [et_pb_line_break_holder] -->  .then(csvDataset => records = processCsv(csvDataset))<!-- [et_pb_line_break_holder] -->  .catch(error => {<!-- [et_pb_line_break_holder] -->    console.error('Error al cargar el archivo CSV:', error);<!-- [et_pb_line_break_holder] -->    recallMessageElement.innerHTML = config.messages.error;<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function processCsv(text) {<!-- [et_pb_line_break_holder] -->  const cleaned = text.replace(\/^\\uFEFF\/, ''); \/\/ elimina BOM si existe<!-- [et_pb_line_break_holder] -->  const rows = parseCsv(cleaned, detectDelimiter(cleaned));<!-- [et_pb_line_break_holder] -->  if (!rows.length) return {};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ \u00bfLa primera fila es cabecera? Una fila de datos SIEMPRE contiene un VIN.<!-- [et_pb_line_break_holder] -->  \/\/ Si la primera fila no tiene ning\u00fan VIN, es cabecera \u2192 de ah\u00ed sacamos<!-- [et_pb_line_break_holder] -->  \/\/ (opcionalmente) la columna de campa\u00f1as pendientes para el contador.<!-- [et_pb_line_break_holder] -->  const firstRowIsData = rows[0].some(cell => isVin(normalize(cell)));<!-- [et_pb_line_break_holder] -->  let pendIdx = -1;<!-- [et_pb_line_break_holder] -->  if (!firstRowIsData) {<!-- [et_pb_line_break_holder] -->    const header = rows[0].map(normalize);<!-- [et_pb_line_break_holder] -->    for (const name of config.pendientesHeaders) {<!-- [et_pb_line_break_holder] -->      const idx = header.indexOf(name);<!-- [et_pb_line_break_holder] -->      if (idx !== -1) { pendIdx = idx; break; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Indexa por FORMA del dato, no por posici\u00f3n ni por nombre de columna.<!-- [et_pb_line_break_holder] -->  \/\/ As\u00ed funciona con o sin cabecera y sin importar el orden de columnas.<!-- [et_pb_line_break_holder] -->  const map = {};<!-- [et_pb_line_break_holder] -->  for (const cols of rows) {<!-- [et_pb_line_break_holder] -->    const record = { pendientes: pendIdx !== -1 ? String(cols[pendIdx] || '').trim() : '' };<!-- [et_pb_line_break_holder] -->    for (const cell of cols) {<!-- [et_pb_line_break_holder] -->      const n = normalize(cell);<!-- [et_pb_line_break_holder] -->      if (isVin(n)) map[n] = record;        \/\/ llave por VIN<!-- [et_pb_line_break_holder] -->      else if (isPlaca(n)) map[n] = record; \/\/ llave por placa<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  return map;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function searchRecall() {<!-- [et_pb_line_break_holder] -->  const raw = vinInputElement.value.trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  if (!raw) {<!-- [et_pb_line_break_holder] -->    recallMessageElement.innerHTML = config.messages.empty;<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  const record = records[normalize(raw)];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  if (!record) {<!-- [et_pb_line_break_holder] -->    recallMessageElement.innerHTML = config.messages.notFound;<!-- [et_pb_line_break_holder] -->    return;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ Muestra el n\u00famero solo si se pudo identificar con seguridad; si no, gen\u00e9rico.<!-- [et_pb_line_break_holder] -->  recallMessageElement.innerHTML = record.pendientes<!-- [et_pb_line_break_holder] -->    ? config.messages.foundWithCount.replace('{{pendientes}}', record.pendientes)<!-- [et_pb_line_break_holder] -->    : config.messages.found;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Permite buscar con Enter, no solo con el bot\u00f3n.<!-- [et_pb_line_break_holder] -->vinInputElement.addEventListener('keydown', function (e) {<!-- [et_pb_line_break_holder] -->  if (e.key === 'Enter') searchRecall();<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->  <\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p><div class=\"breadcrumbs\" typeof=\"BreadcrumbList\" vocab=\"https:\/\/schema.org\/\">\n    <span property=\"itemListElement\" typeof=\"ListItem\"><a property=\"item\" typeof=\"WebPage\" title=\"Ir a Venta de carros | Concesionario Toyota | Yokomotor.\" href=\"https:\/\/yokomotor.com.co\/toyota\" class=\"home\" aria-current=\"page\"><span property=\"name\">Toyota<\/span><\/a><meta property=\"position\" content=\"1\"><\/span><\/div>\nRecall <div class=\"et_pb_module dipl_separator dipl_separator_0\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t<div class=\"dipl_separator_container align_none\">\n\t\t\t\t\t\t\t\t\t<div class=\"dipl_line dipl_line_before\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"dipl_line dipl_line_after\"><\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\u00a1Atenci\u00f3n! No pongas en riesgo tu seguridad.Consulta si tienes una campa\u00f1a de seguridad de tu Toyota ahora. Ingresa un n\u00famero VIN, chasis o placa para realizar la b\u00fasqueda.\u00a0 Buscar<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"class_list":["post-311909","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Recall - Carros Toyota - Yokomotor<\/title>\n<meta name=\"description\" content=\"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yokomotor.com.co\/toyota\/recall\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recall\" \/>\n<meta property=\"og:description\" content=\"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.\" \/>\n<meta property=\"og:site_name\" content=\"Venta de carros | Concesionario Toyota | Yokomotor\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-24T19:12:34+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/yokomotor.com.co\/toyota\/recall\/\",\"url\":\"https:\/\/yokomotor.com.co\/toyota\/recall\/\",\"name\":\"Recall - Carros Toyota - Yokomotor\",\"isPartOf\":{\"@id\":\"https:\/\/yokomotor.com.co\/toyota\/#website\"},\"datePublished\":\"2024-03-05T19:21:03+00:00\",\"dateModified\":\"2026-08-24T19:12:34+00:00\",\"description\":\"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.\",\"breadcrumb\":{\"@id\":\"https:\/\/yokomotor.com.co\/toyota\/recall\/#breadcrumb\"},\"inLanguage\":\"es-CO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/yokomotor.com.co\/toyota\/recall\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/yokomotor.com.co\/toyota\/recall\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\/\/yokomotor.com.co\/toyota\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recall\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/yokomotor.com.co\/toyota\/#website\",\"url\":\"https:\/\/yokomotor.com.co\/toyota\/\",\"name\":\"Venta de carros | Concesionario Toyota | Yokomotor\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/yokomotor.com.co\/toyota\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CO\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recall - Carros Toyota - Yokomotor","description":"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yokomotor.com.co\/toyota\/recall\/","og_locale":"es_ES","og_type":"article","og_title":"Recall","og_description":"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.","og_site_name":"Venta de carros | Concesionario Toyota | Yokomotor","article_modified_time":"2026-08-24T19:12:34+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/yokomotor.com.co\/toyota\/recall\/","url":"https:\/\/yokomotor.com.co\/toyota\/recall\/","name":"Recall - Carros Toyota - Yokomotor","isPartOf":{"@id":"https:\/\/yokomotor.com.co\/toyota\/#website"},"datePublished":"2024-03-05T19:21:03+00:00","dateModified":"2026-08-24T19:12:34+00:00","description":"Consulta aqu\u00ed si tu Toyota aplica para una campa\u00f1a de recall. En Yokomotor te orientamos en el proceso de revisi\u00f3n t\u00e9cnica.","breadcrumb":{"@id":"https:\/\/yokomotor.com.co\/toyota\/recall\/#breadcrumb"},"inLanguage":"es-CO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yokomotor.com.co\/toyota\/recall\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/yokomotor.com.co\/toyota\/recall\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/yokomotor.com.co\/toyota\/"},{"@type":"ListItem","position":2,"name":"Recall"}]},{"@type":"WebSite","@id":"https:\/\/yokomotor.com.co\/toyota\/#website","url":"https:\/\/yokomotor.com.co\/toyota\/","name":"Venta de carros | Concesionario Toyota | Yokomotor","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yokomotor.com.co\/toyota\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CO"}]}},"_links":{"self":[{"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/pages\/311909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/comments?post=311909"}],"version-history":[{"count":16,"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/pages\/311909\/revisions"}],"predecessor-version":[{"id":320501,"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/pages\/311909\/revisions\/320501"}],"wp:attachment":[{"href":"https:\/\/yokomotor.com.co\/toyota\/wp-json\/wp\/v2\/media?parent=311909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}